diff --git a/.gitignore b/.gitignore
index 02538cf..e45477b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,4 +25,5 @@ dist-ssr
/test-results/
/playwright-report/
/playwright/.cache/
-.eslintcache
\ No newline at end of file
+.eslintcache
+coverage
\ No newline at end of file
diff --git a/examples/typescript-full-stack/apps/client/index.html b/examples/typescript-full-stack/apps/client/index.html
index d6cce51..a1a5a58 100644
--- a/examples/typescript-full-stack/apps/client/index.html
+++ b/examples/typescript-full-stack/apps/client/index.html
@@ -2,7 +2,6 @@
-
Radix + TS
diff --git a/examples/typescript-full-stack/apps/client/package.json b/examples/typescript-full-stack/apps/client/package.json
index e1d9d3a..c3b241a 100644
--- a/examples/typescript-full-stack/apps/client/package.json
+++ b/examples/typescript-full-stack/apps/client/package.json
@@ -13,6 +13,6 @@
"vite": "^4.4.0"
},
"dependencies": {
- "@radixdlt/radix-dapp-toolkit": "1.1.1"
+ "@radixdlt/radix-dapp-toolkit": "^2.0.0"
}
}
diff --git a/examples/typescript-full-stack/apps/client/src/main.ts b/examples/typescript-full-stack/apps/client/src/main.ts
index 7803c91..ba71a99 100644
--- a/examples/typescript-full-stack/apps/client/src/main.ts
+++ b/examples/typescript-full-stack/apps/client/src/main.ts
@@ -5,7 +5,7 @@ import {
DataRequestBuilder,
RadixDappToolkit,
RadixNetwork,
- createLogger,
+ Logger,
} from '@radixdlt/radix-dapp-toolkit'
document.querySelector('#app')!.innerHTML = `
@@ -29,7 +29,7 @@ const radixDappToolkit = RadixDappToolkit({
dAppDefinitionAddress:
'account_tdx_2_12yf9gd53yfep7a669fv2t3wm7nz9zeezwd04n02a433ker8vza6rhe',
networkId: RadixNetwork.Stokenet,
- logger: createLogger(1),
+ logger: Logger(1),
})
// Clear the dApp state for example purposes
diff --git a/examples/typescript-full-stack/apps/server/package.json b/examples/typescript-full-stack/apps/server/package.json
index f12169f..e94895d 100644
--- a/examples/typescript-full-stack/apps/server/package.json
+++ b/examples/typescript-full-stack/apps/server/package.json
@@ -9,7 +9,7 @@
},
"license": "MIT",
"dependencies": {
- "@radixdlt/rola": "1.0.0",
+ "@radixdlt/rola": "^2.0.0",
"@types/cors": "^2.8.13",
"@types/elliptic": "^6.4.14",
"@types/express": "^4.17.17",
diff --git a/examples/typescript-full-stack/package-lock.json b/examples/typescript-full-stack/package-lock.json
index 8ffb76d..7ab8e32 100644
--- a/examples/typescript-full-stack/package-lock.json
+++ b/examples/typescript-full-stack/package-lock.json
@@ -17,36 +17,18 @@
"apps/client": {
"version": "0.0.0",
"dependencies": {
- "@radixdlt/radix-dapp-toolkit": "1.1.1"
+ "@radixdlt/radix-dapp-toolkit": "^2.0.0"
},
"devDependencies": {
"typescript": "^5.0.2",
"vite": "^4.4.0"
}
},
- "apps/client/node_modules/@radixdlt/radix-dapp-toolkit": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@radixdlt/radix-dapp-toolkit/-/radix-dapp-toolkit-1.1.1.tgz",
- "integrity": "sha512-plr8y3mqboernvMj2+FAzpaYvKGJ+gka2fLYksi0FkmJwO2bi6k5S5r69UW73ul2OMjJik18XLgBj1BOD0BicA==",
- "dependencies": {
- "@radixdlt/babylon-gateway-api-sdk": "1.0.1",
- "@radixdlt/connect-button": "1.0.0",
- "@radixdlt/wallet-sdk": "1.0.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"
- }
- },
"apps/server": {
"version": "0.0.0",
"license": "MIT",
"dependencies": {
- "@radixdlt/rola": "1.0.0",
+ "@radixdlt/rola": "^2.0.0",
"@types/cors": "^2.8.13",
"@types/elliptic": "^6.4.14",
"@types/express": "^4.17.17",
@@ -463,16 +445,22 @@
}
},
"node_modules/@lit-labs/ssr-dom-shim": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz",
- "integrity": "sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ=="
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.2.1.tgz",
+ "integrity": "sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ=="
},
- "node_modules/@lit/reactive-element": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz",
- "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==",
+ "node_modules/@noble/curves": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.6.0.tgz",
+ "integrity": "sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==",
"dependencies": {
- "@lit-labs/ssr-dom-shim": "^1.0.0"
+ "@noble/hashes": "1.5.0"
+ },
+ "engines": {
+ "node": "^14.21.3 || >=16"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
}
},
"node_modules/@noble/ed25519": {
@@ -487,6 +475,88 @@
]
},
"node_modules/@noble/hashes": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.5.0.tgz",
+ "integrity": "sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==",
+ "engines": {
+ "node": "^14.21.3 || >=16"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
+ "node_modules/@radixdlt/babylon-gateway-api-sdk": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/@radixdlt/babylon-gateway-api-sdk/-/babylon-gateway-api-sdk-1.7.3.tgz",
+ "integrity": "sha512-wmdWX0AWCRSfKf6C3euiksJx9fpiGDN/8Hvmnw7PrHAY82k+CLaewWOL9P8pVD/s0mVXmReuOk9s3wJ5i+Nrxw=="
+ },
+ "node_modules/@radixdlt/radix-dapp-toolkit": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@radixdlt/radix-dapp-toolkit/-/radix-dapp-toolkit-2.1.1.tgz",
+ "integrity": "sha512-HgKio/tDY31/E/t+eF/4B1xPiOdQRhxgR+sZ4nKmFPQPEgTfkckrvaIgkYnI4NfZfuQC/Nb+ODSimKIWSzkNHw==",
+ "dependencies": {
+ "@noble/curves": "^1.4.0",
+ "base64url": "^3.0.1",
+ "blakejs": "^1.2.1",
+ "bowser": "^2.11.0",
+ "buffer": "^6.0.3",
+ "immer": "^10.0.4",
+ "lit": "^3.1.2",
+ "lit-html": "^3.1.2",
+ "neverthrow": "^6.1.0",
+ "rxjs": "^7.8.1",
+ "tslog": ">=4.8.0",
+ "uuid": "^10.0.0",
+ "valibot": "0.30.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@radixdlt/radix-dapp-toolkit/node_modules/@lit/reactive-element": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.0.4.tgz",
+ "integrity": "sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==",
+ "dependencies": {
+ "@lit-labs/ssr-dom-shim": "^1.2.0"
+ }
+ },
+ "node_modules/@radixdlt/radix-dapp-toolkit/node_modules/lit": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/lit/-/lit-3.2.1.tgz",
+ "integrity": "sha512-1BBa1E/z0O9ye5fZprPtdqnc0BFzxIxTTOO/tQFmyC/hj1O3jL4TfmLBw0WEwjAokdLwpclkvGgDJwTIh0/22w==",
+ "dependencies": {
+ "@lit/reactive-element": "^2.0.4",
+ "lit-element": "^4.1.0",
+ "lit-html": "^3.2.0"
+ }
+ },
+ "node_modules/@radixdlt/radix-dapp-toolkit/node_modules/lit-element": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.1.1.tgz",
+ "integrity": "sha512-HO9Tkkh34QkTeUmEdNYhMT8hzLid7YlMlATSi1q4q17HE5d9mrrEHJ/o8O2D0cMi182zK1F3v7x0PWFjrhXFew==",
+ "dependencies": {
+ "@lit-labs/ssr-dom-shim": "^1.2.0",
+ "@lit/reactive-element": "^2.0.4",
+ "lit-html": "^3.2.0"
+ }
+ },
+ "node_modules/@radixdlt/rola": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@radixdlt/rola/-/rola-2.0.1.tgz",
+ "integrity": "sha512-kKb8rOUZnesktMKiwIqu4ErNhDEjZRyj0rJTaoA6BPyRkIiyTNm1hN/JpQPoK2K6ZBIChYdbbuvMlwo79C5I9g==",
+ "dependencies": {
+ "@noble/curves": "^1.4.0",
+ "@radixdlt/babylon-gateway-api-sdk": "^1.4.1",
+ "@radixdlt/radix-engine-toolkit": "^1.0.5",
+ "blakejs": "^1.2.1",
+ "neverthrow": "^6.1.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@radixdlt/rola/node_modules/@noble/hashes": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.0.tgz",
"integrity": "sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg==",
@@ -497,26 +567,10 @@
}
]
},
- "node_modules/@radixdlt/babylon-gateway-api-sdk": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@radixdlt/babylon-gateway-api-sdk/-/babylon-gateway-api-sdk-1.0.1.tgz",
- "integrity": "sha512-WLfw+NuoFC04SgGKpGvkrFp67BdzCbKwklFmNjTqX9l/A0dUN820Xggf1BZ8jRUDUJI20V+fAsTTvT7ltYMJIQ=="
- },
- "node_modules/@radixdlt/connect-button": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@radixdlt/connect-button/-/connect-button-1.0.0.tgz",
- "integrity": "sha512-MLgKibN8dyMW2GUu89EWyJrwyMUragXKNzpzluc4PnXWBd3foNnj0RHFU1o3/PkJkfgUPxdUcIZ54JTwtQAtyQ==",
- "dependencies": {
- "lit": "^2.7.5"
- },
- "engines": {
- "node": ">=16.0.0"
- }
- },
- "node_modules/@radixdlt/radix-engine-toolkit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@radixdlt/radix-engine-toolkit/-/radix-engine-toolkit-1.0.0.tgz",
- "integrity": "sha512-gen7ZA4EalKOJMG58pW+wMgx7CvnUaO/1tHJ7Q7TwdbGJKpWZnQ9SZjwsxIY7horywYJBOf2c5bzyUV57Xpj2w==",
+ "node_modules/@radixdlt/rola/node_modules/@radixdlt/radix-engine-toolkit": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@radixdlt/radix-engine-toolkit/-/radix-engine-toolkit-1.0.5.tgz",
+ "integrity": "sha512-hAAuyfvWJl1nr34NIx51ycrzGHRCbITYpqMrDOzLMuPzalKfRKFdv42FWLo+ssm0sfVcl5ngltVjF4JC7kOoPw==",
"dependencies": {
"@noble/ed25519": "2.0.0",
"@noble/hashes": "1.3.0",
@@ -529,34 +583,6 @@
"secp256k1": "5.0.0"
}
},
- "node_modules/@radixdlt/rola": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@radixdlt/rola/-/rola-1.0.0.tgz",
- "integrity": "sha512-HWiIt8YzkSk5nrjgqBRCHf/PYVKrXOB4F/2IyM00C2d6gtVuGys2c3LzJ5rHk6NryO6pxWrvyewoUubuYajKwg==",
- "dependencies": {
- "@radixdlt/babylon-gateway-api-sdk": "1.0.1",
- "@radixdlt/radix-engine-toolkit": "1.0.0",
- "elliptic": "^6.5.4",
- "neverthrow": "^6.0.0"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/@radixdlt/wallet-sdk": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@radixdlt/wallet-sdk/-/wallet-sdk-1.0.1.tgz",
- "integrity": "sha512-g6TY1kUihJrECKBKs+dbTFrfzUU3bj1H2ySeaiHRNs/40eRH2Vw6heyb8DRHSkfhTzhPxXBzQxQdk908RgktUA==",
- "dependencies": {
- "neverthrow": "^6.0.0",
- "rxjs": "^7.8.1",
- "tslog": "^4.8.2",
- "zod": "^3.21.4"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
"node_modules/@swc/core": {
"version": "1.3.70",
"resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.70.tgz",
@@ -899,9 +925,9 @@
}
},
"node_modules/@types/trusted-types": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.4.tgz",
- "integrity": "sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ=="
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
+ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw=="
},
"node_modules/abbrev": {
"version": "1.1.1",
@@ -972,6 +998,33 @@
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/base64url": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz",
+ "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
"node_modules/binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -987,9 +1040,9 @@
"integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ=="
},
"node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
+ "version": "4.12.1",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz",
+ "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg=="
},
"node_modules/body-parser": {
"version": "1.20.1",
@@ -1014,6 +1067,11 @@
"npm": "1.2.8000 || >= 1.4.16"
}
},
+ "node_modules/bowser": {
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz",
+ "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA=="
+ },
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -1041,6 +1099,29 @@
"resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
"integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w=="
},
+ "node_modules/buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
"node_modules/bytes": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
@@ -1250,9 +1331,9 @@
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
},
"node_modules/elliptic": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
- "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz",
+ "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==",
"dependencies": {
"bn.js": "^4.11.9",
"brorand": "^1.1.0",
@@ -1548,6 +1629,25 @@
"node": ">=0.10.0"
}
},
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
"node_modules/ignore-by-default": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
@@ -1555,9 +1655,9 @@
"dev": true
},
"node_modules/immer": {
- "version": "10.0.2",
- "resolved": "https://registry.npmjs.org/immer/-/immer-10.0.2.tgz",
- "integrity": "sha512-Rx3CqeqQ19sxUtYV9CU911Vhy8/721wRFnJv3REVGWUmoAcIwzifTsdmJte/MV+0/XpM35LZdQMBGkRIoLPwQA==",
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/immer/-/immer-10.1.1.tgz",
+ "integrity": "sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/immer"
@@ -1618,39 +1718,14 @@
"node": ">=0.12.0"
}
},
- "node_modules/lit": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz",
- "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==",
- "dependencies": {
- "@lit/reactive-element": "^1.6.0",
- "lit-element": "^3.3.0",
- "lit-html": "^2.8.0"
- }
- },
- "node_modules/lit-element": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz",
- "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==",
- "dependencies": {
- "@lit-labs/ssr-dom-shim": "^1.1.0",
- "@lit/reactive-element": "^1.3.0",
- "lit-html": "^2.8.0"
- }
- },
"node_modules/lit-html": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz",
- "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.2.1.tgz",
+ "integrity": "sha512-qI/3lziaPMSKsrwlxH/xMgikhQ0EGOX2ICU73Bi/YHFvz2j/yMCIrw4+puF2IpQ4+upd3EWbvnHM9+PnJn48YA==",
"dependencies": {
"@types/trusted-types": "^2.0.2"
}
},
- "node_modules/lodash.isequal": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
- "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ=="
- },
"node_modules/lower-case": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
@@ -1782,9 +1857,9 @@
}
},
"node_modules/neverthrow": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/neverthrow/-/neverthrow-6.0.0.tgz",
- "integrity": "sha512-kPZKRs4VkdloCGQXPoP84q4sT/1Z+lYM61AXyV8wWa2hnuo5KpPBF2S3crSFnMrOgUISmEBP8Vo/ngGZX60NhA=="
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/neverthrow/-/neverthrow-6.2.2.tgz",
+ "integrity": "sha512-POR1FACqdK9jH0S2kRPzaZEvzT11wsOxLW520PQV/+vKi9dQe+hXq19EiOvYx7lSRaF5VB9lYGsPInynrnN05w=="
},
"node_modules/no-case": {
"version": "3.0.4",
@@ -1801,9 +1876,9 @@
"integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA=="
},
"node_modules/node-gyp-build": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz",
- "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==",
+ "version": "4.8.4",
+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz",
+ "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==",
"bin": {
"node-gyp-build": "bin.js",
"node-gyp-build-optional": "optional.js",
@@ -2512,12 +2587,29 @@
"node": ">= 0.4.0"
}
},
+ "node_modules/uuid": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz",
+ "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
"node_modules/v8-compile-cache-lib": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
"integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
"dev": true
},
+ "node_modules/valibot": {
+ "version": "0.30.0",
+ "resolved": "https://registry.npmjs.org/valibot/-/valibot-0.30.0.tgz",
+ "integrity": "sha512-5POBdbSkM+3nvJ6ZlyQHsggisfRtyT4tVTo1EIIShs6qCdXJnyWU5TJ68vr8iTg5zpOLjXLRiBqNx+9zwZz/rA=="
+ },
"node_modules/vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
@@ -2595,36 +2687,6 @@
"engines": {
"node": ">=6"
}
- },
- "node_modules/zod": {
- "version": "3.21.4",
- "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz",
- "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==",
- "funding": {
- "url": "https://github.com/sponsors/colinhacks"
- }
- },
- "server": {
- "version": "0.0.0",
- "extraneous": true,
- "license": "MIT",
- "dependencies": {
- "@radixdlt/radix-dapp-toolkit": "^0.3.0-rcnet-v2.7",
- "@radixdlt/radix-engine-toolkit": "0.2.1",
- "@types/cors": "^2.8.13",
- "@types/elliptic": "^6.4.14",
- "@types/express": "^4.17.17",
- "cors": "^2.8.5",
- "express": "^4.18.2",
- "neverthrow": "^6.0.0"
- },
- "devDependencies": {
- "@swc/core": "^1.3.70",
- "@types/node": "^18.12.0",
- "nodemon": "^3.0.1",
- "ts-node": "^10.9.1",
- "typescript": "^5.1.6"
- }
}
}
}
diff --git a/typescript/package-lock.json b/typescript/package-lock.json
index ccc2a0a..abb2217 100644
--- a/typescript/package-lock.json
+++ b/typescript/package-lock.json
@@ -13,7 +13,7 @@
"@radixdlt/babylon-gateway-api-sdk": "^1.4.1",
"@radixdlt/radix-engine-toolkit": "^1.0.5",
"blakejs": "^1.2.1",
- "neverthrow": "^6.1.0"
+ "neverthrow": "^6 || ^7 || ^8"
},
"devDependencies": {
"@babel/preset-env": "^7.22.14",
diff --git a/typescript/package.json b/typescript/package.json
index 1f3aadb..96ba635 100644
--- a/typescript/package.json
+++ b/typescript/package.json
@@ -54,7 +54,7 @@
"preview": "vite preview",
"pre-push": "npm run build && npm run lint && npm run prettier && npm run test",
"prepare": "cd .. && npx husky install",
- "test": "jest --passWithNoTests",
+ "test": "jest --passWithNoTests --collectCoverage",
"test:watch": "jest --watch",
"semantic-release": "semantic-release"
},
@@ -88,7 +88,7 @@
"@radixdlt/babylon-gateway-api-sdk": "^1.4.1",
"@radixdlt/radix-engine-toolkit": "^1.0.5",
"blakejs": "^1.2.1",
- "neverthrow": "^6.1.0"
+ "neverthrow": "^6 || ^7 || ^8"
},
"repository": {
"type": "git",
diff --git a/typescript/src/rola.spec.ts b/typescript/src/rola.spec.ts
index b7dd031..648c15d 100644
--- a/typescript/src/rola.spec.ts
+++ b/typescript/src/rola.spec.ts
@@ -81,4 +81,29 @@ describe('Rola verifySignedChallenge', () => {
if (result.isErr()) throw result.error.jsError
}
})
+
+ it('should return error for invalid public key', async () => {
+ const result = await Rola({
+ networkId: NetworkId.Mainnet,
+ applicationName: 'test',
+ dAppDefinitionAddress:
+ 'account_rdx12y7md4spfq5qy7e3mfjpa52937uvkxf0nmydsu5wydkkxw3qx6nghn',
+ expectedOrigin: 'https://dev-sandbox.rdx-works-main.extratools.works',
+ }).verifySignedChallenge({
+ proof: {
+ publicKey: '028704afaadc0020d5asdfae9e918db1da59ab11a21a2ff',
+ signature:
+ '01762e65c4d01df7bdda9d6ec2b6c1d1df7233e2bb57cf0c6e3e6ccf9f750fb777333e041232c5bedd831ab0e70bcaae08b4f390b122ae5e7e801fb3fba155ed98',
+ curve: 'secp256k1',
+ },
+ address:
+ 'account_rdx16xtfz7339kx27nhzelg6p9d933x9fjwv6nxa9cyy8pvcmmvfaxslu4',
+ challenge:
+ 'ed45e21bdcfabb47e0c0513cf7179497b41742c368f1a23f37af9a9c43ab1b27',
+ type: 'account',
+ } satisfies SignedChallenge)
+
+ if (result.isOk()) throw new Error('Expected error')
+ expect(result.error.reason).toBe('invalidPublicKey')
+ })
})