From 9cdb150341237378f0eab7286aa4385177356f84 Mon Sep 17 00:00:00 2001 From: Alex Stelea Date: Mon, 4 Sep 2023 12:12:49 +0200 Subject: [PATCH] refactor: use rola library --- examples/{rola/crypto => helpers}/blake2b.ts | 0 examples/helpers/hash.ts | 2 +- examples/rola/RolaPage.tsx | 18 +- examples/rola/crypto/curve25519.ts | 3 - examples/rola/crypto/secp256k1.ts | 3 - examples/rola/crypto/secure-random.ts | 9 - examples/rola/gateway.ts | 21 - .../rola/helpers/create-public-key-hash.ts | 12 - .../helpers/create-signature-message.spec.ts | 18 - .../rola/helpers/create-signature-message.ts | 47 - .../derive-address-from-public-key.spec.ts | 44 - .../helpers/derive-address-from-public-key.ts | 68 -- examples/rola/helpers/vectors.ts | 992 ------------------ examples/rola/helpers/verify-proof.ts | 43 - examples/rola/rola.ts | 80 -- package-lock.json | 87 +- package.json | 1 + 17 files changed, 60 insertions(+), 1388 deletions(-) rename examples/{rola/crypto => helpers}/blake2b.ts (100%) delete mode 100644 examples/rola/crypto/curve25519.ts delete mode 100644 examples/rola/crypto/secp256k1.ts delete mode 100644 examples/rola/crypto/secure-random.ts delete mode 100644 examples/rola/gateway.ts delete mode 100644 examples/rola/helpers/create-public-key-hash.ts delete mode 100644 examples/rola/helpers/create-signature-message.spec.ts delete mode 100644 examples/rola/helpers/create-signature-message.ts delete mode 100644 examples/rola/helpers/derive-address-from-public-key.spec.ts delete mode 100644 examples/rola/helpers/derive-address-from-public-key.ts delete mode 100644 examples/rola/helpers/vectors.ts delete mode 100644 examples/rola/helpers/verify-proof.ts delete mode 100644 examples/rola/rola.ts diff --git a/examples/rola/crypto/blake2b.ts b/examples/helpers/blake2b.ts similarity index 100% rename from examples/rola/crypto/blake2b.ts rename to examples/helpers/blake2b.ts diff --git a/examples/helpers/hash.ts b/examples/helpers/hash.ts index 82bc82b9..654cbdc6 100644 --- a/examples/helpers/hash.ts +++ b/examples/helpers/hash.ts @@ -1,6 +1,6 @@ import { Buffer } from 'buffer' import blake from 'blakejs' -import { bufferToUnit8Array } from '../rola/crypto/blake2b' +import { bufferToUnit8Array } from './blake2b' export function hash(input: string): Buffer { return Buffer.from( diff --git a/examples/rola/RolaPage.tsx b/examples/rola/RolaPage.tsx index 70e4b9cc..ca173f13 100644 --- a/examples/rola/RolaPage.tsx +++ b/examples/rola/RolaPage.tsx @@ -1,16 +1,14 @@ -import { Box, Button, Input } from '@mui/joy' +import { Box, Button } from '@mui/joy' import * as React from 'react' import { Card } from '../components/Card' -import { createChallenge } from '../helpers/create-challenge' import { useRdt } from '../rdt/hooks/useRdt' import { useLogger } from '../components/Logger' import { Code } from '../components/Code' import { useDAppDefinitionAddress } from '../rdt/rdt' -import { RolaError, RolaFactory } from './rola' import { useNetworkId } from '../network/state' -import { GatewayService } from './gateway' import { DataRequestBuilder } from '../../src' +import { Rola, RolaError } from '@radixdlt/rola' export const RolaPage = () => { const dAppDefinitionAddress = useDAppDefinitionAddress() @@ -24,8 +22,8 @@ export const RolaPage = () => { const rdt = useRdt() const networkId = useNetworkId() const { Logger, addLog } = useLogger() - const rola = RolaFactory({ - gatewayService: GatewayService(), + const { verifySignedChallenge } = Rola({ + applicationName: 'dApp Sandbox', expectedOrigin: origin, dAppDefinitionAddress, networkId, @@ -54,7 +52,7 @@ export const RolaPage = () => { loading: false, })) - return rola(response.proofs![0]) + return verifySignedChallenge(response.proofs![0]) }) .map(() => { setState((prev) => ({ @@ -63,9 +61,7 @@ export const RolaPage = () => { })) }) .mapErr((error) => { - addLog( - `ROLA error: ${(error as unknown as RolaError).reason}` - ) + addLog(`ROLA error: ${(error as any).reason}`) setState((prev) => ({ ...prev, loading: false, @@ -94,7 +90,7 @@ export const RolaPage = () => { loading: false, })) - return rola(signedChallenge) + return verifySignedChallenge(signedChallenge) }) .map(() => { setState((prev) => ({ diff --git a/examples/rola/crypto/curve25519.ts b/examples/rola/crypto/curve25519.ts deleted file mode 100644 index 6fae341e..00000000 --- a/examples/rola/crypto/curve25519.ts +++ /dev/null @@ -1,3 +0,0 @@ -import ec from 'elliptic' - -export const curve25519 = new ec.eddsa('ed25519') diff --git a/examples/rola/crypto/secp256k1.ts b/examples/rola/crypto/secp256k1.ts deleted file mode 100644 index d7164109..00000000 --- a/examples/rola/crypto/secp256k1.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { ec as Elliptic } from 'elliptic' - -export const secp256k1 = new Elliptic('secp256k1') diff --git a/examples/rola/crypto/secure-random.ts b/examples/rola/crypto/secure-random.ts deleted file mode 100644 index 4c1e7c51..00000000 --- a/examples/rola/crypto/secure-random.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { err, ok, Result } from 'neverthrow' -import crypto from 'node:crypto' - -export const secureRandom = (byteCount: number): Result => { - if (byteCount <= 0) { - return err(new Error(`byteCount out of boundaries`)) - } - return ok(crypto.randomBytes(byteCount)) -} diff --git a/examples/rola/gateway.ts b/examples/rola/gateway.ts deleted file mode 100644 index d4796df9..00000000 --- a/examples/rola/gateway.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { ResultAsync, err } from 'neverthrow' -import { rdt } from '../rdt/rdt' - -export type GatewayService = ReturnType - -export const GatewayService = () => { - const getEntityDetails = (address: string) => - ResultAsync.fromPromise( - rdt.gatewayApi.state.getEntityDetailsVaultAggregated(address), - (e: unknown) => e as Error - ) - - return { - getEntityOwnerKeys: (address: string) => - getEntityDetails(address).map( - (response) => - response?.metadata?.items.find((item) => item.key === 'owner_keys') - ?.value.raw_hex ?? '' - ), - } -} diff --git a/examples/rola/helpers/create-public-key-hash.ts b/examples/rola/helpers/create-public-key-hash.ts deleted file mode 100644 index 4e40db6e..00000000 --- a/examples/rola/helpers/create-public-key-hash.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Buffer } from 'buffer' -import { blake2b } from '../crypto/blake2b' -import { Result } from 'neverthrow' - -type HexEncodedPublicKeyHash = string - -export const createPublicKeyHash = ( - publicKey: string -): Result => - blake2b(Buffer.from(publicKey, 'hex')) - .map((hash) => hash.subarray(-29)) - .map((hash) => Buffer.from(hash).toString('hex')) diff --git a/examples/rola/helpers/create-signature-message.spec.ts b/examples/rola/helpers/create-signature-message.spec.ts deleted file mode 100644 index 6aacdc1c..00000000 --- a/examples/rola/helpers/create-signature-message.spec.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { createSignatureMessage } from './create-signature-message' -import { rolaTestVectors } from './vectors' - -describe('createSignatureMessage', () => { - it('should create a signature message', () => { - rolaTestVectors.forEach((vector) => { - const result = createSignatureMessage({ - dAppDefinitionAddress: vector.dAppDefinitionAddress, - origin: vector.origin, - challenge: vector.challenge, - }) - - if (result.isErr()) throw { ...result.error, vector } - - expect(result.value).toEqual(vector.blakeHashOfPayload) - }) - }) -}) diff --git a/examples/rola/helpers/create-signature-message.ts b/examples/rola/helpers/create-signature-message.ts deleted file mode 100644 index b87d510b..00000000 --- a/examples/rola/helpers/create-signature-message.ts +++ /dev/null @@ -1,47 +0,0 @@ -// { -// "challenge": "NzQ0NjI1YzctYjNjNS00MzJiLTkzNmMtODQxYTY1ODRiYTQ1", -// "dAppDefinitionAddress": "account_rdx123abcsdasdsadasda", -// "origin": "https://www.instabridge.com" -// } -// SPECIFICALLY THE FOLLOWING CONCATENATED RAW BYTES: -// * Y = 82 (R in ASCII for ROLA) -// * 32 raw bytes of the challenge -// * 1 byte - the length of the UTF-8-encoded bech32-encoded dapp-definition address -// * The bytes of the UTF-8-encoded bech32-encoded address -// * The bytes of the origin UTF-8 encoded - -import { Buffer } from 'buffer' -import type { Result } from 'neverthrow' -import { blake2b } from '../crypto/blake2b' - -export const createSignatureMessage = ({ - challenge, - dAppDefinitionAddress, - origin, -}: { - challenge: string - dAppDefinitionAddress: string - origin: string -}): Result => { - const prefix = Buffer.from('R', 'ascii') - const lengthOfDappDefAddress = dAppDefinitionAddress.length - const lengthOfDappDefAddressBuffer = Buffer.from( - lengthOfDappDefAddress.toString(16), - 'hex' - ) - const dappDefAddressBuffer = Buffer.from(dAppDefinitionAddress, 'utf-8') - const originBuffer = Buffer.from(origin, 'utf-8') - const challengeBuffer = Buffer.from(challenge, 'hex') - - const messageBuffer = Buffer.concat([ - prefix, - challengeBuffer, - lengthOfDappDefAddressBuffer, - dappDefAddressBuffer, - originBuffer, - ]) - - return blake2b(messageBuffer) - .map((hash) => Buffer.from(hash).toString('hex')) - .mapErr((jsError) => ({ reason: 'couldNotHashMessage', jsError })) -} diff --git a/examples/rola/helpers/derive-address-from-public-key.spec.ts b/examples/rola/helpers/derive-address-from-public-key.spec.ts deleted file mode 100644 index 8d0eb6a1..00000000 --- a/examples/rola/helpers/derive-address-from-public-key.spec.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { - deriveVirtualEcdsaSecp256k1AccountAddress, - deriveVirtualEddsaEd25519AccountAddress, - deriveVirtualIdentityAddress, -} from './derive-address-from-public-key' -import { RadixNetwork } from '@radixdlt/babylon-gateway-api-sdk' - -describe('deriveAddressFromPublicKey', () => { - it('should derive virtual identity address', async () => { - const output = deriveVirtualIdentityAddress( - '59c02cc1c4cc1eddd90907bb848c44ac1808d844476c1621ecf234cf3ed49c57', - RadixNetwork.Enkinet - ) - - const result = await output.unwrapOr(undefined) - expect(result).toEqual( - 'identity_tdx_21_12t5uwv48e5j7w368r7kjmcrw3wygfh0dtssz0u5n4hkq7qawrwrzyv' - ) - }) - - it('should derive ed25519 virtual account address', async () => { - const output = deriveVirtualEddsaEd25519AccountAddress( - '59c02cc1c4cc1eddd90907bb848c44ac1808d844476c1621ecf234cf3ed49c57', - RadixNetwork.Enkinet - ) - - const result = await output.unwrapOr(undefined) - expect(result).toEqual( - 'account_tdx_21_1285uwv48e5j7w368r7kjmcrw3wygfh0dtssz0u5n4hkq7qawthf4kn' - ) - }) - - it('should derive secp256k1 virtual account address', async () => { - const output = deriveVirtualEcdsaSecp256k1AccountAddress( - '02807797adba8d61024c186f438b7bd9c7e1260b6306d615c35faeef9da052e5e4', - RadixNetwork.Enkinet - ) - - const result = await output.unwrapOr(undefined) - expect(result).toEqual( - 'account_tdx_21_168razfxd603n87nals6us3nnzet2k9tjdk5dlyh2xdjkah3duuyyr3' - ) - }) -}) diff --git a/examples/rola/helpers/derive-address-from-public-key.ts b/examples/rola/helpers/derive-address-from-public-key.ts deleted file mode 100644 index ef0d811f..00000000 --- a/examples/rola/helpers/derive-address-from-public-key.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { PublicKey, RadixEngineToolkit } from '@radixdlt/radix-engine-toolkit' -import { ResultAsync, errAsync } from 'neverthrow' -import { SignedChallenge } from '../../../src' - -export const deriveVirtualIdentityAddress = ( - publicKey: string, - networkId: number -) => - ResultAsync.fromPromise( - RadixEngineToolkit.Derive.virtualIdentityAddressFromPublicKey( - new PublicKey.Ed25519(publicKey), - networkId - ), - (error: any): Error => error - ) - -export const deriveVirtualEddsaEd25519AccountAddress = ( - publicKey: string, - networkId: number -) => - ResultAsync.fromPromise( - RadixEngineToolkit.Derive.virtualAccountAddressFromPublicKey( - new PublicKey.Ed25519(publicKey), - networkId - ), - (error: any): Error => error - ) - -export const deriveVirtualEcdsaSecp256k1AccountAddress = ( - publicKey: string, - networkId: number -) => - ResultAsync.fromPromise( - RadixEngineToolkit.Derive.virtualAccountAddressFromPublicKey( - new PublicKey.Secp256k1(publicKey), - networkId - ), - (error: any): Error => error - ) - -export const deriveVirtualAddress = ( - signedChallenge: SignedChallenge, - networkId: number -) => { - if (signedChallenge.type === 'persona') - return deriveVirtualIdentityAddress( - signedChallenge.proof.publicKey, - networkId - ) - else if ( - signedChallenge.type === 'account' && - signedChallenge.proof.curve === 'curve25519' - ) - return deriveVirtualEddsaEd25519AccountAddress( - signedChallenge.proof.publicKey, - networkId - ) - else if ( - signedChallenge.type === 'account' && - signedChallenge.proof.curve === 'secp256k1' - ) - return deriveVirtualEcdsaSecp256k1AccountAddress( - signedChallenge.proof.publicKey, - networkId - ) - - return errAsync(new Error('Could not derive virtual address')) -} diff --git a/examples/rola/helpers/vectors.ts b/examples/rola/helpers/vectors.ts deleted file mode 100644 index 448f02b2..00000000 --- a/examples/rola/helpers/vectors.ts +++ /dev/null @@ -1,992 +0,0 @@ -export const rolaTestVectors = [ - { - payloadToHash: - '5217f3cb369f2632454f7f22c24e72b0adf7b95e36f2297467d3ff04010b2967e1416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '36f177f7fd2d2e0318255376a27c618c570240da2a4b38fa49ec5022ef9142d1', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://dashboard.rdx.works', - challenge: - '17f3cb369f2632454f7f22c24e72b0adf7b95e36f2297467d3ff04010b2967e1', - }, - { - payloadToHash: - '5237b7300c583e963118f12efc80eda923216223931c038d332724178cc94040a1416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '8214573ea2fbf8bbd54ed20a43808bc7e492cb199b4707028dd25d8a15f808fa', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://dashboard.rdx.works', - challenge: - '37b7300c583e963118f12efc80eda923216223931c038d332724178cc94040a1', - }, - { - payloadToHash: - '52a015a5435262f2431cca5726afedf8ac26249ccf702a9c041771f08a98160d37416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '2bb0ee453accae9a2e05adf9b63d5684510a8bee63de6269ff68e888bf118f7f', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://dashboard.rdx.works', - challenge: - 'a015a5435262f2431cca5726afedf8ac26249ccf702a9c041771f08a98160d37', - }, - { - payloadToHash: - '52576dfb9cf4949bdb299ec1c2fc1402026dd7e187d3764b0b1f20fdbb77a972e1416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '5b1beadf53a32aa76de40970f0ba16abc8d11f1571ecb2ce14e40c0b43c78d3a', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://dashboard.rdx.works', - challenge: - '576dfb9cf4949bdb299ec1c2fc1402026dd7e187d3764b0b1f20fdbb77a972e1', - }, - { - payloadToHash: - '52eda8df9dee6a4747b490ec06849a8b93e3d15e27a5ad1bd110af5d82ce02436a416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - 'f861330cab0c397a08cd90bdca77a75ea69dfda57930bb61e0468b0022c531ec', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://dashboard.rdx.works', - challenge: - 'eda8df9dee6a4747b490ec06849a8b93e3d15e27a5ad1bd110af5d82ce02436a', - }, - { - payloadToHash: - '5253b0f594191207aace4b0d96250216ae7ca1d4e61228f1ef609c08d3a454ce90416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '2ce080a318b6340c925d9e5a50d37e6f96d7f5186271ef1e9fa911beab4c1766', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://dashboard.rdx.works', - challenge: - '53b0f594191207aace4b0d96250216ae7ca1d4e61228f1ef609c08d3a454ce90', - }, - { - payloadToHash: - '52549ef0d2231603b0bb58a1da9482bf1086a551b3ce74502d8a6ee7f639ce4ef8416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '3c31847940de63a4afcac577b1f8acdb3d90a91d59d72168e4b5522dc5c541aa', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://dashboard.rdx.works', - challenge: - '549ef0d2231603b0bb58a1da9482bf1086a551b3ce74502d8a6ee7f639ce4ef8', - }, - { - payloadToHash: - '527aeb92d87c025470e0c25b87426221b8e259346bc12d18d93e9ae454044484ae416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - 'cf4efa7091e151b6317706e40de23ef1e03673a82b52c2030540bb2c9e9b4940', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://dashboard.rdx.works', - challenge: - '7aeb92d87c025470e0c25b87426221b8e259346bc12d18d93e9ae454044484ae', - }, - { - payloadToHash: - '52721253c07003ef0d92c0b01472d0e3a0bacbd44cc8a9f95f97ca16cfc0f14a9f416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '541e91923e96fe06356a5f635026d762bbfc2b639676395564fe4411cc7e0bc8', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://dashboard.rdx.works', - challenge: - '721253c07003ef0d92c0b01472d0e3a0bacbd44cc8a9f95f97ca16cfc0f14a9f', - }, - { - payloadToHash: - '52ec5dcb3d1f75627be1021cb8890f0e8ce0c9fe7f2ff55cbdff096b38a32612c9416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - 'dc47fc69e9e45855addf579f398da0309c878092dd95352b9fe187a7e5a529e2', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://dashboard.rdx.works', - challenge: - 'ec5dcb3d1f75627be1021cb8890f0e8ce0c9fe7f2ff55cbdff096b38a32612c9', - }, - { - payloadToHash: - '52734437a1fe900d95a73c937d7c4be39a306e1490149848b287264ca622c743fb416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - 'eba397c8365b57fc3f4e5c98a4e4168c5ae2242dec1c43e377c8e7302b7b46c0', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://dashboard.rdx.works', - challenge: - '734437a1fe900d95a73c937d7c4be39a306e1490149848b287264ca622c743fb', - }, - { - payloadToHash: - '52100e0f4b7b8dba6da01f80eb9666a57e016223fd3271c85a0f55acb6f3e5a722416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '279f0e355da4aab2f5c1d3293b8534f1bc08bc7d5dd663567d2dda17d6a4bf13', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://dashboard.rdx.works', - challenge: - '100e0f4b7b8dba6da01f80eb9666a57e016223fd3271c85a0f55acb6f3e5a722', - }, - { - payloadToHash: - '52e83b6b8b36fe24a713de5f8ce51c1efcb2e6bb396c33f06d9b61671d78ff02b9416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '5e0f7f46a9f2c1a951f8382405aba698257d693c5ca462ce348256e7e4d35de3', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://dashboard.rdx.works', - challenge: - 'e83b6b8b36fe24a713de5f8ce51c1efcb2e6bb396c33f06d9b61671d78ff02b9', - }, - { - payloadToHash: - '529640e7aace384d8274cc8ffe83ffced164f3c72bac8c20df718611235b5c7dc9416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - 'b171a3fd4eb68c8d8e9d679478346b915e41f3219f276916e3f186473d8a07b8', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://dashboard.rdx.works', - challenge: - '9640e7aace384d8274cc8ffe83ffced164f3c72bac8c20df718611235b5c7dc9', - }, - { - payloadToHash: - '52ce85a5813069f7e391809bd58496881c91663033b2da33d59e982589e46309ec416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '3c8645edd89f024d3c38e6d809804b6d71b96d977324e376dcedcdbbb0e32fa6', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://dashboard.rdx.works', - challenge: - 'ce85a5813069f7e391809bd58496881c91663033b2da33d59e982589e46309ec', - }, - { - payloadToHash: - '52279691b716926baf49a6997950b783bd7be340d6d3d34e28353ed877ac711a6f416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '3e9ab4773adf8475febf7442d61c92f963bbf46caf3496aa8feb4380dea6e3f6', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://dashboard.rdx.works', - challenge: - '279691b716926baf49a6997950b783bd7be340d6d3d34e28353ed877ac711a6f', - }, - { - payloadToHash: - '52daf06ef4fc56486d8771227d5587ed3c37cb37d9b96acae6642f10fc628da8a0416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '623442410b1e20e7bfc05c970d149e3df2879c602a4201032405563df5ceb29b', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://dashboard.rdx.works', - challenge: - 'daf06ef4fc56486d8771227d5587ed3c37cb37d9b96acae6642f10fc628da8a0', - }, - { - payloadToHash: - '528c4dcab505c339e029883dd91d8b103f57a64b6286b537678d5713c656e2b0f8416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '263e1a35725dfe65671274f52948e9b64a49c117f9dafdf55d03e02aa2cc11f4', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://dashboard.rdx.works', - challenge: - '8c4dcab505c339e029883dd91d8b103f57a64b6286b537678d5713c656e2b0f8', - }, - { - payloadToHash: - '5255507554647ccd504aec7b262608bcf54342d0783c7a90d40b49d83277523fc0416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '873df7951ccadb4e4ceb9798dc7f63d4ced29c8879dd99aef8ea4745b32c2a4d', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://dashboard.rdx.works', - challenge: - '55507554647ccd504aec7b262608bcf54342d0783c7a90d40b49d83277523fc0', - }, - { - payloadToHash: - '52d7fb740b9ff00657d710dcbeddb2d432e697fc0dd39c60feb7858b17ef0eff58416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '866836f5b9c827ca38fd2bfef94f95ba21933f75a0291c85d3ecfc18b8aa5b2d', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://dashboard.rdx.works', - challenge: - 'd7fb740b9ff00657d710dcbeddb2d432e697fc0dd39c60feb7858b17ef0eff58', - }, - { - payloadToHash: - '529002d52ee0c59f2dc7d9fda2b2a8ef4fcb24d6f0ac13aa4b0ee15da61a222082416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '34b0c93e0da584aef2c5dadb638b0d7df150d63530a4e7f48989af4225ad059b', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://dashboard.rdx.works', - challenge: - '9002d52ee0c59f2dc7d9fda2b2a8ef4fcb24d6f0ac13aa4b0ee15da61a222082', - }, - { - payloadToHash: - '52c8b612de4dd1cca5f8205d2d7d729954f32d5e790cda156212dd0fa775ce9d90416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - 'b826acb834a22ac312b32edc4a16dfd578f03da65c6532b5686fea6fe1b585a2', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://dashboard.rdx.works', - challenge: - 'c8b612de4dd1cca5f8205d2d7d729954f32d5e790cda156212dd0fa775ce9d90', - }, - { - payloadToHash: - '52c9fe61de53803e232ad375fa8c5d910239cd0449b78144add96cf1b92e4b6337416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '835d820a371d1da0572dbffd6fa698b56723f59eda8ef0eccd376546ab320ddc', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://dashboard.rdx.works', - challenge: - 'c9fe61de53803e232ad375fa8c5d910239cd0449b78144add96cf1b92e4b6337', - }, - { - payloadToHash: - '52bc823ad8e0396e4f0b90961abd0ca26a107c974b2732464fd3447b1f160d0782416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - 'ff5189321c8def7fc6d0bbee5a0d0cd2e1792b19807899960ced1101b98b571a', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://dashboard.rdx.works', - challenge: - 'bc823ad8e0396e4f0b90961abd0ca26a107c974b2732464fd3447b1f160d0782', - }, - { - payloadToHash: - '52256846d59b3c3b2bc34f9a21dc5df45e67059843f90b2a1e781aacdb52a6ae2c416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - 'd815edb09507a45dbcf944b6c044b2733c9222d35f0a29fb92b9d8bdd2603c87', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://dashboard.rdx.works', - challenge: - '256846d59b3c3b2bc34f9a21dc5df45e67059843f90b2a1e781aacdb52a6ae2c', - }, - { - payloadToHash: - '52546a45467621a24d49cce1a6294ec6ca59a6b807b6acd82667df6ead4d582d7b416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '4fbeb303a8f4044399d10b128554a1d0b64634361b08e11b98b398885c7554fb', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://dashboard.rdx.works', - challenge: - '546a45467621a24d49cce1a6294ec6ca59a6b807b6acd82667df6ead4d582d7b', - }, - { - payloadToHash: - '52b99d25fcc5981a2c82752d494630351bdb197b24fda150f2daeb05a09eda214c416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - 'bce5486683c6a239d4a9f11fb651bb123f2ee67c90896b41bcab61deff3e0fe8', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://dashboard.rdx.works', - challenge: - 'b99d25fcc5981a2c82752d494630351bdb197b24fda150f2daeb05a09eda214c', - }, - { - payloadToHash: - '524e6d5b1c00b508ba1ba5c7a4537de1075a056630b66f89c3d89425dba2347e42416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '0b4c742c5dfbf6a253652ee12b34a2bd98504a2e1fa02b22f63dd145dc7aaa21', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://dashboard.rdx.works', - challenge: - '4e6d5b1c00b508ba1ba5c7a4537de1075a056630b66f89c3d89425dba2347e42', - }, - { - payloadToHash: - '52da30918252ee2233781e8fe8992374c4209ca3f3c68b074e8d25472d00c7f397416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '564cf1dfb0ff9adc7ec55f7ee72481b2228da1abb67c74b45929fba0a989205e', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://dashboard.rdx.works', - challenge: - 'da30918252ee2233781e8fe8992374c4209ca3f3c68b074e8d25472d00c7f397', - }, - { - payloadToHash: - '524aaa2ec25c3fe215412b3f005e4c37d518af3a22b4728587cf6dbcf83341e8b3416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f64617368626f6172642e7264782e776f726b73', - blakeHashOfPayload: - '0f41aa92e8c978d7f920ca56daf123a0a0d975eea06ecfb57bec0a0560fb73e3', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://dashboard.rdx.works', - challenge: - '4aaa2ec25c3fe215412b3f005e4c37d518af3a22b4728587cf6dbcf83341e8b3', - }, - { - payloadToHash: - '5275800c580ea870480b61728fc377e1bcf661f5c1dce9e560833fb2a9af640161416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - '5f8c35720bb2af3cc8185353c020cf649481d9f403bff076392415e4d09275ea', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://stella.swap', - challenge: - '75800c580ea870480b61728fc377e1bcf661f5c1dce9e560833fb2a9af640161', - }, - { - payloadToHash: - '52412593f1c558715ca009226381bed5de229eed7124429a9419899ed40c441415416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - 'ef5034269fb7cb9582246c69abc906fda8168091bc401ccc33d0348f9148a9ec', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://stella.swap', - challenge: - '412593f1c558715ca009226381bed5de229eed7124429a9419899ed40c441415', - }, - { - payloadToHash: - '52cb4c6f8a16d4c6035487cdcd118a2d6805a560443f8c910dbe91a6ff0f0c00d8416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - '4fee868502259c190c1bb56b0ae6f39f3e06e829f6346d0937524290080e6d0d', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://stella.swap', - challenge: - 'cb4c6f8a16d4c6035487cdcd118a2d6805a560443f8c910dbe91a6ff0f0c00d8', - }, - { - payloadToHash: - '52fe133faa758347941724c7f3a329a06e8405c582800223c3192a7f2d15964123416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - '3b48c9779aaab8c6c5fe0115defe344e3002919bf5a8574b80612142e5b6c7ab', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://stella.swap', - challenge: - 'fe133faa758347941724c7f3a329a06e8405c582800223c3192a7f2d15964123', - }, - { - payloadToHash: - '52fb62c45b70be8c5b48e3da401b0636af2830acd83c30a142817de68a5ad277c7416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - '9cb5ac891057891929cd4cf5c5490b0e74fd9cb239d6c4da7ef64c2a722ee04a', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://stella.swap', - challenge: - 'fb62c45b70be8c5b48e3da401b0636af2830acd83c30a142817de68a5ad277c7', - }, - { - payloadToHash: - '5259aa96163adc1d67e961ee652d552028673da478aa72d4b25628797390f0c30a416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - 'e84eb03b50e0cb088a536777fe077b39ba7df175277cade89a4cfb9fb47902b1', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://stella.swap', - challenge: - '59aa96163adc1d67e961ee652d552028673da478aa72d4b25628797390f0c30a', - }, - { - payloadToHash: - '522bd1de4ca5ab21bf912412c19da66a44d52572fa84dd1ccd61a041d241f73e26416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - 'd67eefd073ef912eb4772f3e88014a844dd0f4ba41711cb0a9cdd336e9c97eac', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://stella.swap', - challenge: - '2bd1de4ca5ab21bf912412c19da66a44d52572fa84dd1ccd61a041d241f73e26', - }, - { - payloadToHash: - '527714ffebc820e7e21c958a95d3f1c42e9a11c46a9928e918667db152b0e92dfd416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - 'b1cd118f2a4bd8b1c93a6d039a3cf6186de3b03831580a365688f9abc8106104', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://stella.swap', - challenge: - '7714ffebc820e7e21c958a95d3f1c42e9a11c46a9928e918667db152b0e92dfd', - }, - { - payloadToHash: - '52652e2ddeb3a9d6fd6faec6b43611683ad6a90475e702dc93ac7b26b493719244416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - '9e5a4a05672fdf11fd96ee420f91068e383dbc2e9adf672fc6f734a6b9700b46', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://stella.swap', - challenge: - '652e2ddeb3a9d6fd6faec6b43611683ad6a90475e702dc93ac7b26b493719244', - }, - { - payloadToHash: - '52a10fad201666b4bcf7f707841d58b11740c290e03790b17ed0fec23b3f180e65416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - '9c8d2622cedb9dc4e53daea398dd178a2ec938d402eeaba41a2ac946b0f4dd57', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://stella.swap', - challenge: - 'a10fad201666b4bcf7f707841d58b11740c290e03790b17ed0fec23b3f180e65', - }, - { - payloadToHash: - '52231e1c9be95a914162221c3eaf52a674242e7922e0020a554b80f772792e9edc416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - '0c7a1aa3f568f91f40b79a10d53ecf35b3993dd649832ce5db5d710beefdb9e6', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://stella.swap', - challenge: - '231e1c9be95a914162221c3eaf52a674242e7922e0020a554b80f772792e9edc', - }, - { - payloadToHash: - '52954b237e92a6a5ab0baf9d139d1c65bf00e63363bbfbb107a3841714391d4ecf416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - 'cf45daaf3c7f78a74074acba446a901f611b52a7280e0b2ebc9db19343c114d5', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://stella.swap', - challenge: - '954b237e92a6a5ab0baf9d139d1c65bf00e63363bbfbb107a3841714391d4ecf', - }, - { - payloadToHash: - '52a0c9f3bf148c85203d2489436d66e1ce497ff0469ff6bc72997e5185279a33a5416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - 'e4defd6fe078ee7e0ef911cd93969af93a1f5b43e67c2a27192c558e9ca59356', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://stella.swap', - challenge: - 'a0c9f3bf148c85203d2489436d66e1ce497ff0469ff6bc72997e5185279a33a5', - }, - { - payloadToHash: - '5211966bd56cb16b72c67bc7d2ec167951d67f87670f686c2eff58cbccb67dc405416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - 'cfc2e20c52a4c7b5739aa1faa182aadedeea0e458eb4763ad9602821e509b540', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://stella.swap', - challenge: - '11966bd56cb16b72c67bc7d2ec167951d67f87670f686c2eff58cbccb67dc405', - }, - { - payloadToHash: - '522596d7afc6e5975e16804293facef830c17b08cc2cff5a6812297debd865d003416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - '0e3fc1f58b3d7d66d0c90a52cfd3e4844a57ed347abad614e032e45d00e02a6f', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://stella.swap', - challenge: - '2596d7afc6e5975e16804293facef830c17b08cc2cff5a6812297debd865d003', - }, - { - payloadToHash: - '52304c6bae5c78f9ec55012c7bedb342d9eec145f34b66392df6654bd9bff03d83416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - '2b48bb5068ece0140abf54f58b6b197778c46f68d06bc69e9f69da7bf4fb671a', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://stella.swap', - challenge: - '304c6bae5c78f9ec55012c7bedb342d9eec145f34b66392df6654bd9bff03d83', - }, - { - payloadToHash: - '52cf02ba2830d4b286ea7cba2343213ad26bea5555c663de179879c431c6b9734d416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - '9efaa8d4313777cc9af351528ad580be5a08c7886d8dfa36ffb0c8645a36df99', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://stella.swap', - challenge: - 'cf02ba2830d4b286ea7cba2343213ad26bea5555c663de179879c431c6b9734d', - }, - { - payloadToHash: - '52bce429efded3cb37e916bac43a3ccb21c1be5ade97709c69785ba45952e34d21416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - '2f7300716be9b7c925279d671aa410b1209603b4f57c5effed06a4fb504b7074', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://stella.swap', - challenge: - 'bce429efded3cb37e916bac43a3ccb21c1be5ade97709c69785ba45952e34d21', - }, - { - payloadToHash: - '52da78d83d7d41aac75fa18eb54252a36926cfa4862818b207fd5722a8f1707243416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - 'e77456617429519572d91968d4967bf230a8e32a5fac5939f3e54563344d39e2', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://stella.swap', - challenge: - 'da78d83d7d41aac75fa18eb54252a36926cfa4862818b207fd5722a8f1707243', - }, - { - payloadToHash: - '52718b0eb060a719492011910258a4b4119d8c95aef34eb9519c9fa7de25f7ac43416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - '2c07a4fc72341ae9160a8f9ddf2d0bb8fd9d795ed0d87059a9e5de8321513871', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://stella.swap', - challenge: - '718b0eb060a719492011910258a4b4119d8c95aef34eb9519c9fa7de25f7ac43', - }, - { - payloadToHash: - '525ed2a0ef6cc83e5b0763b3a65da16faf9eb6e8f7fcc7bef7c4785bf79f4e07c1416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - '1908a3808eadcd0d7ce738a16740d496f39e3784f0c1c216fbfdcd904094a66e', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://stella.swap', - challenge: - '5ed2a0ef6cc83e5b0763b3a65da16faf9eb6e8f7fcc7bef7c4785bf79f4e07c1', - }, - { - payloadToHash: - '52b9d77c98d7bb876d4f179f23537a824c8c1f6dc7eb3f0d38731e79c1873982c3416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - '10aa69ef58870be1e252493825a654934dff97c24ea30eca013a11522f6ff43a', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://stella.swap', - challenge: - 'b9d77c98d7bb876d4f179f23537a824c8c1f6dc7eb3f0d38731e79c1873982c3', - }, - { - payloadToHash: - '52251fad9df0c0aee813666db14e76ed99d2761c0880fa5490a0039e553056d118416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - '70e36c24af3aafa42379c3dc44a478c344c6a5b4f2a39d691147c03ddcd27b4a', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://stella.swap', - challenge: - '251fad9df0c0aee813666db14e76ed99d2761c0880fa5490a0039e553056d118', - }, - { - payloadToHash: - '52a5a0bd6c9471c462c6ffe70abc3d052ee5a80eb648416e8239e88e356d90eeb0416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - 'f48df9a5638b6bb7a26a43983fbd068e0748d610978d535ab2fad2cb7f1780f6', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://stella.swap', - challenge: - 'a5a0bd6c9471c462c6ffe70abc3d052ee5a80eb648416e8239e88e356d90eeb0', - }, - { - payloadToHash: - '5297cf6f4e62d1801e775ee36d3fcba5a3b1499ad91468107136a8aafb17baed39416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - '6a80a5b0a1490b0f00acc92ebd00f95a3dffeeb27e127fa104a3665688db6b51', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://stella.swap', - challenge: - '97cf6f4e62d1801e775ee36d3fcba5a3b1499ad91468107136a8aafb17baed39', - }, - { - payloadToHash: - '52685dda6453ed3263ccbb307c9467d0f98a8f18dd0fda37a0475ac9a47bed3be9416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - '6a1a8ab5f9d69e6e1fdb7331fe5eddad3c847884fbd30717e61bad229f8be1c4', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://stella.swap', - challenge: - '685dda6453ed3263ccbb307c9467d0f98a8f18dd0fda37a0475ac9a47bed3be9', - }, - { - payloadToHash: - '522277346c0fb011fb33b111a07b697d48c98fa35bfad5f9f063e7ce4627ba943f416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - '5b83b941922570e3e2fa67b1183d4a2e8fb63e5dbfaafc6da833c1f1e92c8f16', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://stella.swap', - challenge: - '2277346c0fb011fb33b111a07b697d48c98fa35bfad5f9f063e7ce4627ba943f', - }, - { - payloadToHash: - '520086f932f939a14759753ced40f45cd0101341f8612b51bafd3692c91777a54b416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - 'db8e63902accb4e6f9465e637758126b0d76997a8a29eea993e450d5da6dff60', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://stella.swap', - challenge: - '0086f932f939a14759753ced40f45cd0101341f8612b51bafd3692c91777a54b', - }, - { - payloadToHash: - '529bfbf59e71b41eed841732618a24b33907bf79f871c751978557f23567360921416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - 'a55ab2f9e95f87f2920f5aa37e6fbe42d9aa32671635bbd6a82c7bfdb450e774', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://stella.swap', - challenge: - '9bfbf59e71b41eed841732618a24b33907bf79f871c751978557f23567360921', - }, - { - payloadToHash: - '529a4f834aefdc455cb4601337227e1b7e74d60308327564ececf33456509964cd416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f7374656c6c612e73776170', - blakeHashOfPayload: - '306b2407e8b675bb22b630efa938249595433975276862e9bfa07f7f94ca84a8', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://stella.swap', - challenge: - '9a4f834aefdc455cb4601337227e1b7e74d60308327564ececf33456509964cd', - }, - { - payloadToHash: - '5244928b503ec3df91aacd39a9439563c2ad86af19ffa0f8b11a41c6376fa5f1b4416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - 'd8e7c42fc24fd2df272d1264b34bf6e792e773b163a5ed8b2086f076de7e487b', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://rola.xrd', - challenge: - '44928b503ec3df91aacd39a9439563c2ad86af19ffa0f8b11a41c6376fa5f1b4', - }, - { - payloadToHash: - '52627cbe65a0e69787c81e426d0cf2d8160df3b10e36744cd106d033b09b69eb54416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - '5e54d05d2706eeb1991ff3dc4613a0da717fc3713b172900b7597035600e8453', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://rola.xrd', - challenge: - '627cbe65a0e69787c81e426d0cf2d8160df3b10e36744cd106d033b09b69eb54', - }, - { - payloadToHash: - '523581aea035195fb55472172a0dfb49da85d55e3a0db68587b814807dce7049ea416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - '6ab1c193d95cf423154a743657e5341c57c45491260dd926beb5f6b23965545c', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://rola.xrd', - challenge: - '3581aea035195fb55472172a0dfb49da85d55e3a0db68587b814807dce7049ea', - }, - { - payloadToHash: - '522cb201ffe1c14e08b83fb08ab99eeb0d6d6912ef716acfd7681e597fe7c98a54416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - '5815e5309e57d8b88f1b0d6f81c867b9cbc28f2e853891a9d014b409a592778c', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://rola.xrd', - challenge: - '2cb201ffe1c14e08b83fb08ab99eeb0d6d6912ef716acfd7681e597fe7c98a54', - }, - { - payloadToHash: - '52d27e43ced50394cff53e8815ec632f7c1f7f8f5efd923ad7558d263cfe2066d1416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - 'd203fe140d62995befdfe5123213aed83886171668b2fa55d8fe4d54919288e3', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://rola.xrd', - challenge: - 'd27e43ced50394cff53e8815ec632f7c1f7f8f5efd923ad7558d263cfe2066d1', - }, - { - payloadToHash: - '5230eb2b49998b7dbfb64bd8524bfd8ca73fdbe5b8419d3e9430769cff08f73203416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - 'be4045a481a640d62cc09431b151119c8fd5dc218e462e9d26c6e2d10b1c613f', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://rola.xrd', - challenge: - '30eb2b49998b7dbfb64bd8524bfd8ca73fdbe5b8419d3e9430769cff08f73203', - }, - { - payloadToHash: - '527a7aad9fa65a2dbfccc9e44561b302572f260f65c73c6d1c5c87a8a8bdf6275c416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - 'a65b915496258a1a2d78cdda979830dc7359df8a62b8b419ee90e8babd1d15c5', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://rola.xrd', - challenge: - '7a7aad9fa65a2dbfccc9e44561b302572f260f65c73c6d1c5c87a8a8bdf6275c', - }, - { - payloadToHash: - '52d81619c7e5ab2298c419ea7eda9c89db0db3f1d84713c495c3ec93d811d945b4416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - '0f7b06cca4ce45dbf543bfc5973a8cab41b4b091e15c1f025e6674ce0218098c', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://rola.xrd', - challenge: - 'd81619c7e5ab2298c419ea7eda9c89db0db3f1d84713c495c3ec93d811d945b4', - }, - { - payloadToHash: - '5267524c29ad63ce51e4807ce154db895b1c0509d67725747b021b826c24be775a416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - '84d4856f3b8148648a462282e8d619c56aee73007bd6726bfc5df5410cac0f89', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://rola.xrd', - challenge: - '67524c29ad63ce51e4807ce154db895b1c0509d67725747b021b826c24be775a', - }, - { - payloadToHash: - '5200dca15875839ab1f549445a36c7b5c0dcf7aebfa7d48f945f2aa5cf4aa1a9a3416163636f756e745f7464785f625f317039646b6765643372707a79383630616d7074356a706d767633796c34793666357970707034746e736364736c767439763368747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - 'a14942b1dc361c7e153e4d4200f902da1dafa2bd54bc4c0387c779c22a1e454e', - dAppDefinitionAddress: - 'account_tdx_b_1p9dkged3rpzy860ampt5jpmvv3yl4y6f5yppp4tnscdslvt9v3', - origin: 'https://rola.xrd', - challenge: - '00dca15875839ab1f549445a36c7b5c0dcf7aebfa7d48f945f2aa5cf4aa1a9a3', - }, - { - payloadToHash: - '52f8e21638f1c1ecd622fcd2354bbbdcfd06c093f7682995c933915f5adefbed37416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - '780bd563acccac173a5510d36e184f5afe9ad6a776d1c2415f4a891a7c0c2b5c', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://rola.xrd', - challenge: - 'f8e21638f1c1ecd622fcd2354bbbdcfd06c093f7682995c933915f5adefbed37', - }, - { - payloadToHash: - '52d957ec97d74f3ef81c7c450aae7ae7a094b62bf68ab48cbde1c1d5d6882e2f36416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - '7e7596815de7fa5b0c86543625a2f8a201d1a2b8355292e4a5750de7c4cfe7c2', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://rola.xrd', - challenge: - 'd957ec97d74f3ef81c7c450aae7ae7a094b62bf68ab48cbde1c1d5d6882e2f36', - }, - { - payloadToHash: - '52aced965f5ff005bc7fcac7a4db026cb1c3b2dcf3499c2099ca2423a27d39dbd2416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - '43fc0442f5402fc18ae0f981ae5dde4aa26c8613aef04516a4af0c4783187bb5', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://rola.xrd', - challenge: - 'aced965f5ff005bc7fcac7a4db026cb1c3b2dcf3499c2099ca2423a27d39dbd2', - }, - { - payloadToHash: - '52cef66932a002c0e949cbbd4f7774e2d3082ea3ffc40d76f65537e15b97e840e1416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - 'd1fece19d5b9066aa78119402dd8f4f9ea84601328a7f05f492feea6a98d92bf', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://rola.xrd', - challenge: - 'cef66932a002c0e949cbbd4f7774e2d3082ea3ffc40d76f65537e15b97e840e1', - }, - { - payloadToHash: - '52b6ce0722f3943831e3cf04afed287e574bc0c5786662e4f9bc701f429a3f3a4c416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - '4cad16bf2088da5a23a19c38982745128ffb68c9b7473bc43fbbdad72f88498f', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://rola.xrd', - challenge: - 'b6ce0722f3943831e3cf04afed287e574bc0c5786662e4f9bc701f429a3f3a4c', - }, - { - payloadToHash: - '521e7a54fc94e53ba7d019ecbb2957a06fd47d088c69def20e0e439e4ae0429f28416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - 'bb2baab66f8f9d6127d79bf888f3f633cc03a015d9d7e5aed26641264313de4a', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://rola.xrd', - challenge: - '1e7a54fc94e53ba7d019ecbb2957a06fd47d088c69def20e0e439e4ae0429f28', - }, - { - payloadToHash: - '52aa7a87ec65d9d0f387572c1642498f8d0d9b38d5a4df5f87aad27f102a4d0d92416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - '162907c4c16063705f0b704d349fb454c2068512964c7955780a0375cb960152', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://rola.xrd', - challenge: - 'aa7a87ec65d9d0f387572c1642498f8d0d9b38d5a4df5f87aad27f102a4d0d92', - }, - { - payloadToHash: - '5252b8151a401f0176ebeca25593d23f6dcecc76c98829734e9c2381270f95bab4416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - 'ce94ee8acf43c3a668fbead3b37ae13f11491159071670dfb595e737ca82be2f', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://rola.xrd', - challenge: - '52b8151a401f0176ebeca25593d23f6dcecc76c98829734e9c2381270f95bab4', - }, - { - payloadToHash: - '52140100298edb9cadd80423c1e15e2521d44f51be8b6a7953c9f03d83a8220071416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - '3ef5c000c2535601f4a96a336b0bc52c217624c32bb1d4194eca25569929d56d', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://rola.xrd', - challenge: - '140100298edb9cadd80423c1e15e2521d44f51be8b6a7953c9f03d83a8220071', - }, - { - payloadToHash: - '520a510b2362c9ce19d11c538b2f6a15f62caab6528071eaad5ba8a563a02e01cb416163636f756e745f7464785f625f3170386168656e797a6e7271793277307479673030723832727775787973367a386b6d726868333763376d617170796478377068747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - '6a13329619caafdf4351d1c8b85b7f523ce2955873f003402be6e1e45cdce4ae', - dAppDefinitionAddress: - 'account_tdx_b_1p8ahenyznrqy2w0tyg00r82rwuxys6z8kmrhh37c7maqpydx7p', - origin: 'https://rola.xrd', - challenge: - '0a510b2362c9ce19d11c538b2f6a15f62caab6528071eaad5ba8a563a02e01cb', - }, - { - payloadToHash: - '5230c6300639a90f15f5f34290c0dbdc3b07bc36ba9f793ff55f36885860a32138416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - 'a0997bf77ecfe12f2262fdd5b50257f2a1231004ddd0fdea3b9fe2a0d7574afc', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://rola.xrd', - challenge: - '30c6300639a90f15f5f34290c0dbdc3b07bc36ba9f793ff55f36885860a32138', - }, - { - payloadToHash: - '5219cd952215ef89fd393b50460ddee05fd48d0b8543bc008670bd415f66ce945b416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - '6a0d7f13c86b8eec3236aa1d7ab269a9905fd8b77c2e3c1db4dfc81bef1dd16a', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://rola.xrd', - challenge: - '19cd952215ef89fd393b50460ddee05fd48d0b8543bc008670bd415f66ce945b', - }, - { - payloadToHash: - '523a826316cf8a0ac49b72baea22973d7ef5923854735c9e5d2297c2f9277c1d61416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - '61a22c8f917cb13dade646a1065cdc514f9b664cdcecb8dba951e7978d7b2687', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://rola.xrd', - challenge: - '3a826316cf8a0ac49b72baea22973d7ef5923854735c9e5d2297c2f9277c1d61', - }, - { - payloadToHash: - '52f2d555e74fb1d9ded5ce512307bb570f1add46239754ef770cb9e4c1fb7f222d416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - '6f3a7e19f74021c33fb0cb208e82b99a57c23dd9f983b92612fcba4dfc1d0fa9', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://rola.xrd', - challenge: - 'f2d555e74fb1d9ded5ce512307bb570f1add46239754ef770cb9e4c1fb7f222d', - }, - { - payloadToHash: - '520347e29e7c1a5daadbd52a7c29ab367cbc3eb394b06ec8489c26333c7a8947fe416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - '725c50ab1fcf3d2a3e4fdd7fa164e3a93bd4dd822686ae36ad839daab665a517', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://rola.xrd', - challenge: - '0347e29e7c1a5daadbd52a7c29ab367cbc3eb394b06ec8489c26333c7a8947fe', - }, - { - payloadToHash: - '52acd2d6cb47f9175e3c71d41dd9cd639740cd501a63911ef740bdc408377ab4e8416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - '94e8eaac996d142f57e81c943f30b93d4816c4fd9199c8c3dfdce5eca4cd2ec8', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://rola.xrd', - challenge: - 'acd2d6cb47f9175e3c71d41dd9cd639740cd501a63911ef740bdc408377ab4e8', - }, - { - payloadToHash: - '525599f54941f26cb1c228d4a0087e28406bd27302ecdc623c63dbf50007619ff1416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - 'f1c11d45f6981c905b97b5de905c40a9fcb849b5f17fbed1ec8ddfd3a98f619d', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://rola.xrd', - challenge: - '5599f54941f26cb1c228d4a0087e28406bd27302ecdc623c63dbf50007619ff1', - }, - { - payloadToHash: - '52b0407e154ebfc958cf0e532381f75fde65e36c79935c7eba9e063520f5a90c27416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - '74fc45f6f01726132c96b09dbcaa24b93a75055c374672bc93025801b133663e', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://rola.xrd', - challenge: - 'b0407e154ebfc958cf0e532381f75fde65e36c79935c7eba9e063520f5a90c27', - }, - { - payloadToHash: - '526e6ab02769d14cd0be62267919c1f8a7a671029c41ade1f4d88336e8438e78db416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - '2c215a0de5e2ed3008097bf354b67a95adad9a2b7d9e8410f94c4ba9850c8b0f', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://rola.xrd', - challenge: - '6e6ab02769d14cd0be62267919c1f8a7a671029c41ade1f4d88336e8438e78db', - }, - { - payloadToHash: - '5220619c1df905a28e7a76d431f2b59e99dd1a8f386842e1701862e765806a5c47416163636f756e745f7464785f625f317039356e616c306e6d7271796c357234706863737067386168776e616d6164757a6464336b616b6c7733767165617672776168747470733a2f2f726f6c612e787264', - blakeHashOfPayload: - 'f9ec8f328d9aeec55546d1cd78a13cc7967bd52aba3c8e305ed39f82465f395c', - dAppDefinitionAddress: - 'account_tdx_b_1p95nal0nmrqyl5r4phcspg8ahwnamaduzdd3kaklw3vqeavrwa', - origin: 'https://rola.xrd', - challenge: - '20619c1df905a28e7a76d431f2b59e99dd1a8f386842e1701862e765806a5c47', - }, -] diff --git a/examples/rola/helpers/verify-proof.ts b/examples/rola/helpers/verify-proof.ts deleted file mode 100644 index d87086da..00000000 --- a/examples/rola/helpers/verify-proof.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { Result, err, ok } from 'neverthrow' -import { curve25519 } from '../crypto/curve25519' -import { secp256k1 } from '../crypto/secp256k1' -import { ec, BNInput, SignatureInput } from 'elliptic' -import { SignedChallenge } from '../../../src' -import { Buffer } from 'buffer' - -const supportedCurves = new Set(['curve25519', 'secp256k1']) - -export const verifyProofFactory = - (input: SignedChallenge) => - ( - signatureMessageHex: string - ): Result => { - const isSupportedCurve = supportedCurves.has(input.proof.curve) - if (!isSupportedCurve) return err({ reason: 'unsupportedCurve' }) - - try { - let isValid = false - - if (input.proof.curve === 'curve25519') { - const publicKey = curve25519.keyFromPublic( - input.proof.publicKey, - // @ts-ignore: incorrect type definition in EC lib - 'hex' - ) - - isValid = publicKey.verify(signatureMessageHex, input.proof.signature) - } else { - const signature = Buffer.from(input.proof.signature, 'hex') - .toJSON() - .data.slice(1) - const r = signature.slice(0, 32) - const s = signature.slice(32, 64) - isValid = secp256k1 - .keyFromPublic(input.proof.publicKey, 'hex') - .verify(signatureMessageHex, { r, s }) - } - return isValid ? ok(undefined) : err({ reason: 'invalidSignature' }) - } catch (error: any) { - return err({ reason: 'invalidPublicKey', jsError: error }) - } - } diff --git a/examples/rola/rola.ts b/examples/rola/rola.ts deleted file mode 100644 index a313874f..00000000 --- a/examples/rola/rola.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { ResultAsync, err, errAsync, ok } from 'neverthrow' -import { createSignatureMessage } from './helpers/create-signature-message' -import { verifyProofFactory } from './helpers/verify-proof' -import { deriveVirtualAddress } from './helpers/derive-address-from-public-key' -import { GatewayService } from './gateway' -import { createPublicKeyHash } from './helpers/create-public-key-hash' -import { SignedChallenge } from '../../src' - -export type RolaError = { reason: string; jsError?: Error } - -export type VerifyOwnerKeyOnLedgerFn = ( - address: string, - publicKeyHex: string -) => ResultAsync - -export const RolaFactory = - ({ - gatewayService, - expectedOrigin, - dAppDefinitionAddress, - networkId, - }: { - gatewayService: GatewayService - expectedOrigin: string - dAppDefinitionAddress: string - networkId: number - }) => - (signedChallenge: SignedChallenge): ResultAsync => { - const result = createPublicKeyHash(signedChallenge.proof.publicKey) - - if (result.isErr()) return errAsync({ reason: 'couldNotHashPublicKey' }) - - const hashedPublicKey = result.value - - const verifyProof = verifyProofFactory(signedChallenge) - - const getDerivedAddress = () => - deriveVirtualAddress(signedChallenge, networkId) - .map((value) => value) - .mapErr((jsError) => ({ - reason: 'couldNotDeriveAddressFromPublicKey', - jsError, - })) - - const queryLedger = () => - gatewayService - .getEntityOwnerKeys(signedChallenge.address) - .mapErr(() => ({ reason: 'couldNotVerifyPublicKeyOnLedger' })) - .map((ownerKeys) => ({ - ownerKeysMatchesProvidedPublicKey: ownerKeys - .toUpperCase() - .includes(hashedPublicKey.toUpperCase()), - ownerKeysSet: !!ownerKeys, - })) - - const deriveAddressFromPublicKeyAndQueryLedger = () => - ResultAsync.combine([getDerivedAddress(), queryLedger()]) - - return createSignatureMessage({ - dAppDefinitionAddress, - origin: expectedOrigin, - challenge: signedChallenge.challenge, - }) - .andThen(verifyProof) - .asyncAndThen(deriveAddressFromPublicKeyAndQueryLedger) - .andThen( - ([ - derivedAddress, - { ownerKeysMatchesProvidedPublicKey, ownerKeysSet }, - ]) => { - const derivedAddressMatchesPublicKey = - !ownerKeysSet && derivedAddress === signedChallenge.address - - return ownerKeysMatchesProvidedPublicKey || - derivedAddressMatchesPublicKey - ? ok(undefined) - : err({ reason: 'invalidPublicKey' }) - } - ) - } diff --git a/package-lock.json b/package-lock.json index 81b1ade6..ac22d8f0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "dependencies": { "@radixdlt/babylon-gateway-api-sdk": "1.0.0-rc.3.2", "@radixdlt/connect-button": "0.13.4", + "@radixdlt/rola": "^0.1.0-rcnet-v3.4", "@radixdlt/wallet-sdk": "0.10.1-alpha.1", "immer": "^10.0.2", "lodash.isequal": "^4.5.0", @@ -3253,7 +3254,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/@noble/ed25519/-/ed25519-2.0.0.tgz", "integrity": "sha512-/extjhkwFupyopDrt80OMWKdLgP429qLZj+z6sYJz90rF2Iz0gjZh2ArMKPImUl13Kx+0EXI2hN9T/KJV0/Zng==", - "dev": true, "funding": [ { "type": "individual", @@ -3265,7 +3265,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.0.tgz", "integrity": "sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg==", - "dev": true, "funding": [ { "type": "individual", @@ -3298,6 +3297,24 @@ "node": ">=16.0.0" } }, + "node_modules/@radixdlt/radix-dapp-toolkit": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@radixdlt/radix-dapp-toolkit/-/radix-dapp-toolkit-0.6.1.tgz", + "integrity": "sha512-rVU71RYbF8ZkBMWtzN2Gr1PrcdSdAjxGUBeDBq/hB2aAo9hvOjURbvoQWTylEJznOQfINQM9IWVHNSfAUuCZ6g==", + "dependencies": { + "@radixdlt/babylon-gateway-api-sdk": "1.0.0-rc.3.2", + "@radixdlt/connect-button": "0.13.4", + "@radixdlt/wallet-sdk": "0.10.1-alpha.1", + "immer": "^10.0.2", + "lodash.isequal": "^4.5.0", + "neverthrow": "^6.0.0", + "rxjs": "^7.8.1", + "zod": "^3.21.4" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@radixdlt/radix-engine-toolkit": { "version": "0.3.0-rcnetv3.5", "resolved": "https://registry.npmjs.org/@radixdlt/radix-engine-toolkit/-/radix-engine-toolkit-0.3.0-rcnetv3.5.tgz", @@ -3315,6 +3332,36 @@ "secp256k1": "5.0.0" } }, + "node_modules/@radixdlt/rola": { + "version": "0.1.0-rcnet-v3.4", + "resolved": "https://registry.npmjs.org/@radixdlt/rola/-/rola-0.1.0-rcnet-v3.4.tgz", + "integrity": "sha512-o88Btox0+JOzAb9z2ayUhozg/G1cclocQ72Cgvz+rxSsh2h7Si3fQWpqdXh1niwQpgC0YwiYcjgL2syO5fz/aQ==", + "dependencies": { + "@radixdlt/radix-dapp-toolkit": "0.6.1", + "@radixdlt/radix-engine-toolkit": "0.3.0", + "elliptic": "^6.5.4", + "neverthrow": "^6.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@radixdlt/rola/node_modules/@radixdlt/radix-engine-toolkit": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@radixdlt/radix-engine-toolkit/-/radix-engine-toolkit-0.3.0.tgz", + "integrity": "sha512-bODSTuAICMW2MT2R6IcUvacIek8AHBfYh4bABFQliP+FXsjRk+3MNQbGACuEGLuU9jfWrandZUXADgKPs6Wniw==", + "dependencies": { + "@noble/ed25519": "2.0.0", + "@noble/hashes": "1.3.0", + "@types/secp256k1": "4.0.3", + "@types/secure-random": "1.1.0", + "blakejs": "1.2.1", + "change-case": "4.1.2", + "decimal.js": "10.4.3", + "reflect-metadata": "0.1.13", + "secp256k1": "5.0.0" + } + }, "node_modules/@radixdlt/wallet-sdk": { "version": "0.10.1-alpha.1", "resolved": "https://registry.npmjs.org/@radixdlt/wallet-sdk/-/wallet-sdk-0.10.1-alpha.1.tgz", @@ -3645,7 +3692,6 @@ }, "node_modules/@types/node": { "version": "18.11.18", - "dev": true, "license": "MIT" }, "node_modules/@types/normalize-package-data": { @@ -3720,7 +3766,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "dev": true, "dependencies": { "@types/node": "*" } @@ -3729,7 +3774,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@types/secure-random/-/secure-random-1.1.0.tgz", "integrity": "sha512-FVkD9qNAeuc1m53VQfWhuUdn9IWjv6griflGfLcSoF3ZexyNv1ciPlZLyrucWYcdhNjKERgDb45IJwb8a/ZKDQ==", - "dev": true, "dependencies": { "@types/node": "*" } @@ -4190,12 +4234,10 @@ }, "node_modules/blakejs": { "version": "1.2.1", - "dev": true, "license": "MIT" }, "node_modules/bn.js": { "version": "4.12.0", - "dev": true, "license": "MIT" }, "node_modules/brace-expansion": { @@ -4220,7 +4262,6 @@ }, "node_modules/brorand": { "version": "1.1.0", - "dev": true, "license": "MIT" }, "node_modules/browserslist": { @@ -4309,7 +4350,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dev": true, "dependencies": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" @@ -4369,7 +4409,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz", "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==", - "dev": true, "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3", @@ -4395,7 +4434,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz", "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==", - "dev": true, "dependencies": { "camel-case": "^4.1.2", "capital-case": "^1.0.4", @@ -4554,7 +4592,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz", "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==", - "dev": true, "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3", @@ -4742,7 +4779,6 @@ }, "node_modules/decimal.js": { "version": "10.4.3", - "dev": true, "license": "MIT" }, "node_modules/dedent": { @@ -4819,7 +4855,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dev": true, "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -4843,7 +4878,6 @@ }, "node_modules/elliptic": { "version": "6.5.4", - "dev": true, "license": "MIT", "dependencies": { "bn.js": "^4.11.9", @@ -5279,7 +5313,6 @@ }, "node_modules/hash.js": { "version": "1.1.7", - "dev": true, "license": "MIT", "dependencies": { "inherits": "^2.0.3", @@ -5315,7 +5348,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz", "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==", - "dev": true, "dependencies": { "capital-case": "^1.0.4", "tslib": "^2.0.3" @@ -5331,7 +5363,6 @@ }, "node_modules/hmac-drbg": { "version": "1.0.1", - "dev": true, "license": "MIT", "dependencies": { "hash.js": "^1.0.3", @@ -5533,7 +5564,6 @@ }, "node_modules/inherits": { "version": "2.0.4", - "dev": true, "license": "ISC" }, "node_modules/ini": { @@ -6619,7 +6649,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, "dependencies": { "tslib": "^2.0.3" } @@ -6780,12 +6809,10 @@ }, "node_modules/minimalistic-assert": { "version": "1.0.1", - "dev": true, "license": "ISC" }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", - "dev": true, "license": "MIT" }, "node_modules/minimatch": { @@ -6856,7 +6883,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" @@ -6865,14 +6891,12 @@ "node_modules/node-addon-api": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", - "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==", - "dev": true + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==" }, "node_modules/node-gyp-build": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", - "dev": true, "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -7039,7 +7063,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dev": true, "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" @@ -7105,7 +7128,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dev": true, "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -7115,7 +7137,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz", "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==", - "dev": true, "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" @@ -7530,8 +7551,7 @@ "node_modules/reflect-metadata": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", - "dev": true + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" }, "node_modules/refractor": { "version": "3.6.0", @@ -7779,7 +7799,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-5.0.0.tgz", "integrity": "sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA==", - "dev": true, "hasInstallScript": true, "dependencies": { "elliptic": "^6.5.4", @@ -7803,7 +7822,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz", "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==", - "dev": true, "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3", @@ -7851,7 +7869,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", - "dev": true, "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" @@ -8412,7 +8429,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==", - "dev": true, "dependencies": { "tslib": "^2.0.3" } @@ -8421,7 +8437,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", - "dev": true, "dependencies": { "tslib": "^2.0.3" } diff --git a/package.json b/package.json index 1204c281..569d5296 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,7 @@ "dependencies": { "@radixdlt/babylon-gateway-api-sdk": "1.0.0-rc.3.2", "@radixdlt/connect-button": "0.13.4", + "@radixdlt/rola": "^0.1.0-rcnet-v3.4", "@radixdlt/wallet-sdk": "0.10.1-alpha.1", "immer": "^10.0.2", "lodash.isequal": "^4.5.0",