@formo/analytics 1.16.2 → 1.16.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/cjs/src/FormoAnalytics.d.ts +2 -2
  2. package/dist/cjs/src/FormoAnalytics.d.ts.map +1 -1
  3. package/dist/cjs/src/FormoAnalytics.js +57 -48
  4. package/dist/cjs/src/FormoAnalytics.js.map +1 -1
  5. package/dist/cjs/src/lib/queue/EventQueue.js +2 -2
  6. package/dist/cjs/src/lib/queue/EventQueue.js.map +1 -1
  7. package/dist/cjs/src/validators/index.d.ts +1 -0
  8. package/dist/cjs/src/validators/index.d.ts.map +1 -1
  9. package/dist/cjs/src/validators/index.js +1 -0
  10. package/dist/cjs/src/validators/index.js.map +1 -1
  11. package/dist/cjs/src/validators/network.d.ts +2 -0
  12. package/dist/cjs/src/validators/network.d.ts.map +1 -0
  13. package/dist/cjs/src/validators/network.js +31 -0
  14. package/dist/cjs/src/validators/network.js.map +1 -0
  15. package/dist/cjs/test/utils/address.spec.d.ts +2 -0
  16. package/dist/cjs/test/utils/address.spec.d.ts.map +1 -0
  17. package/dist/cjs/test/utils/address.spec.js +12 -0
  18. package/dist/cjs/test/utils/address.spec.js.map +1 -0
  19. package/dist/cjs/test/utils/converter.spec.d.ts +2 -0
  20. package/dist/cjs/test/utils/converter.spec.d.ts.map +1 -0
  21. package/dist/cjs/test/utils/converter.spec.js +25 -0
  22. package/dist/cjs/test/utils/converter.spec.js.map +1 -0
  23. package/dist/cjs/test/validators/address.spec.d.ts +2 -0
  24. package/dist/cjs/test/validators/address.spec.d.ts.map +1 -0
  25. package/dist/cjs/test/validators/address.spec.js +14 -0
  26. package/dist/cjs/test/validators/address.spec.js.map +1 -0
  27. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  28. package/dist/esm/src/FormoAnalytics.d.ts +2 -2
  29. package/dist/esm/src/FormoAnalytics.d.ts.map +1 -1
  30. package/dist/esm/src/FormoAnalytics.js +57 -48
  31. package/dist/esm/src/FormoAnalytics.js.map +1 -1
  32. package/dist/esm/src/lib/queue/EventQueue.js +1 -1
  33. package/dist/esm/src/lib/queue/EventQueue.js.map +1 -1
  34. package/dist/esm/src/validators/index.d.ts +1 -0
  35. package/dist/esm/src/validators/index.d.ts.map +1 -1
  36. package/dist/esm/src/validators/index.js +1 -0
  37. package/dist/esm/src/validators/index.js.map +1 -1
  38. package/dist/esm/src/validators/network.d.ts +2 -0
  39. package/dist/esm/src/validators/network.d.ts.map +1 -0
  40. package/dist/esm/src/validators/network.js +28 -0
  41. package/dist/esm/src/validators/network.js.map +1 -0
  42. package/dist/esm/test/utils/address.spec.d.ts +2 -0
  43. package/dist/esm/test/utils/address.spec.d.ts.map +1 -0
  44. package/dist/esm/test/utils/address.spec.js +10 -0
  45. package/dist/esm/test/utils/address.spec.js.map +1 -0
  46. package/dist/esm/test/utils/converter.spec.d.ts +2 -0
  47. package/dist/esm/test/utils/converter.spec.d.ts.map +1 -0
  48. package/dist/esm/test/utils/converter.spec.js +23 -0
  49. package/dist/esm/test/utils/converter.spec.js.map +1 -0
  50. package/dist/esm/test/validators/address.spec.d.ts +2 -0
  51. package/dist/esm/test/validators/address.spec.d.ts.map +1 -0
  52. package/dist/esm/test/validators/address.spec.js +12 -0
  53. package/dist/esm/test/validators/address.spec.js.map +1 -0
  54. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  55. package/dist/index.umd.min.js +1 -1
  56. package/dist/index.umd.min.js.map +1 -1
  57. package/package.json +2 -3
  58. package/src/FormoAnalytics.ts +5 -4
  59. package/src/lib/queue/EventQueue.ts +1 -1
  60. package/src/validators/index.ts +1 -0
  61. package/src/validators/network.ts +34 -0
  62. package/test/utils/address.spec.ts +14 -0
  63. package/test/utils/converter.spec.ts +31 -0
  64. package/test/validators/address.spec.ts +15 -0
  65. package/dist/cjs/test/lib.spec.d.ts +0 -2
  66. package/dist/cjs/test/lib.spec.d.ts.map +0 -1
  67. package/dist/cjs/test/lib.spec.js +0 -40
  68. package/dist/cjs/test/lib.spec.js.map +0 -1
  69. package/dist/esm/test/lib.spec.d.ts +0 -2
  70. package/dist/esm/test/lib.spec.d.ts.map +0 -1
  71. package/dist/esm/test/lib.spec.js +0 -38
  72. package/dist/esm/test/lib.spec.js.map +0 -1
  73. package/test/lib.spec.ts +0 -55
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formo/analytics",
3
- "version": "1.16.2",
3
+ "version": "1.16.4",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/getformo/sdk.git"
@@ -23,7 +23,6 @@
23
23
  "dependencies": {
24
24
  "ethereum-cryptography": "^3.1.0",
25
25
  "fetch-retry": "^6.0.0",
26
- "is-network-error": "^1.1.0",
27
26
  "mipd": "^0.0.7"
28
27
  },
29
28
  "devDependencies": {
@@ -87,7 +86,7 @@
87
86
  "size-limit": [
88
87
  {
89
88
  "path": "dist/index.umd.min.js",
90
- "limit": "50 KB"
89
+ "limit": "25 KB"
91
90
  }
92
91
  ],
93
92
  "peerDependencies": {
@@ -54,7 +54,7 @@ interface IFormoAnalytics {
54
54
  transactionHash?: string;
55
55
  }): Promise<void>;
56
56
  identify(
57
- params:
57
+ params?:
58
58
  | {
59
59
  address: Address | null;
60
60
  providerName?: string;
@@ -318,7 +318,7 @@ export class FormoAnalytics implements IFormoAnalytics {
318
318
  * @returns {Promise<void>}
319
319
  */
320
320
  public async identify(
321
- params:
321
+ params?:
322
322
  | {
323
323
  address: Address | null;
324
324
  providerName?: string;
@@ -327,9 +327,10 @@ export class FormoAnalytics implements IFormoAnalytics {
327
327
  }
328
328
  | readonly EIP6963ProviderDetail[]
329
329
  ): Promise<void> {
330
- if (isArray(params)) {
330
+ if (isArray(params) || !params) {
331
+ const providers = isArray(params) ? params : await this.getProviders();
331
332
  try {
332
- for (const eip6963ProviderDetail of params) {
333
+ for (const eip6963ProviderDetail of providers) {
333
334
  if (!eip6963ProviderDetail) continue;
334
335
  const accounts = await this.getAccounts(
335
336
  eip6963ProviderDetail?.provider
@@ -1,4 +1,4 @@
1
- import isNetworkError from "is-network-error";
1
+ import { isNetworkError } from "../../validators";
2
2
  import { IFormoEvent, IFormoEventPayload } from "../../types";
3
3
  import {
4
4
  clampNumber,
@@ -1,5 +1,6 @@
1
1
  export * from "./address";
2
2
  export * from "./agent";
3
+ export * from "./network";
3
4
  export * from "./object";
4
5
  export * from "./string";
5
6
  export * from "./type-check";
@@ -0,0 +1,34 @@
1
+ const objectToString = Object.prototype.toString;
2
+
3
+ const isError = (value: any) => objectToString.call(value) === "[object Error]";
4
+
5
+ const errorMessages = new Set([
6
+ "network error", // Chrome
7
+ "Failed to fetch", // Chrome
8
+ "NetworkError when attempting to fetch resource.", // Firefox
9
+ "The Internet connection appears to be offline.", // Safari 16
10
+ "Load failed", // Safari 17+
11
+ "Network request failed", // `cross-fetch`
12
+ "fetch failed", // Undici (Node.js)
13
+ "terminated", // Undici (Node.js)
14
+ ]);
15
+
16
+ export function isNetworkError(error: any) {
17
+ const isValid =
18
+ error &&
19
+ isError(error) &&
20
+ error.name === "TypeError" &&
21
+ typeof error.message === "string";
22
+
23
+ if (!isValid) {
24
+ return false;
25
+ }
26
+
27
+ // We do an extra check for Safari 17+ as it has a very generic error message.
28
+ // Network errors in Safari have no stack.
29
+ if (error.message === "Load failed") {
30
+ return error.stack === undefined;
31
+ }
32
+
33
+ return errorMessages.has(error.message);
34
+ }
@@ -0,0 +1,14 @@
1
+ import { describe, it } from "mocha";
2
+ import { expect } from "chai";
3
+ import { toChecksumAddress } from "../../src/utils";
4
+
5
+ describe("toChecksumAddress", () => {
6
+ it("should return the checksum of the address", () => {
7
+ expect(
8
+ toChecksumAddress("0x82827Bc8342a16b681AfbA6B979E3D1aE5F28a0e")
9
+ ).to.equal("0x82827Bc8342a16b681AfbA6B979E3D1aE5F28a0e");
10
+ expect(
11
+ toChecksumAddress("0x82827bc8342a16b681afba6b979e3d1ae5f28a0e")
12
+ ).to.equal("0x82827Bc8342a16b681AfbA6B979E3D1aE5F28a0e");
13
+ });
14
+ });
@@ -0,0 +1,31 @@
1
+ import { describe, it } from "mocha";
2
+ import { expect } from "chai";
3
+ import { toSnakeCase } from "../../src/utils";
4
+
5
+ describe("toSnakeCase", () => {
6
+ it("should convert object keys to snake case", () => {
7
+ expect(
8
+ toSnakeCase({ chainId: "12345", hashMessage: "John Doe" })
9
+ ).to.deep.equal({
10
+ chain_id: "12345",
11
+ hash_message: "John Doe",
12
+ });
13
+ });
14
+
15
+ it("should convert object keys to snake case, omitting keys in the omitKeys array", () => {
16
+ expect(
17
+ toSnakeCase(
18
+ {
19
+ chainId: "12345",
20
+ hashMessage: "John Doe",
21
+ "user-agent": "Mozilla/5.0",
22
+ },
23
+ ["user-agent"]
24
+ )
25
+ ).to.deep.equal({
26
+ chain_id: "12345",
27
+ hash_message: "John Doe",
28
+ "user-agent": "Mozilla/5.0",
29
+ });
30
+ });
31
+ });
@@ -0,0 +1,15 @@
1
+ import { expect } from "chai";
2
+ import { describe, it } from "mocha";
3
+ import { isAddress } from "../../src/validators";
4
+
5
+ describe("isAddress", () => {
6
+ it("should return true if the input is a valid ethereum address", () => {
7
+ expect(isAddress("0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC")).to.equal(
8
+ true
9
+ );
10
+ });
11
+
12
+ it("should return false otherwise", () => {
13
+ expect(isAddress("o")).to.equal(false);
14
+ });
15
+ });
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=lib.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lib.spec.d.ts","sourceRoot":"","sources":["../../../test/lib.spec.ts"],"names":[],"mappings":""}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var mocha_1 = require("mocha");
4
- var utils_1 = require("../src/utils");
5
- var validators_1 = require("../src/validators");
6
- var chai_1 = require("chai");
7
- (0, mocha_1.describe)("toSnakeCase", function () {
8
- (0, mocha_1.it)("should convert object keys to snake case", function () {
9
- (0, chai_1.expect)((0, utils_1.toSnakeCase)({ chainId: "12345", hashMessage: "John Doe" })).to.deep.equal({
10
- chain_id: "12345",
11
- hash_message: "John Doe",
12
- });
13
- });
14
- (0, mocha_1.it)("should convert object keys to snake case, omitting keys in the omitKeys array", function () {
15
- (0, chai_1.expect)((0, utils_1.toSnakeCase)({
16
- chainId: "12345",
17
- hashMessage: "John Doe",
18
- "user-agent": "Mozilla/5.0",
19
- }, ["user-agent"])).to.deep.equal({
20
- chain_id: "12345",
21
- hash_message: "John Doe",
22
- "user-agent": "Mozilla/5.0",
23
- });
24
- });
25
- });
26
- (0, mocha_1.describe)("isAddress", function () {
27
- (0, mocha_1.it)("should return true if the input is a valid ethereum address", function () {
28
- (0, chai_1.expect)((0, validators_1.isAddress)("0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC")).to.equal(true);
29
- });
30
- (0, mocha_1.it)("should return false otherwise", function () {
31
- (0, chai_1.expect)((0, validators_1.isAddress)("o")).to.equal(false);
32
- });
33
- });
34
- (0, mocha_1.describe)("toChecksumAddress", function () {
35
- (0, mocha_1.it)("should return the checksum of the address", function () {
36
- (0, chai_1.expect)((0, utils_1.toChecksumAddress)("0x82827Bc8342a16b681AfbA6B979E3D1aE5F28a0e")).to.equal("0x82827Bc8342a16b681AfbA6B979E3D1aE5F28a0e");
37
- (0, chai_1.expect)((0, utils_1.toChecksumAddress)("0x82827bc8342a16b681afba6b979e3d1ae5f28a0e")).to.equal("0x82827Bc8342a16b681AfbA6B979E3D1aE5F28a0e");
38
- });
39
- });
40
- //# sourceMappingURL=lib.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lib.spec.js","sourceRoot":"","sources":["../../../test/lib.spec.ts"],"names":[],"mappings":";;AAAA,+BAAqC;AACrC,sCAA8D;AAC9D,gDAA8C;AAC9C,6BAA8B;AAE9B,IAAA,gBAAQ,EAAC,aAAa,EAAE;IACtB,IAAA,UAAE,EAAC,0CAA0C,EAAE;QAC7C,IAAA,aAAM,EACJ,IAAA,mBAAW,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAC3D,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACd,QAAQ,EAAE,OAAO;YACjB,YAAY,EAAE,UAAU;SACzB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,UAAE,EAAC,+EAA+E,EAAE;QAClF,IAAA,aAAM,EACJ,IAAA,mBAAW,EACT;YACE,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,UAAU;YACvB,YAAY,EAAE,aAAa;SAC5B,EACD,CAAC,YAAY,CAAC,CACf,CACF,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACd,QAAQ,EAAE,OAAO;YACjB,YAAY,EAAE,UAAU;YACxB,YAAY,EAAE,aAAa;SAC5B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAQ,EAAC,WAAW,EAAE;IACpB,IAAA,UAAE,EAAC,6DAA6D,EAAE;QAChE,IAAA,aAAM,EAAC,IAAA,sBAAS,EAAC,4CAA4C,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACtE,IAAI,CACL,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,UAAE,EAAC,+BAA+B,EAAE;QAClC,IAAA,aAAM,EAAC,IAAA,sBAAS,EAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAQ,EAAC,mBAAmB,EAAE;IAC5B,IAAA,UAAE,EAAC,2CAA2C,EAAE;QAC9C,IAAA,aAAM,EACJ,IAAA,yBAAiB,EAAC,4CAA4C,CAAC,CAChE,CAAC,EAAE,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACzD,IAAA,aAAM,EACJ,IAAA,yBAAiB,EAAC,4CAA4C,CAAC,CAChE,CAAC,EAAE,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=lib.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lib.spec.d.ts","sourceRoot":"","sources":["../../../test/lib.spec.ts"],"names":[],"mappings":""}
@@ -1,38 +0,0 @@
1
- import { describe, it } from "mocha";
2
- import { toChecksumAddress, toSnakeCase } from "../src/utils";
3
- import { isAddress } from "../src/validators";
4
- import { expect } from "chai";
5
- describe("toSnakeCase", function () {
6
- it("should convert object keys to snake case", function () {
7
- expect(toSnakeCase({ chainId: "12345", hashMessage: "John Doe" })).to.deep.equal({
8
- chain_id: "12345",
9
- hash_message: "John Doe",
10
- });
11
- });
12
- it("should convert object keys to snake case, omitting keys in the omitKeys array", function () {
13
- expect(toSnakeCase({
14
- chainId: "12345",
15
- hashMessage: "John Doe",
16
- "user-agent": "Mozilla/5.0",
17
- }, ["user-agent"])).to.deep.equal({
18
- chain_id: "12345",
19
- hash_message: "John Doe",
20
- "user-agent": "Mozilla/5.0",
21
- });
22
- });
23
- });
24
- describe("isAddress", function () {
25
- it("should return true if the input is a valid ethereum address", function () {
26
- expect(isAddress("0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC")).to.equal(true);
27
- });
28
- it("should return false otherwise", function () {
29
- expect(isAddress("o")).to.equal(false);
30
- });
31
- });
32
- describe("toChecksumAddress", function () {
33
- it("should return the checksum of the address", function () {
34
- expect(toChecksumAddress("0x82827Bc8342a16b681AfbA6B979E3D1aE5F28a0e")).to.equal("0x82827Bc8342a16b681AfbA6B979E3D1aE5F28a0e");
35
- expect(toChecksumAddress("0x82827bc8342a16b681afba6b979e3d1ae5f28a0e")).to.equal("0x82827Bc8342a16b681AfbA6B979E3D1aE5F28a0e");
36
- });
37
- });
38
- //# sourceMappingURL=lib.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lib.spec.js","sourceRoot":"","sources":["../../../test/lib.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,QAAQ,CAAC,aAAa,EAAE;IACtB,EAAE,CAAC,0CAA0C,EAAE;QAC7C,MAAM,CACJ,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAC3D,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACd,QAAQ,EAAE,OAAO;YACjB,YAAY,EAAE,UAAU;SACzB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE;QAClF,MAAM,CACJ,WAAW,CACT;YACE,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,UAAU;YACvB,YAAY,EAAE,aAAa;SAC5B,EACD,CAAC,YAAY,CAAC,CACf,CACF,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACd,QAAQ,EAAE,OAAO;YACjB,YAAY,EAAE,UAAU;YACxB,YAAY,EAAE,aAAa;SAC5B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,WAAW,EAAE;IACpB,EAAE,CAAC,6DAA6D,EAAE;QAChE,MAAM,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACtE,IAAI,CACL,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE;QAClC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE;IAC5B,EAAE,CAAC,2CAA2C,EAAE;QAC9C,MAAM,CACJ,iBAAiB,CAAC,4CAA4C,CAAC,CAChE,CAAC,EAAE,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACzD,MAAM,CACJ,iBAAiB,CAAC,4CAA4C,CAAC,CAChE,CAAC,EAAE,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/test/lib.spec.ts DELETED
@@ -1,55 +0,0 @@
1
- import { describe, it } from "mocha";
2
- import { toChecksumAddress, toSnakeCase } from "../src/utils";
3
- import { isAddress } from "../src/validators";
4
- import { expect } from "chai";
5
-
6
- describe("toSnakeCase", () => {
7
- it("should convert object keys to snake case", () => {
8
- expect(
9
- toSnakeCase({ chainId: "12345", hashMessage: "John Doe" })
10
- ).to.deep.equal({
11
- chain_id: "12345",
12
- hash_message: "John Doe",
13
- });
14
- });
15
-
16
- it("should convert object keys to snake case, omitting keys in the omitKeys array", () => {
17
- expect(
18
- toSnakeCase(
19
- {
20
- chainId: "12345",
21
- hashMessage: "John Doe",
22
- "user-agent": "Mozilla/5.0",
23
- },
24
- ["user-agent"]
25
- )
26
- ).to.deep.equal({
27
- chain_id: "12345",
28
- hash_message: "John Doe",
29
- "user-agent": "Mozilla/5.0",
30
- });
31
- });
32
- });
33
-
34
- describe("isAddress", () => {
35
- it("should return true if the input is a valid ethereum address", () => {
36
- expect(isAddress("0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC")).to.equal(
37
- true
38
- );
39
- });
40
-
41
- it("should return false otherwise", () => {
42
- expect(isAddress("o")).to.equal(false);
43
- });
44
- });
45
-
46
- describe("toChecksumAddress", () => {
47
- it("should return the checksum of the address", () => {
48
- expect(
49
- toChecksumAddress("0x82827Bc8342a16b681AfbA6B979E3D1aE5F28a0e")
50
- ).to.equal("0x82827Bc8342a16b681AfbA6B979E3D1aE5F28a0e");
51
- expect(
52
- toChecksumAddress("0x82827bc8342a16b681afba6b979e3d1ae5f28a0e")
53
- ).to.equal("0x82827Bc8342a16b681AfbA6B979E3D1aE5F28a0e");
54
- });
55
- });