@vlayer/sdk 0.1.0-nightly-20250128-0a32cfc → 0.1.0-nightly-20250128-2db80e2

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 (61) hide show
  1. package/dist/api/lib/client.d.ts.map +1 -1
  2. package/dist/api/lib/client.js +3 -1
  3. package/dist/api/lib/client.js.map +1 -1
  4. package/dist/api/prover.d.ts.map +1 -1
  5. package/dist/api/prover.js.map +1 -1
  6. package/dist/api/v_call.d.ts.map +1 -1
  7. package/dist/api/v_call.js.map +1 -1
  8. package/dist/api/v_getProofReceipt.d.ts.map +1 -1
  9. package/dist/api/v_getProofReceipt.js.map +1 -1
  10. package/dist/api/webProof/createWebProofRequest.d.ts.map +1 -1
  11. package/dist/api/webProof/createWebProofRequest.js.map +1 -1
  12. package/package.json +7 -20
  13. package/src/api/email/dnsResolver.test.ts +0 -19
  14. package/src/api/email/dnsResolver.ts +0 -87
  15. package/src/api/email/parseEmail.test.ts +0 -133
  16. package/src/api/email/parseEmail.ts +0 -55
  17. package/src/api/email/preverify.test.ts +0 -201
  18. package/src/api/email/preverify.ts +0 -70
  19. package/src/api/email/testdata/test_email.txt +0 -21
  20. package/src/api/email/testdata/test_email_multiple_dkims.txt +0 -28
  21. package/src/api/email/testdata/test_email_subdomain.txt +0 -21
  22. package/src/api/email/testdata/test_email_unknown_domain.txt +0 -21
  23. package/src/api/lib/client.test.ts +0 -261
  24. package/src/api/lib/client.ts +0 -191
  25. package/src/api/lib/errors.ts +0 -19
  26. package/src/api/lib/types/ethereum.ts +0 -45
  27. package/src/api/lib/types/index.ts +0 -3
  28. package/src/api/lib/types/viem.ts +0 -26
  29. package/src/api/lib/types/vlayer.ts +0 -156
  30. package/src/api/lib/types/webProofProvider.ts +0 -68
  31. package/src/api/prover.ts +0 -120
  32. package/src/api/utils/prefixAllButNthSubstring.test.ts +0 -24
  33. package/src/api/utils/prefixAllButNthSubstring.ts +0 -13
  34. package/src/api/utils/versions.test.ts +0 -52
  35. package/src/api/utils/versions.ts +0 -31
  36. package/src/api/v_call.ts +0 -58
  37. package/src/api/v_getProofReceipt.ts +0 -48
  38. package/src/api/v_versions.ts +0 -68
  39. package/src/api/webProof/createWebProofRequest.ts +0 -15
  40. package/src/api/webProof/index.ts +0 -3
  41. package/src/api/webProof/providers/extension.test.ts +0 -122
  42. package/src/api/webProof/providers/extension.ts +0 -197
  43. package/src/api/webProof/providers/index.ts +0 -1
  44. package/src/api/webProof/steps/expectUrl.ts +0 -12
  45. package/src/api/webProof/steps/index.ts +0 -11
  46. package/src/api/webProof/steps/notarize.ts +0 -20
  47. package/src/api/webProof/steps/startPage.ts +0 -12
  48. package/src/config/createContext.ts +0 -69
  49. package/src/config/deploy.ts +0 -108
  50. package/src/config/getChainConfirmations.ts +0 -6
  51. package/src/config/getConfig.ts +0 -71
  52. package/src/config/index.ts +0 -5
  53. package/src/config/types.ts +0 -26
  54. package/src/config/writeEnvVariables.ts +0 -28
  55. package/src/index.ts +0 -7
  56. package/src/testHelpers/readFile.ts +0 -3
  57. package/src/web-proof-commons/index.ts +0 -3
  58. package/src/web-proof-commons/types/message.ts +0 -176
  59. package/src/web-proof-commons/types/redaction.test.ts +0 -97
  60. package/src/web-proof-commons/types/redaction.ts +0 -201
  61. package/src/web-proof-commons/utils.ts +0 -11
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/api/lib/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAoB,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AA0BjE,eAAO,MAAM,kBAAkB,gCAI1B;IACD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,KAIA,YAwJF,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/api/lib/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAoB,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AA0B/D,eAAO,MAAM,kBAAkB,gCAI1B;IACD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,KAIA,YA0JF,CAAC"}
@@ -80,7 +80,9 @@ export const createVlayerClient = ({ url = "http://127.0.0.1:3000", webProofProv
80
80
  token,
81
81
  args: [
82
82
  {
83
- webProofJson: JSON.stringify(webProof.presentationJSON),
83
+ webProofJson: JSON.stringify({
84
+ presentationJson: webProof.presentationJSON,
85
+ }),
84
86
  },
85
87
  ...commitmentArgs,
86
88
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/api/lib/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/api/lib/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prover.d.ts","sourceRoot":"","sources":["../../src/api/prover.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EACR,KAAK,kBAAkB,EACvB,KAAK,OAAO,EACZ,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAG1B,MAAM,MAAM,CAAC;AACd,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAIlB,MAAM,oBAAoB,CAAC;AAU5B,MAAM,WAAW,YAAY;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AASD,wBAAsB,KAAK,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,oBAAoB,CAAC,CAAC,CAAC,EAC1E,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,CAAC,EACN,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,oBAAoB,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,EACpD,OAAO,GAAE,MAAmB,EAC5B,GAAG,GAAE,MAAgC,EACrC,QAAQ,GAAE,MAAmB,EAC7B,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,GAAE,YAA2C,GACnD,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAa5B;AAED,wBAAsB,eAAe,CACnC,CAAC,SAAS,GAAG,EACb,CAAC,SAAS,oBAAoB,CAAC,CAAC,CAAC,EAEjC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EACvB,GAAG,GAAE,MAAgC,GACpC,OAAO,CAAC,YAAY,CAAC,CAOvB;AAmBD,wBAAsB,YAAY,CAChC,CAAC,SAAS,GAAG,EACb,CAAC,SAAS,oBAAoB,CAAC,CAAC,CAAC,EAEjC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EACvB,GAAG,EAAE,MAAM,EACX,eAAe,GAAE,MAAY,EAC7B,aAAa,GAAE,MAAa,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAW/B"}
1
+ {"version":3,"file":"prover.d.ts","sourceRoot":"","sources":["../../src/api/prover.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EACR,KAAK,kBAAkB,EACvB,KAAK,OAAO,EACZ,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAG1B,MAAM,MAAM,CAAC;AACd,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAIlB,MAAM,cAAc,CAAC;AAUtB,MAAM,WAAW,YAAY;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AASD,wBAAsB,KAAK,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,oBAAoB,CAAC,CAAC,CAAC,EAC1E,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,CAAC,EACN,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,oBAAoB,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,EACpD,OAAO,GAAE,MAAmB,EAC5B,GAAG,GAAE,MAAgC,EACrC,QAAQ,GAAE,MAAmB,EAC7B,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,GAAE,YAA2C,GACnD,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAa5B;AAED,wBAAsB,eAAe,CACnC,CAAC,SAAS,GAAG,EACb,CAAC,SAAS,oBAAoB,CAAC,CAAC,CAAC,EAEjC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EACvB,GAAG,GAAE,MAAgC,GACpC,OAAO,CAAC,YAAY,CAAC,CAOvB;AAmBD,wBAAsB,YAAY,CAChC,CAAC,SAAS,GAAG,EACb,CAAC,SAAS,oBAAoB,CAAC,CAAC,CAAC,EAEjC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EACvB,GAAG,EAAE,MAAM,EACX,eAAe,GAAE,MAAY,EAC7B,aAAa,GAAE,MAAa,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAW/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"prover.js","sourceRoot":"","sources":["../../src/api/prover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prover.js","sourceRoot":"","sources":["../../src/api/prover.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"v_call.d.ts","sourceRoot":"","sources":["../../src/api/v_call.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAiB5B,wBAAsB,MAAM,CAC1B,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,EACpB,GAAG,GAAE,MAAgC,EACrC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAyBxB"}
1
+ {"version":3,"file":"v_call.d.ts","sourceRoot":"","sources":["../../src/api/v_call.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,aAAa,EACnB,MAAM,cAAc,CAAC;AAiBtB,wBAAsB,MAAM,CAC1B,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,EACpB,GAAG,GAAE,MAAgC,EACrC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAyBxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"v_call.js","sourceRoot":"","sources":["../../src/api/v_call.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,GAAG,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;AAEnC,SAAS,UAAU,CAAC,IAAgB,EAAE,OAAoB;IACxD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;QACvB,EAAE,EAAE,CAAC;QACL,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,IAAgB,EAChB,OAAoB,EACpB,MAAc,uBAAuB,EACrC,KAAc;IAEd,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;KACnC,CAAC;IACF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC;IAC/C,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO;KACR,CAAC,CAAC;IACH,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5C,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACpC,YAAY,CAAC,aAAa,CAAC,CAAC;IAC5B,IAAI,OAAO,IAAI,aAAa,EAAE,CAAC;QAC7B,MAAM,uBAAuB,CAC3B,aAAa,CAAC,KAAwC,CACvD,CAAC;IACJ,CAAC;IACD,OAAO,aAAuC,CAAC;AACjD,CAAC;AAED,SAAS,YAAY,CAAC,CAAU;IAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"v_call.js","sourceRoot":"","sources":["../../src/api/v_call.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,GAAG,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;AAEnC,SAAS,UAAU,CAAC,IAAgB,EAAE,OAAoB;IACxD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;QACvB,EAAE,EAAE,CAAC;QACL,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,IAAgB,EAChB,OAAoB,EACpB,MAAc,uBAAuB,EACrC,KAAc;IAEd,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;KACnC,CAAC;IACF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC;IAC/C,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO;KACR,CAAC,CAAC;IACH,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5C,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACpC,YAAY,CAAC,aAAa,CAAC,CAAC;IAC5B,IAAI,OAAO,IAAI,aAAa,EAAE,CAAC;QAC7B,MAAM,uBAAuB,CAC3B,aAAa,CAAC,KAAwC,CACvD,CAAC;IACJ,CAAC;IACD,OAAO,aAAuC,CAAC;AACjD,CAAC;AAED,SAAS,YAAY,CAAC,CAAU;IAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"v_getProofReceipt.d.ts","sourceRoot":"","sources":["../../src/api/v_getProofReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC9B,MAAM,oBAAoB,CAAC;AAgB5B,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,sBAAsB,EAC9B,GAAG,GAAE,MAAgC,GACpC,OAAO,CAAC,wBAAwB,CAAC,CAmBnC"}
1
+ {"version":3,"file":"v_getProofReceipt.d.ts","sourceRoot":"","sources":["../../src/api/v_getProofReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC9B,MAAM,cAAc,CAAC;AAgBtB,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,sBAAsB,EAC9B,GAAG,GAAE,MAAgC,GACpC,OAAO,CAAC,wBAAwB,CAAC,CAmBnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"v_getProofReceipt.js","sourceRoot":"","sources":["../../src/api/v_getProofReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,GAAG,GAAG,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAE9C,SAAS,qBAAqB,CAAC,MAA8B;IAC3D,OAAO;QACL,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE,MAAM;QACd,EAAE,EAAE,CAAC;QACL,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAA8B,EAC9B,MAAc,uBAAuB;IAErC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAC;IACH,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5C,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACpC,YAAY,CAAC,aAAa,CAAC,CAAC;IAC5B,IAAI,OAAO,IAAI,aAAa,EAAE,CAAC;QAC7B,MAAM,uBAAuB,CAC3B,aAAa,CAAC,KAAwC,CACvD,CAAC;IACJ,CAAC;IACD,OAAO,sBAAsB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,YAAY,CAAC,CAAU;IAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"v_getProofReceipt.js","sourceRoot":"","sources":["../../src/api/v_getProofReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,GAAG,GAAG,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAE9C,SAAS,qBAAqB,CAAC,MAA8B;IAC3D,OAAO;QACL,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE,MAAM;QACd,EAAE,EAAE,CAAC;QACL,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAA8B,EAC9B,MAAc,uBAAuB;IAErC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAC;IACH,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5C,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACpC,YAAY,CAAC,aAAa,CAAC,CAAC;IAC5B,IAAI,OAAO,IAAI,aAAa,EAAE,CAAC;QAC7B,MAAM,uBAAuB,CAC3B,aAAa,CAAC,KAAwC,CACvD,CAAC;IACJ,CAAC;IACD,OAAO,sBAAsB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,YAAY,CAAC,CAAU;IAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createWebProofRequest.d.ts","sourceRoot":"","sources":["../../../src/api/webProof/createWebProofRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAEvC,eAAO,MAAM,qBAAqB,wBAG/B,oBAAoB,KAKhB,eACN,CAAC"}
1
+ {"version":3,"file":"createWebProofRequest.d.ts","sourceRoot":"","sources":["../../../src/api/webProof/createWebProofRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAC1B,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,qBAAqB,wBAG/B,oBAAoB,KAKhB,eACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createWebProofRequest.js","sourceRoot":"","sources":["../../../src/api/webProof/createWebProofRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,MAAM,+BAA+B,CAAC;AAEvC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,OAAO,EACP,KAAK,GACgB,EAAE,EAAE;IACzB,OAAO;QACL,OAAO;QACP,KAAK;QACL,UAAU,EAAE,IAAI;KACE,CAAC;AACvB,CAAC,CAAC"}
1
+ {"version":3,"file":"createWebProofRequest.js","sourceRoot":"","sources":["../../../src/api/webProof/createWebProofRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,MAAM,wBAAwB,CAAC;AAEhC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,OAAO,EACP,KAAK,GACgB,EAAE,EAAE;IACzB,OAAO;QACL,OAAO;QACP,KAAK;QACL,UAAU,EAAE,IAAI;KACE,CAAC;AACvB,CAAC,CAAC"}
package/package.json CHANGED
@@ -3,31 +3,19 @@
3
3
  "type": "module",
4
4
  "exports": {
5
5
  ".": {
6
- "import": {
7
- "development": "./src/index.ts",
8
- "default": "./dist/index.js"
9
- },
10
- "types": "./dist/index.d.ts",
11
- "default": "./dist/index.js"
6
+ "import": "./dist/index.js",
7
+ "types": "./dist/index.d.ts"
12
8
  },
13
9
  "./web_proof": {
14
- "import": {
15
- "development": "./src/api/webProof/index.ts",
16
- "default": "./dist/api/webProof/index.js"
17
- },
18
- "types": "./dist/api/webProof/index.d.ts",
19
- "default": "./dist/api/webProof/index.js"
10
+ "import": "./dist/api/webProof/index.js",
11
+ "types": "./dist/api/webProof/index.d.ts"
20
12
  },
21
13
  "./config": {
22
- "import": {
23
- "development": "./src/config/index.ts",
24
- "default": "./dist/config/index.js"
25
- },
26
- "types": "./dist/config/index.d.ts",
27
- "default": "./dist/config/index.js"
14
+ "import": "./dist/config/index.js",
15
+ "types": "./dist/config/index.d.ts"
28
16
  }
29
17
  },
30
- "version": "0.1.0-nightly-20250128-0a32cfc",
18
+ "version": "0.1.0-nightly-20250128-2db80e2",
31
19
  "scripts": {
32
20
  "build": "bun tsc --project tsconfig.build.json && bun tsc-alias",
33
21
  "test:unit": "vitest --run",
@@ -62,7 +50,6 @@
62
50
  },
63
51
  "files": [
64
52
  "dist/",
65
- "src/",
66
53
  "package.json",
67
54
  "README.md"
68
55
  ]
@@ -1,19 +0,0 @@
1
- import { describe, expect, test } from "vitest";
2
- import { DnsResolver } from "./dnsResolver";
3
-
4
- const resolver = new DnsResolver("https://dns.google/resolve");
5
-
6
- describe("resolveDkimDns Integration", () => {
7
- test("resolves vlayer DNS", async () => {
8
- const resolved = await resolver.resolveDkimDns("google", "vlayer.xyz");
9
- const expected =
10
- "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoDLLSKLb3eyflXzeHwBz8qqg9mfpmMY+f1tp+HpwlEOeN5iHO0s4sCd2QbG2i/DJRzryritRnjnc4i2NJ/IJfU8XZdjthotcFUY6rrlFld20a13q8RYBBsETSJhYnBu+DMdIF9q3YxDtXRFNpFCpI1uIeA/x+4qQJm3KTZQWdqi/BVnbsBA6ZryQCOOJC3Ae0oodvz80yfEJUAi9hAGZWqRn+Mprlyu749uQ91pTOYCDCbAn+cqhw8/mY5WMXFqrw9AdfWrk+MwXHPVDWBs8/Hm8xkWxHOqYs9W51oZ/Je3WWeeggyYCZI9V+Czv7eF8BD/yF9UxU/3ZWZPM8EWKKQIDAQAB";
11
- expect(resolved.dnsRecord.data).toBe(expected);
12
- });
13
-
14
- test("throws error if dns not found", async () => {
15
- await expect(
16
- resolver.resolveDkimDns("abcd", "not-a-domain.com"),
17
- ).rejects.toThrow();
18
- });
19
- });
@@ -1,87 +0,0 @@
1
- import { toByteArray } from "base64-js";
2
- import { toHex } from "viem";
3
-
4
- interface DnsResponse {
5
- Status: number;
6
- TC: boolean;
7
- RD: boolean;
8
- RA: boolean;
9
- AD: boolean;
10
- CD: boolean;
11
- Question: {
12
- name: string;
13
- type: number;
14
- }[];
15
- Answer:
16
- | {
17
- name: string;
18
- type: number;
19
- TTL: number;
20
- data: string;
21
- }[]
22
- | undefined;
23
- VerificationData:
24
- | {
25
- valid_until: number;
26
- signature: string;
27
- pub_key: string;
28
- }
29
- | undefined;
30
- }
31
-
32
- function parseBase64(data: string): `0x${string}` {
33
- return toHex(toByteArray(data));
34
- }
35
-
36
- function parseVerificationData(response: DnsResponse) {
37
- if (!response.VerificationData) {
38
- console.warn(`No verification data in DNS response`);
39
- return {
40
- validUntil: 0n,
41
- signature: "0x" as const,
42
- pubKey: "0x" as const,
43
- };
44
- }
45
- return {
46
- validUntil: BigInt(response.VerificationData.valid_until),
47
- signature: parseBase64(response.VerificationData.signature),
48
- pubKey: parseBase64(response.VerificationData.pub_key),
49
- };
50
- }
51
-
52
- function takeLastAnswer(response: DnsResponse) {
53
- const answer = response.Answer;
54
- if (!answer || answer?.length == 0) {
55
- throw new Error(
56
- `No DNS answer found\n${JSON.stringify(response, null, 2)}`,
57
- );
58
- }
59
- const record = answer.flat().at(-1)!;
60
- return {
61
- recordType: record.type,
62
- ttl: BigInt(record.TTL),
63
- ...record,
64
- };
65
- }
66
-
67
- export class DnsResolver {
68
- constructor(private host: string) {}
69
-
70
- async resolveDkimDns(selector: string, domain: string) {
71
- const response = (await (
72
- await fetch(
73
- `${this.host}?name=${selector}._domainkey.${domain}&type=TXT`,
74
- {
75
- headers: {
76
- accept: "application/dns-json",
77
- },
78
- },
79
- )
80
- ).json()) as DnsResponse;
81
-
82
- return {
83
- dnsRecord: takeLastAnswer(response),
84
- verificationData: parseVerificationData(response),
85
- };
86
- }
87
- }
@@ -1,133 +0,0 @@
1
- import { describe, expect, test } from "vitest";
2
- import { getDkimSigners, parseEmail, parseParams } from "./parseEmail";
3
-
4
- const emailHeaders = `From: "John Doe" <john@d.oe>
5
- To: "Jane Doe" <jane@d.oe>
6
- Subject: Hello World
7
- Date: Thu, 1 Jan 1970 00:00:00 +0000
8
- `;
9
-
10
- const dkimHeader =
11
- "DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; h=from:to:subject; s=selector1; b=abcdef;";
12
-
13
- const body = "Hello, World!";
14
-
15
- const emailFixture = `${emailHeaders}${dkimHeader}\n\n${body}`;
16
-
17
- describe("parseEmail", () => {
18
- test("should get dkim header from email", async () => {});
19
-
20
- test("correctly parses untrimmed email", async () => {
21
- const untrimmed = `\n ${emailFixture} \n`;
22
- const email = await parseEmail(untrimmed);
23
- expect(email.headers.find((h) => h.key === "dkim-signature")).toBeDefined();
24
- });
25
-
26
- test("works well with multiple dkim headers", async () => {
27
- const dkimHeader2 =
28
- "DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=second.signer; h=from:to:subject; s=selector2; b=abcdef;";
29
-
30
- const email = await parseEmail(
31
- `${emailHeaders}${dkimHeader}\n${dkimHeader2}\n\n${body}`,
32
- );
33
- const dkim = email.headers.filter((h) => h.key === "dkim-signature");
34
-
35
- expect(dkim).toHaveLength(2);
36
- expect(parseParams(dkim[0].value).s).toBe("selector1");
37
- expect(parseParams(dkim[1].value).s).toBe("selector2");
38
- });
39
- });
40
-
41
- describe("getDkimSigners", () => {
42
- test("should get dkim signers from email", async () => {
43
- const email = await parseEmail(emailFixture);
44
- const dkim = getDkimSigners(email);
45
- expect(dkim).toHaveLength(1);
46
- expect(dkim[0].domain).toBe("example.com");
47
- expect(dkim[0].selector).toBe("selector1");
48
- });
49
-
50
- test("should get multiple dkim signers from email", async () => {
51
- const dkimHeader2 =
52
- "DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=second.signer; h=from:to:subject; s=selector2; b=abcdef;";
53
- const email = await parseEmail(
54
- `${emailHeaders}${dkimHeader}\n${dkimHeader2}\n\n${body}`,
55
- );
56
-
57
- const dkim = getDkimSigners(email);
58
- expect(dkim).toHaveLength(2);
59
- expect(dkim[0].domain).toBe("example.com");
60
- expect(dkim[0].selector).toBe("selector1");
61
- expect(dkim[1].domain).toBe("second.signer");
62
- expect(dkim[1].selector).toBe("selector2");
63
- });
64
-
65
- test("should throw if no dkim header found", async () => {
66
- const email = await parseEmail(emailHeaders);
67
- expect(() => getDkimSigners(email)).toThrowError("No DKIM header found");
68
- });
69
-
70
- test("should throw if dkim header is invalid", async () => {
71
- const email = await parseEmail(
72
- `${emailHeaders}DKIM-Signature: invalid\n\n${body}`,
73
- );
74
- expect(() => getDkimSigners(email)).toThrowError(
75
- "DKIM header missing domain",
76
- );
77
- });
78
-
79
- test("should throw if dkim header is missing domain", async () => {
80
- const email = await parseEmail(
81
- `${emailHeaders}DKIM-Signature: v=1; s=selector\n\n${body}`,
82
- );
83
- expect(() => getDkimSigners(email)).toThrowError(
84
- "DKIM header missing domain",
85
- );
86
- });
87
-
88
- test("should throw if dkim header is missing selector", async () => {
89
- const email = await parseEmail(
90
- `${emailHeaders}DKIM-Signature: v=1; d=example.com\n\n${body}`,
91
- );
92
- expect(() => getDkimSigners(email)).toThrowError(
93
- "DKIM header missing selector",
94
- );
95
- });
96
- });
97
-
98
- describe("parseParams", () => {
99
- test("should parse single parameter", () => {
100
- const params = parseParams("a=b");
101
- expect(params).toEqual({ a: "b" });
102
- });
103
-
104
- test("should parse multiple parameters", () => {
105
- const params = parseParams("a=b; c=d; e=f");
106
- expect(params).toEqual({ a: "b", c: "d", e: "f" });
107
- });
108
-
109
- test("should trim spaces around parameters", () => {
110
- const params = parseParams(" a = b ; c = d ; e = f ");
111
- expect(params).toEqual({ a: "b", c: "d", e: "f" });
112
- });
113
-
114
- test("should handle empty values", () => {
115
- const params = parseParams("a=; b=c");
116
- expect(params).toEqual({ a: "", b: "c" });
117
- });
118
-
119
- test("should handle missing values", () => {
120
- const params = parseParams("a; b=c");
121
- expect(params).toEqual({ a: undefined, b: "c" });
122
- });
123
-
124
- test("should handle empty string", () => {
125
- const params = parseParams("");
126
- expect(params).toEqual({});
127
- });
128
-
129
- test("should handle parameters with extra semicolons", () => {
130
- const params = parseParams("a=b;; c=d;");
131
- expect(params).toEqual({ a: "b", c: "d" });
132
- });
133
- });
@@ -1,55 +0,0 @@
1
- import PostalMime, { type Email, type Header } from "postal-mime";
2
-
3
- export class DkimParsingError extends Error {
4
- constructor(message: string) {
5
- super(message);
6
- this.name = "DkimParsingError";
7
- }
8
- }
9
-
10
- export interface DkimDomainSelector {
11
- domain: string;
12
- selector: string;
13
- }
14
-
15
- export async function parseEmail(mime: string) {
16
- return await PostalMime.parse(mime.trim());
17
- }
18
-
19
- export function getDkimSigners(mail: Email): DkimDomainSelector[] {
20
- const dkimHeader = mail.headers.filter((h) => h.key === "dkim-signature");
21
- if (dkimHeader.length === 0) {
22
- throw new DkimParsingError("No DKIM header found");
23
- }
24
- return dkimHeader.map(parseHeader);
25
- }
26
-
27
- export function parseParams(str: string) {
28
- return Object.fromEntries(
29
- str.split(";").map((s) =>
30
- s
31
- .trim()
32
- .split("=")
33
- .map((v) => v && v.trim()),
34
- ),
35
- ) as Record<string, string>;
36
- }
37
-
38
- function parseHeader(header: Header): DkimDomainSelector {
39
- const params = parseParams(header.value);
40
- if (!params) {
41
- throw new DkimParsingError(`Invalid DKIM header ${header.value}`);
42
- }
43
-
44
- if (!params.d) {
45
- throw new DkimParsingError("DKIM header missing domain");
46
- }
47
-
48
- if (!params.s) {
49
- throw new DkimParsingError("DKIM header missing selector");
50
- }
51
- return {
52
- domain: params.d,
53
- selector: params.s,
54
- };
55
- }
@@ -1,201 +0,0 @@
1
- import { describe, expect, test } from "vitest";
2
- import { readFile } from "testHelpers/readFile";
3
- import { findIndicesOfMatchingDomains, preverifyEmail } from "./preverify";
4
-
5
- const rawEmail = readFile("./src/api/email/testdata/test_email.txt");
6
-
7
- describe("Preverify email: integration", () => {
8
- test("adds dns record to email mime", async () => {
9
- const preverifiedEmail = await preverifyEmail(
10
- rawEmail,
11
- "https://dns.google/resolve",
12
- );
13
- expect(preverifiedEmail.email).toBe(rawEmail);
14
- expect(preverifiedEmail.dnsRecord).toMatchObject({
15
- name: "20230601._domainkey.google.com.",
16
- recordType: 16,
17
- ttl: expect.any(BigInt), // eslint-disable-line @typescript-eslint/no-unsafe-assignment
18
- data: expect.stringContaining("v=DKIM1; k=rsa; p="), // eslint-disable-line @typescript-eslint/no-unsafe-assignment
19
- });
20
- expect(preverifiedEmail.dnsRecord.data).toContain("v=DKIM1; k=rsa; p=");
21
- });
22
-
23
- test("throws error if DKIM not found", async () => {
24
- const emailWithNoDkimHeader = 'From: "Alice"\n\nBody';
25
- await expect(
26
- preverifyEmail(emailWithNoDkimHeader, "https://dns.google/resolve"),
27
- ).rejects.toThrow("No DKIM header found");
28
- });
29
-
30
- test("throws error if DNS could not be resolved", async () => {
31
- const emailWithNoDkimHeader = readFile(
32
- "./src/api/email/testdata/test_email_unknown_domain.txt",
33
- );
34
- await expect(
35
- preverifyEmail(emailWithNoDkimHeader, "https://dns.google/resolve"),
36
- ).rejects.toThrow();
37
- });
38
-
39
- describe("multiple DKIM headers", () => {
40
- function addDkimWithDomain(domain: string, email: string) {
41
- return `DKIM-Signature: v=1; a=rsa-sha256; d=${domain};
42
- s=selector; c=relaxed/relaxed; q=dns/txt; bh=; h=From:Subject:Date:To; b=
43
- ${email}`;
44
- }
45
-
46
- function addFakeDkimWithDomain(domain: string, email: string) {
47
- return `X-${addDkimWithDomain(domain, email)}`;
48
- }
49
-
50
- test("looks for DKIM header with the domain matching the sender and removes all other DKIM headers", async () => {
51
- const emailWithAddedHeaders = ["example.com", "hello.kitty"].reduce(
52
- (email, domain) => addDkimWithDomain(domain, email),
53
- rawEmail,
54
- );
55
- const email = await preverifyEmail(
56
- emailWithAddedHeaders,
57
- "https://dns.google/resolve",
58
- );
59
- expect(
60
- email.email
61
- .startsWith(`X-DKIM-Signature: v=1; a=rsa-sha256; d=hello.kitty;
62
- s=selector; c=relaxed/relaxed; q=dns/txt; bh=; h=From:Subject:Date:To; b=
63
- X-DKIM-Signature: v=1; a=rsa-sha256; d=example.com;
64
- s=selector; c=relaxed/relaxed; q=dns/txt; bh=; h=From:Subject:Date:To; b=
65
- DKIM-Signature: a=rsa-sha256; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;\r
66
- c=simple/simple; d=google.com;`),
67
- ).toBeTruthy();
68
- expect(email.dnsRecord.data).toEqual(
69
- "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4zd3nfUoLHWFbfoPZzAb8bvjsFIIFsNypweLuPe4M+vAP1YxObFxRnpvLYz7Z+bORKLber5aGmgFF9iaufsH1z0+aw8Qex7uDaafzWoJOM/6lAS5iI0JggZiUkqNpRQLL7H6E7HcvOMC61nJcO4r0PwLDZKwEaCs8gUHiqRn/SS3wqEZX29v/VOUVcI4BjaOzOCLaz7V8Bkwmj4Rqq4kaLQQrbfpjas1naScHTAmzULj0Rdp+L1vVyGitm+dd460PcTIG3Pn+FYrgQQo2fvnTcGiFFuMa8cpxgfH3rJztf1YFehLWwJWgeXTriuIyuxUabGdRQu7vh7GrObTsHmIHwIDAQAB",
70
- );
71
- });
72
-
73
- test("throws error if no DNS record domain matches the sender", async () => {
74
- const emailWithOneDkimHeader = readFile(
75
- "./src/api/email/testdata/test_email_unknown_domain.txt",
76
- );
77
- const emailWithAddedHeaders = addDkimWithDomain(
78
- "otherdomain.com",
79
- emailWithOneDkimHeader,
80
- );
81
- await expect(
82
- preverifyEmail(emailWithAddedHeaders, "https://dns.google/resolve"),
83
- ).rejects.toThrow("Found 0 DKIM headers matching the sender domain");
84
- });
85
-
86
- test("removes signatures from subdomain signers", async () => {
87
- const email = await preverifyEmail(
88
- addDkimWithDomain("subdomain.google.com", rawEmail),
89
- "https://dns.google/resolve",
90
- );
91
- expect(
92
- email.email
93
- .startsWith(`X-DKIM-Signature: v=1; a=rsa-sha256; d=subdomain.google.com;
94
- s=selector; c=relaxed/relaxed; q=dns/txt; bh=; h=From:Subject:Date:To; b=
95
- DKIM-Signature: a=rsa-sha256; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;\r
96
- c=simple/simple; d=google.com;`),
97
- ).toBeTruthy();
98
- });
99
-
100
- test("removes signatures with mismatching subdomains", async () => {
101
- const emailWithAddedHeaders = addDkimWithDomain(
102
- "subdomain.google.com",
103
- readFile("./src/api/email/testdata/test_email_subdomain.txt"),
104
- );
105
- await expect(
106
- preverifyEmail(emailWithAddedHeaders, "https://dns.google/resolve"),
107
- ).rejects.toThrow("Found 0 DKIM headers matching the sender domain");
108
- });
109
-
110
- test("throws error if multiple DNS record domains match the sender", async () => {
111
- let emailWithAddedHeaders = addDkimWithDomain("google.com", rawEmail);
112
- emailWithAddedHeaders = addDkimWithDomain(
113
- "google.com",
114
- emailWithAddedHeaders,
115
- );
116
- await expect(
117
- preverifyEmail(emailWithAddedHeaders, "https://dns.google/resolve"),
118
- ).rejects.toThrow("Found 3 DKIM headers matching the sender domain");
119
- });
120
-
121
- test("ignores x-dkim-signature headers", async () => {
122
- const emailWithPrefixedDkim = addFakeDkimWithDomain(
123
- "example.com",
124
- addFakeDkimWithDomain("example.com", rawEmail),
125
- );
126
- const email = await preverifyEmail(
127
- emailWithPrefixedDkim,
128
- "https://dns.google/resolve",
129
- );
130
- expect(
131
- email.email
132
- .startsWith(`X-DKIM-Signature: v=1; a=rsa-sha256; d=example.com;
133
- s=selector; c=relaxed/relaxed; q=dns/txt; bh=; h=From:Subject:Date:To; b=
134
- X-DKIM-Signature: v=1; a=rsa-sha256; d=example.com;
135
- s=selector; c=relaxed/relaxed; q=dns/txt; bh=; h=From:Subject:Date:To; b=
136
- DKIM-Signature: a=rsa-sha256; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;\r
137
- c=simple/simple; d=google.com;`),
138
- ).toBeTruthy();
139
- });
140
-
141
- test("ignores dkim-signature somewhere inside a header", async () => {
142
- const headerWithDkim = `WTF-IS-THIS-HEADER: DKIM-SIGNATURE;`;
143
- const emailWithDkimInHeader = `${headerWithDkim}\n${addDkimWithDomain("example.com", rawEmail)}`;
144
- const email = await preverifyEmail(
145
- emailWithDkimInHeader,
146
- "https://dns.google/resolve",
147
- );
148
- expect(
149
- email.email.startsWith(`WTF-IS-THIS-HEADER: DKIM-SIGNATURE;
150
- X-DKIM-Signature: v=1; a=rsa-sha256; d=example.com;
151
- s=selector; c=relaxed/relaxed; q=dns/txt; bh=; h=From:Subject:Date:To; b=
152
- DKIM-Signature: a=rsa-sha256; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;\r
153
- c=simple/simple; d=google.com;`),
154
- ).toBeTruthy();
155
- });
156
-
157
- test("ignores dkim-signature somewhere inside a body", async () => {
158
- const emailWithAddedDkim = addDkimWithDomain("example.com", rawEmail);
159
- const emailWithDkimsInBody = `${emailWithAddedDkim}\ndkim-signature dkim-signature\r\ndkim-signature`;
160
- const email = await preverifyEmail(
161
- emailWithDkimsInBody,
162
- "https://dns.google/resolve",
163
- );
164
- expect(
165
- email.email
166
- .startsWith(`X-DKIM-Signature: v=1; a=rsa-sha256; d=example.com;
167
- s=selector; c=relaxed/relaxed; q=dns/txt; bh=; h=From:Subject:Date:To; b=
168
- DKIM-Signature: a=rsa-sha256; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;\r
169
- c=simple/simple; d=google.com;`),
170
- ).toBeTruthy();
171
- expect(
172
- email.email.endsWith(
173
- `\ndkim-signature dkim-signature\r\ndkim-signature`,
174
- ),
175
- ).toBeTruthy();
176
- });
177
- });
178
- });
179
-
180
- describe("findIndicesOfMatchingDomains", () => {
181
- test("returns indices of matching domains", () => {
182
- const signers = [
183
- { domain: "example.com", selector: "selector1" },
184
- { domain: "other.other", selector: "selector2" },
185
- { domain: "example.com", selector: "selector3" },
186
- ];
187
- expect(
188
- findIndicesOfMatchingDomains(signers, "some@example.com"),
189
- ).toStrictEqual([0, 2]);
190
- });
191
-
192
- test("returns empty array if no matching domains", () => {
193
- const signers = [
194
- { domain: "example.com", selector: "selector1" },
195
- { domain: "example.org", selector: "selector2" },
196
- ];
197
- expect(findIndicesOfMatchingDomains(signers, "other.other")).toStrictEqual(
198
- [],
199
- );
200
- });
201
- });