@did-btcr2/method 0.18.0 → 0.19.0
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.
- package/dist/browser.js +5240 -6079
- package/dist/browser.mjs +5240 -6079
- package/dist/cjs/core/beacon/aggregation/cohort/index.js +3 -3
- package/dist/cjs/core/beacon/aggregation/cohort/index.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/base.js +1 -9
- package/dist/cjs/core/beacon/aggregation/cohort/messages/base.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/opt-in.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/opt-in.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/subscribe.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/subscribe.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/authorization-request.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/authorization-request.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/request-signature.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/request-signature.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/signature-authorization.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/signature-authorization.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/communication/adapter/nostr.js +36 -18
- package/dist/cjs/core/beacon/aggregation/communication/adapter/nostr.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/coordinator.js +14 -14
- package/dist/cjs/core/beacon/aggregation/coordinator.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/participant.js +4 -3
- package/dist/cjs/core/beacon/aggregation/participant.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/session/index.js +1 -1
- package/dist/cjs/core/beacon/aggregation/session/index.js.map +1 -1
- package/dist/cjs/core/beacon/cas-beacon.js +55 -0
- package/dist/cjs/core/beacon/cas-beacon.js.map +1 -0
- package/dist/cjs/core/beacon/factory.js +11 -10
- package/dist/cjs/core/beacon/factory.js.map +1 -1
- package/dist/cjs/core/beacon/interfaces.js +32 -0
- package/dist/cjs/core/beacon/interfaces.js.map +1 -0
- package/dist/cjs/core/beacon/singleton.js +59 -135
- package/dist/cjs/core/beacon/singleton.js.map +1 -1
- package/dist/cjs/core/beacon/smt-beacon.js +56 -0
- package/dist/cjs/core/beacon/smt-beacon.js.map +1 -0
- package/dist/cjs/core/beacon/utils.js +67 -105
- package/dist/cjs/core/beacon/utils.js.map +1 -1
- package/dist/cjs/core/identifier.js +18 -21
- package/dist/cjs/core/identifier.js.map +1 -1
- package/dist/cjs/core/interfaces.js +2 -0
- package/dist/cjs/core/interfaces.js.map +1 -0
- package/dist/cjs/core/resolve.js +511 -0
- package/dist/cjs/core/resolve.js.map +1 -0
- package/dist/cjs/{utils → core}/types.js.map +1 -1
- package/dist/cjs/core/{crud/update.js → update.js} +62 -52
- package/dist/cjs/core/update.js.map +1 -0
- package/dist/cjs/did-btcr2.js +109 -75
- package/dist/cjs/did-btcr2.js.map +1 -1
- package/dist/cjs/index.js +14 -15
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/appendix.js +10 -18
- package/dist/cjs/utils/appendix.js.map +1 -1
- package/dist/cjs/utils/did-document.js +51 -58
- package/dist/cjs/utils/did-document.js.map +1 -1
- package/dist/cjs/utils/general.js +1 -1
- package/dist/cjs/utils/general.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/index.js +3 -3
- package/dist/esm/core/beacon/aggregation/cohort/index.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/base.js +1 -9
- package/dist/esm/core/beacon/aggregation/cohort/messages/base.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/opt-in.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/opt-in.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/subscribe.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/subscribe.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/authorization-request.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/authorization-request.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/request-signature.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/request-signature.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/signature-authorization.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/signature-authorization.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/communication/adapter/nostr.js +36 -18
- package/dist/esm/core/beacon/aggregation/communication/adapter/nostr.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/coordinator.js +14 -14
- package/dist/esm/core/beacon/aggregation/coordinator.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/participant.js +4 -3
- package/dist/esm/core/beacon/aggregation/participant.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/session/index.js +1 -1
- package/dist/esm/core/beacon/aggregation/session/index.js.map +1 -1
- package/dist/esm/core/beacon/cas-beacon.js +55 -0
- package/dist/esm/core/beacon/cas-beacon.js.map +1 -0
- package/dist/esm/core/beacon/factory.js +11 -10
- package/dist/esm/core/beacon/factory.js.map +1 -1
- package/dist/esm/core/beacon/interfaces.js +32 -0
- package/dist/esm/core/beacon/interfaces.js.map +1 -0
- package/dist/esm/core/beacon/singleton.js +59 -135
- package/dist/esm/core/beacon/singleton.js.map +1 -1
- package/dist/esm/core/beacon/smt-beacon.js +56 -0
- package/dist/esm/core/beacon/smt-beacon.js.map +1 -0
- package/dist/esm/core/beacon/utils.js +67 -105
- package/dist/esm/core/beacon/utils.js.map +1 -1
- package/dist/esm/core/identifier.js +18 -21
- package/dist/esm/core/identifier.js.map +1 -1
- package/dist/esm/core/interfaces.js +2 -0
- package/dist/esm/core/interfaces.js.map +1 -0
- package/dist/esm/core/resolve.js +511 -0
- package/dist/esm/core/resolve.js.map +1 -0
- package/dist/esm/{utils → core}/types.js.map +1 -1
- package/dist/esm/core/{crud/update.js → update.js} +62 -52
- package/dist/esm/core/update.js.map +1 -0
- package/dist/esm/did-btcr2.js +109 -75
- package/dist/esm/did-btcr2.js.map +1 -1
- package/dist/esm/index.js +14 -15
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/appendix.js +10 -18
- package/dist/esm/utils/appendix.js.map +1 -1
- package/dist/esm/utils/did-document.js +51 -58
- package/dist/esm/utils/did-document.js.map +1 -1
- package/dist/esm/utils/general.js +1 -1
- package/dist/esm/utils/general.js.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/index.d.ts +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/base.d.ts +0 -7
- package/dist/types/core/beacon/aggregation/cohort/messages/base.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/keygen/opt-in.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/keygen/subscribe.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/sign/authorization-request.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/sign/request-signature.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/sign/signature-authorization.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/communication/adapter/nostr.d.ts +13 -5
- package/dist/types/core/beacon/aggregation/communication/adapter/nostr.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/coordinator.d.ts +17 -29
- package/dist/types/core/beacon/aggregation/coordinator.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/participant.d.ts.map +1 -1
- package/dist/types/core/beacon/cas-beacon.d.ts +47 -0
- package/dist/types/core/beacon/cas-beacon.d.ts.map +1 -0
- package/dist/types/core/beacon/factory.d.ts +5 -4
- package/dist/types/core/beacon/factory.d.ts.map +1 -1
- package/dist/types/core/beacon/interfaces.d.ts +98 -0
- package/dist/types/core/beacon/interfaces.d.ts.map +1 -0
- package/dist/types/core/beacon/singleton.d.ts +22 -65
- package/dist/types/core/beacon/singleton.d.ts.map +1 -1
- package/dist/types/core/beacon/smt-beacon.d.ts +48 -0
- package/dist/types/core/beacon/smt-beacon.d.ts.map +1 -0
- package/dist/types/core/beacon/utils.d.ts +19 -97
- package/dist/types/core/beacon/utils.d.ts.map +1 -1
- package/dist/types/core/identifier.d.ts.map +1 -1
- package/dist/types/core/interfaces.d.ts +94 -0
- package/dist/types/core/interfaces.d.ts.map +1 -0
- package/dist/types/core/resolve.d.ts +105 -0
- package/dist/types/core/resolve.d.ts.map +1 -0
- package/dist/types/core/types.d.ts +71 -0
- package/dist/types/core/types.d.ts.map +1 -0
- package/dist/types/core/{crud/update.d.ts → update.d.ts} +21 -20
- package/dist/types/core/update.d.ts.map +1 -0
- package/dist/types/did-btcr2.d.ts +45 -57
- package/dist/types/did-btcr2.d.ts.map +1 -1
- package/dist/types/index.d.ts +14 -15
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/utils/appendix.d.ts +5 -10
- package/dist/types/utils/appendix.d.ts.map +1 -1
- package/dist/types/utils/did-document-builder.d.ts +1 -1
- package/dist/types/utils/did-document-builder.d.ts.map +1 -1
- package/dist/types/utils/did-document.d.ts +31 -29
- package/dist/types/utils/did-document.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/core/beacon/aggregation/cohort/index.ts +3 -3
- package/src/core/beacon/aggregation/cohort/messages/base.ts +1 -12
- package/src/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.ts +2 -2
- package/src/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.ts +2 -2
- package/src/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.ts +2 -2
- package/src/core/beacon/aggregation/cohort/messages/keygen/opt-in.ts +2 -2
- package/src/core/beacon/aggregation/cohort/messages/keygen/subscribe.ts +2 -2
- package/src/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.ts +2 -2
- package/src/core/beacon/aggregation/cohort/messages/sign/authorization-request.ts +2 -2
- package/src/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.ts +2 -2
- package/src/core/beacon/aggregation/cohort/messages/sign/request-signature.ts +2 -2
- package/src/core/beacon/aggregation/cohort/messages/sign/signature-authorization.ts +2 -2
- package/src/core/beacon/aggregation/communication/adapter/nostr.ts +43 -21
- package/src/core/beacon/aggregation/coordinator.ts +41 -29
- package/src/core/beacon/aggregation/participant.ts +4 -3
- package/src/core/beacon/aggregation/session/index.ts +1 -1
- package/src/core/beacon/cas-beacon.ts +67 -0
- package/src/core/beacon/factory.ts +13 -15
- package/src/core/beacon/interfaces.ts +124 -0
- package/src/core/beacon/singleton.ts +75 -145
- package/src/core/beacon/smt-beacon.ts +70 -0
- package/src/core/beacon/utils.ts +80 -170
- package/src/core/identifier.ts +21 -24
- package/src/core/interfaces.ts +101 -0
- package/src/core/resolve.ts +707 -0
- package/src/core/types.ts +78 -0
- package/src/core/{crud/update.ts → update.ts} +75 -68
- package/src/did-btcr2.ts +152 -92
- package/src/index.ts +14 -24
- package/src/utils/appendix.ts +18 -22
- package/src/utils/did-document-builder.ts +1 -1
- package/src/utils/did-document.ts +67 -71
- package/src/utils/general.ts +1 -1
- package/dist/cjs/core/beacon/cid-aggregate.js +0 -116
- package/dist/cjs/core/beacon/cid-aggregate.js.map +0 -1
- package/dist/cjs/core/beacon/smt-aggregate.js +0 -126
- package/dist/cjs/core/beacon/smt-aggregate.js.map +0 -1
- package/dist/cjs/core/crud/deactivate.js +0 -14
- package/dist/cjs/core/crud/deactivate.js.map +0 -1
- package/dist/cjs/core/crud/read.js +0 -679
- package/dist/cjs/core/crud/read.js.map +0 -1
- package/dist/cjs/core/crud/update.js.map +0 -1
- package/dist/cjs/interfaces/beacon.js +0 -41
- package/dist/cjs/interfaces/beacon.js.map +0 -1
- package/dist/cjs/interfaces/crud.js +0 -2
- package/dist/cjs/interfaces/crud.js.map +0 -1
- package/dist/esm/core/beacon/cid-aggregate.js +0 -116
- package/dist/esm/core/beacon/cid-aggregate.js.map +0 -1
- package/dist/esm/core/beacon/smt-aggregate.js +0 -126
- package/dist/esm/core/beacon/smt-aggregate.js.map +0 -1
- package/dist/esm/core/crud/deactivate.js +0 -14
- package/dist/esm/core/crud/deactivate.js.map +0 -1
- package/dist/esm/core/crud/read.js +0 -679
- package/dist/esm/core/crud/read.js.map +0 -1
- package/dist/esm/core/crud/update.js.map +0 -1
- package/dist/esm/interfaces/beacon.js +0 -41
- package/dist/esm/interfaces/beacon.js.map +0 -1
- package/dist/esm/interfaces/crud.js +0 -2
- package/dist/esm/interfaces/crud.js.map +0 -1
- package/dist/types/core/beacon/cid-aggregate.d.ts +0 -102
- package/dist/types/core/beacon/cid-aggregate.d.ts.map +0 -1
- package/dist/types/core/beacon/smt-aggregate.d.ts +0 -111
- package/dist/types/core/beacon/smt-aggregate.d.ts.map +0 -1
- package/dist/types/core/crud/deactivate.d.ts +0 -13
- package/dist/types/core/crud/deactivate.d.ts.map +0 -1
- package/dist/types/core/crud/read.d.ts +0 -334
- package/dist/types/core/crud/read.d.ts.map +0 -1
- package/dist/types/core/crud/update.d.ts.map +0 -1
- package/dist/types/interfaces/beacon.d.ts +0 -116
- package/dist/types/interfaces/beacon.d.ts.map +0 -1
- package/dist/types/interfaces/crud.d.ts +0 -32
- package/dist/types/interfaces/crud.d.ts.map +0 -1
- package/dist/types/utils/types.d.ts +0 -38
- package/dist/types/utils/types.d.ts.map +0 -1
- package/src/canonicalize.d.ts +0 -6
- package/src/core/beacon/cid-aggregate.ts +0 -153
- package/src/core/beacon/smt-aggregate.ts +0 -135
- package/src/core/crud/deactivate.ts +0 -13
- package/src/core/crud/read.ts +0 -948
- package/src/interfaces/beacon.ts +0 -137
- package/src/interfaces/crud.ts +0 -33
- package/src/utils/types.ts +0 -41
- /package/dist/cjs/{utils → core}/types.js +0 -0
- /package/dist/esm/{utils → core}/types.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../../../../src/core/beacon/singleton.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../../../../src/core/beacon/singleton.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,oBAAoB,EAAE,WAAW,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE5H,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAA8C,MAAM,iBAAiB,CAAC;AAE9F;;;;;;GAMG;AACH,MAAM,OAAO,eAAgB,SAAQ,eAAe;IAElD;;;;OAIG;IACH,YACE,OAAsB,EACtB,OAA4B,EAC5B,OAAoB,EACpB,OAAkC;QAElC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,OAAsB,EAAE,OAA4B,EAAE,OAAoB;QACzF,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,UAAqB;QAClC,MAAM,IAAI,WAAW,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,EAAC,UAAU,EAAC,CAAC,CAAC;IAC3F,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc;QAClB,6DAA6D;QAC7D,MAAM,OAAO,GAAG,IAAI,KAAK,EAAsC,CAAC;QAEhE,2CAA2C;QAC3C,KAAI,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACvC,oDAAoD;YACpD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;YAEtC,iFAAiF;YACjF,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAE5D,mFAAmF;YACnF,IAAG,CAAC,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,oBAAoB,CAC5B,iDAAiD,UAAU,GAAG,EAC9D,mBAAmB,EAAE,MAAM,CAC5B,CAAC;YACJ,CAAC;YAED,2FAA2F;YAC3F,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YAErF,+CAA+C;YAC/C,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;YAErE,0FAA0F;YAC1F,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;gBAClC,+CAA+C;gBAC/C,MAAM,IAAI,oBAAoB,CAC5B,iCAAiC,aAAa,qBAAqB,WAAW,GAAG,EACjF,oBAAoB,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,CACrD,CAAC;YACJ,CAAC;YAED,qCAAqC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,qCAAqC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CAAC,UAAqB;QACzC,kEAAkE;QAClE,uEAAuE;QACvE,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAE5E,iEAAiE;QACjE,6CAA6C;QAE7C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC/E,IAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,oBAAoB,CAAC,sCAAsC,EAAE,yBAAyB,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QACxH,CAAC;QAED,MAAM,IAAI,GAAgB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACjG,IAAG,CAAC,IAAI,EAAE,CAAC;YACT,MAAM,IAAI,oBAAoB,CAC5B,uDAAuD,EACvD,yBAAyB,EAAE,EAAE,cAAc,EAAE,CAC9C,CAAC;QACJ,CAAC;QAED,0GAA0G;QAC1G,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACvD,IAAI,eAAe,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YAClC,MAAM,IAAI,oBAAoB,CAAC,uBAAuB,CAAC,CAAC;QAC1D,CAAC;QAED,gHAAgH;QAChH,0FAA0F;QAC1F,uCAAuC;QACvC,MAAM,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG;YACZ,IAAI,EAAa,IAAI;YACrB,KAAK,EAAY,IAAI;YACrB,cAAc,EAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;SAC5C,CAAC;QACF,+CAA+C;QAC/C,MAAM,OAAO,GAAI,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aAC9D,QAAQ,CAAC,KAAK,CAAC;aACf,SAAS,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;aAC/E,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAE1F,oHAAoH;QACpH,8DAA8D;QAC9D,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,4BAA4B,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC;QAC7E,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAE3E,uBAAuB;QACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC;aAC1C,iBAAiB,EAAE;aACnB,kBAAkB,EAAE;aACpB,KAAK,EAAE,CAAC;QACX,IAAG,CAAC,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,oBAAoB,CAAC,iCAAiC,EAAE,oBAAoB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACvG,CAAC;QAED,+CAA+C;QAC/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3E,IAAG,CAAC,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,oBAAoB,CAAC,iCAAiC,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,gDAAgD;QAChD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { MethodError } from '@did-btcr2/common';
|
|
2
|
+
import { AggregateBeacon } from './interfaces.js';
|
|
3
|
+
/**
|
|
4
|
+
* TODO: Finish implementation
|
|
5
|
+
* Implements {@link https://dcdpr.github.io/did-btcr2/terminology.html#smt-beacon | SMTBeacon}.
|
|
6
|
+
* @class SMTBeacon
|
|
7
|
+
* @type {SMTBeacon}
|
|
8
|
+
* @extends {AggregateBeacon}
|
|
9
|
+
*/
|
|
10
|
+
export class SMTBeacon extends AggregateBeacon {
|
|
11
|
+
/**
|
|
12
|
+
* Creates an instance of SingletonBeacon.
|
|
13
|
+
* @param {BeaconService} service The Beacon service.
|
|
14
|
+
* @param {Array<BeaconSignal>} signals The SingletonBeacon sidecar data.
|
|
15
|
+
* @param {SidecarData} sidecar The sidecar data.
|
|
16
|
+
*/
|
|
17
|
+
constructor(service, signals, sidecar, bitcoin) {
|
|
18
|
+
super({ ...service, type: 'SMTBeacon' }, signals, sidecar, bitcoin);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Static, convenience method for establishing a SMTBeacon object.
|
|
22
|
+
* @param {string} service The Beacon service.
|
|
23
|
+
* @param {SidecarData} sidecar The sidecar data.
|
|
24
|
+
* @returns {SingletonBeacon} The Singleton Beacon.
|
|
25
|
+
*/
|
|
26
|
+
static establish(service, signals, sidecar) {
|
|
27
|
+
return new SMTBeacon(service, signals, sidecar);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* TODO: Figure out if this is necessary or not.
|
|
31
|
+
* @param {HexString} updateHash The hash of the BTCR2 update to generate the signal for.
|
|
32
|
+
* @returns {BeaconSignal} The generated signal.
|
|
33
|
+
* @throws {MethodError} if the signal is invalid.
|
|
34
|
+
*/
|
|
35
|
+
generateSignal(updateHash) {
|
|
36
|
+
throw new MethodError('Method not implemented.', `METHOD_NOT_IMPLEMENTED`, { updateHash });
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Process SMTBeacon signals.
|
|
40
|
+
* @returns {Promise<Array<BTCR2SignedUpdate>>} The processed signed update or undefined.
|
|
41
|
+
* @throws {MethodError} if the signal processing fails.
|
|
42
|
+
*/
|
|
43
|
+
async processSignals() {
|
|
44
|
+
throw new MethodError('Method not implemented.', `METHOD_NOT_IMPLEMENTED`);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Broadcast a SMTBeacon signal.
|
|
48
|
+
* @param {HexString} updateHash The hash of the BTCR2 update to broadcast.
|
|
49
|
+
* @returns {Promise<SignalsMetadata>} The result of the broadcast.
|
|
50
|
+
* @throws {MethodError} if the broadcast fails.
|
|
51
|
+
*/
|
|
52
|
+
async broadcastSignal(updateHash) {
|
|
53
|
+
throw new MethodError('Method not implemented.', `METHOD_NOT_IMPLEMENTED`, { updateHash });
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=smt-beacon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smt-beacon.js","sourceRoot":"","sources":["../../../../src/core/beacon/smt-beacon.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,EAAE,eAAe,EAA8C,MAAM,iBAAiB,CAAC;AAE9F;;;;;;GAMG;AACH,MAAM,OAAO,SAAU,SAAQ,eAAe;IAC5C;;;;;OAKG;IACH,YACE,OAAsB,EACtB,OAA4B,EAC5B,OAAoB,EACpB,OAAkC;QAElC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,OAAsB,EAAE,OAA4B,EAAE,OAAoB;QACzF,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,UAAqB;QAClC,MAAM,IAAI,WAAW,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,EAAC,UAAU,EAAC,CAAC,CAAC;IAC3F,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,WAAW,CAAC,yBAAyB,EAAE,wBAAwB,CAAC,CAAC;IAC7E,CAAC;IAGD;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,UAAqB;QACzC,MAAM,IAAI,WAAW,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,EAAC,UAAU,EAAC,CAAC,CAAC;IAC3F,CAAC;CAEF"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { getNetwork } from '@did-btcr2/bitcoin';
|
|
1
2
|
import { DidMethodError, MethodError } from '@did-btcr2/common';
|
|
2
3
|
import { payments } from 'bitcoinjs-lib';
|
|
3
4
|
import { Appendix } from '../../utils/appendix.js';
|
|
4
|
-
import {
|
|
5
|
+
import { Identifier } from '../identifier.js';
|
|
5
6
|
/**
|
|
6
7
|
* Static class of utility functions for the Beacon Service
|
|
7
8
|
* @class BeaconUtils
|
|
@@ -16,9 +17,9 @@ export class BeaconUtils {
|
|
|
16
17
|
*/
|
|
17
18
|
static parseBitcoinAddress(uri) {
|
|
18
19
|
if (!uri.startsWith('bitcoin:')) {
|
|
19
|
-
throw new
|
|
20
|
+
throw new MethodError('Invalid Bitcoin URI format', 'BEACON_SERVICE_ERROR', { uri });
|
|
20
21
|
}
|
|
21
|
-
return uri.replace('bitcoin:', '').split('?')[0];
|
|
22
|
+
return uri.replace('bitcoin:', '').split('?')[0];
|
|
22
23
|
}
|
|
23
24
|
/**
|
|
24
25
|
* Validates that the given object is a Beacon Service
|
|
@@ -30,7 +31,7 @@ export class BeaconUtils {
|
|
|
30
31
|
if (!Appendix.isDidService(obj))
|
|
31
32
|
return false;
|
|
32
33
|
// Return false if the type is not a valid beacon service type.
|
|
33
|
-
if (!['SingletonBeacon', '
|
|
34
|
+
if (!['SingletonBeacon', 'CASBeacon', 'SMTBeacon'].includes(obj.type))
|
|
34
35
|
return false;
|
|
35
36
|
// Return false if the serviceEndpoint is not a valid BIP21 bitcoin address.
|
|
36
37
|
if ([obj.serviceEndpoint].flat().some(ep => typeof ep === 'string' && !ep.startsWith('bitcoin:')))
|
|
@@ -48,32 +49,21 @@ export class BeaconUtils {
|
|
|
48
49
|
* @throws {TypeError} if the didDocument is not provided
|
|
49
50
|
*/
|
|
50
51
|
static getBeaconServices(didDocument) {
|
|
51
|
-
// Filter out any invalid did service objects.
|
|
52
|
-
const didServices = didDocument.service?.filter(Appendix.isDidService) ?? [];
|
|
53
52
|
// Filter for valid beacon service objects.
|
|
54
|
-
return (
|
|
53
|
+
return (didDocument.service.filter(this.isBeaconService) ?? []);
|
|
55
54
|
}
|
|
56
55
|
/**
|
|
57
|
-
*
|
|
58
|
-
* @param {
|
|
59
|
-
* @param {KeyBytes} params.publicKey Public key bytes used to generate the beacon object serviceEndpoint.
|
|
60
|
-
* @param {Network} params.network Bitcoin network interface from bitcoinlib-js.
|
|
56
|
+
* Create the 3 default Beacon Service Endpoints for a given `k` (public-key-based) identifier.
|
|
57
|
+
* @param {string} did The DID for which to create the beacon services.
|
|
61
58
|
* @returns {Array<Array<string>>} 2D Array of bitcoin addresses (p2pkh, p2wpkh, p2tr).
|
|
62
59
|
* @throws {DidMethodError} if the bitcoin address is invalid.
|
|
63
60
|
*/
|
|
64
|
-
static
|
|
61
|
+
static createBeaconServices(did, beaconType) {
|
|
65
62
|
try {
|
|
66
|
-
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
throw new DidMethodError('Failed to generate bitcoin addresses');
|
|
71
|
-
}
|
|
72
|
-
return [
|
|
73
|
-
[`${identifier}#initialP2PKH`, p2pkh],
|
|
74
|
-
[`${identifier}#initialP2WPKH`, p2wpkh],
|
|
75
|
-
[`${identifier}#initialP2TR`, p2tr]
|
|
76
|
-
];
|
|
63
|
+
// Get the Network class
|
|
64
|
+
const addrTypes = ['p2pkh', 'p2wpkh', 'p2tr'];
|
|
65
|
+
// Map over the address types and create the beacon services
|
|
66
|
+
return addrTypes.map((addrType) => this.createBeaconService(did, addrType, beaconType));
|
|
77
67
|
}
|
|
78
68
|
catch (error) {
|
|
79
69
|
console.error(error);
|
|
@@ -82,21 +72,26 @@ export class BeaconUtils {
|
|
|
82
72
|
}
|
|
83
73
|
/**
|
|
84
74
|
* Generate a set of Beacon Services for a given public key.
|
|
85
|
-
* @param {
|
|
86
|
-
* @param {
|
|
87
|
-
* @param {
|
|
88
|
-
* @param {string} params.beaconType The type of beacon service to create.
|
|
89
|
-
* @param {string} params.addressType The type of address to create (p2pkh, p2wpkh, p2tr).
|
|
75
|
+
* @param {string} did The did for the beacon service.
|
|
76
|
+
* @param {string} addressType The type of bitcoin address to generate (p2pkh, p2wpkh, p2tr).
|
|
77
|
+
* @param {string} beaconType The type of beacon service to create.
|
|
90
78
|
* @returns {BeaconService} A BeaconService object.
|
|
91
79
|
* @throws {DidMethodError} if the bitcoin address is invalid.
|
|
92
80
|
*/
|
|
93
|
-
static
|
|
81
|
+
static createBeaconService(did, addressType, beaconType) {
|
|
94
82
|
try {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
83
|
+
// Decode the DID to get the network and genesis bytes
|
|
84
|
+
const components = Identifier.decode(did);
|
|
85
|
+
// Get the Network class
|
|
86
|
+
const network = getNetwork(components.network);
|
|
87
|
+
// Get the genesis bytes
|
|
88
|
+
const pubkey = components.genesisBytes;
|
|
89
|
+
// Build the id
|
|
90
|
+
const id = `${did}#initial${addressType.toUpperCase()}`;
|
|
91
|
+
// Generate the bitcoin address
|
|
98
92
|
const serviceEndpoint = `bitcoin:${payments[addressType]({ pubkey, network }).address}`;
|
|
99
|
-
|
|
93
|
+
// Return the beacon serviceD
|
|
94
|
+
return { id, type: beaconType, serviceEndpoint, };
|
|
100
95
|
}
|
|
101
96
|
catch (error) {
|
|
102
97
|
console.error(error);
|
|
@@ -104,95 +99,62 @@ export class BeaconUtils {
|
|
|
104
99
|
}
|
|
105
100
|
}
|
|
106
101
|
/**
|
|
107
|
-
* Generate
|
|
108
|
-
* @param {
|
|
109
|
-
* @returns
|
|
102
|
+
* Generate three default Beacon Service Endpoints for a given `k` (public-key-based) identifier.
|
|
103
|
+
* @param {string} did The DID for which to create the beacon services.
|
|
104
|
+
* @returns {Array<Array<string>>} 2D Array of bitcoin addresses (p2pkh, p2wpkh, p2tr).
|
|
105
|
+
* @throws {DidMethodError} if the bitcoin address is invalid.
|
|
110
106
|
*/
|
|
111
|
-
static
|
|
107
|
+
static generateBeaconServices({ id, publicKey, network, beaconType }) {
|
|
112
108
|
try {
|
|
113
|
-
|
|
114
|
-
|
|
109
|
+
// Generate the bitcoin addresses for the given public key and network
|
|
110
|
+
const p2pkh = payments.p2pkh({ pubkey: publicKey, network }).address;
|
|
111
|
+
const p2wpkh = payments.p2wpkh({ pubkey: publicKey, network }).address;
|
|
112
|
+
const p2tr = payments.p2tr({ network, internalPubkey: publicKey.slice(1, 33) }).address;
|
|
113
|
+
// Check that all addresses were generated successfully
|
|
114
|
+
if (!p2pkh || !p2wpkh || !p2tr) {
|
|
115
|
+
throw new DidMethodError('Failed to generate bitcoin addresses');
|
|
115
116
|
}
|
|
116
|
-
|
|
117
|
-
return
|
|
117
|
+
// Return the beacon services with the generated addresses as service endpoints
|
|
118
|
+
return [
|
|
119
|
+
{
|
|
120
|
+
id: `${id}#initialP2PKH`,
|
|
121
|
+
type: beaconType,
|
|
122
|
+
serviceEndpoint: `bitcoin:${p2pkh}`
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
id: `${id}#initialP2WPKH`,
|
|
126
|
+
type: beaconType,
|
|
127
|
+
serviceEndpoint: `bitcoin:${p2wpkh}`
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
id: `${id}#initialP2TR`,
|
|
131
|
+
type: beaconType,
|
|
132
|
+
serviceEndpoint: `bitcoin:${p2tr}`
|
|
133
|
+
},
|
|
134
|
+
];
|
|
118
135
|
}
|
|
119
136
|
catch (error) {
|
|
120
137
|
console.error(error);
|
|
121
138
|
process.exit(1);
|
|
122
139
|
}
|
|
123
140
|
}
|
|
124
|
-
/**
|
|
125
|
-
* Generate beacon services.
|
|
126
|
-
* @param {GenerateBeaconServicesParams} params Required parameters for generating Beacon Services.
|
|
127
|
-
* @param {string} params.network The name of the Bitcoin network to use.
|
|
128
|
-
* @param {Uint8Array} params.publicKey Byte array representation of a public key used to generate a new btcr2 key-id-type.
|
|
129
|
-
* @param {string} params.beaconType Optional beacon type to use (default: SingletonBeacon).
|
|
130
|
-
* @returns {DidService[]} Array of DidService objects.
|
|
131
|
-
*/
|
|
132
|
-
static generateBeaconServices({ identifier, network, type, publicKey }) {
|
|
133
|
-
// Generate the bitcoin addresses
|
|
134
|
-
const bitcoinAddrs = this.generateBeaconAddresses({ identifier, publicKey, network, });
|
|
135
|
-
// Map the bitcoin addresses to the beacon service
|
|
136
|
-
return bitcoinAddrs.map(([id, address]) => {
|
|
137
|
-
// Convert the address to a BIP-21 URI
|
|
138
|
-
const serviceEndpoint = `bitcoin:${address}`;
|
|
139
|
-
// Create the beacon object
|
|
140
|
-
const beacon = BeaconFactory.establish({ id, type, serviceEndpoint });
|
|
141
|
-
// Return the beacon service
|
|
142
|
-
return beacon.service;
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Generate a single beacon service.
|
|
147
|
-
* @param {GenerateBeaconParams} params Required parameters for generating a single Beacon Service.
|
|
148
|
-
* @param {string} params.identifier The identifier for the beacon service.
|
|
149
|
-
* @param {string} params.network The name of the Bitcoin network to use.
|
|
150
|
-
* @param {Uint8Array} params.publicKey Byte array representation of a public key used to generate a new btcr2 key-id-type.
|
|
151
|
-
* @param {string} params.type The type of beacon service to create.
|
|
152
|
-
* @returns {BeaconService} A BeaconService object.
|
|
153
|
-
* @throws {DidMethodError} if the bitcoin address is invalid.
|
|
154
|
-
*/
|
|
155
|
-
static generateBeacon({ identifier, network, type, publicKey }) {
|
|
156
|
-
// Generate the bitcoin addresses
|
|
157
|
-
const bitcoinAddrs = this.generateBeaconAddresses({ identifier, publicKey, network, });
|
|
158
|
-
// Map the bitcoin addresses to the beacon service
|
|
159
|
-
const beacon = bitcoinAddrs.map(([id, address]) => {
|
|
160
|
-
// Convert the address to a BIP-21 URI
|
|
161
|
-
const serviceEndpoint = `bitcoin:${address}`;
|
|
162
|
-
// Create the beacon object
|
|
163
|
-
const beacon = BeaconFactory.establish({ id, type, serviceEndpoint });
|
|
164
|
-
// Return the beacon service
|
|
165
|
-
return beacon.service;
|
|
166
|
-
});
|
|
167
|
-
return beacon[0];
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Manufacture a pre-filled Beacon using the BeaconFactory.
|
|
171
|
-
* @param {BeaconServicesParams} params Required parameters for generating a single Beacon Service.
|
|
172
|
-
* @param {string} params.serviceId The type of service being created (#initialP2PKH, #initialP2WPKH, #initialP2TR).
|
|
173
|
-
* @param {string} params.beaconType The type of beacon service being created (SingletonBeacon, SMTAggregatorBeacon).
|
|
174
|
-
* @param {string} params.bitcoinAddress The bitcoin address to use for the service endpoint.
|
|
175
|
-
* @returns {BeaconService} One BeaconService object.
|
|
176
|
-
*/
|
|
177
|
-
static manufactureBeacon(params) {
|
|
178
|
-
return BeaconFactory.establish(params).service;
|
|
179
|
-
}
|
|
180
141
|
/**
|
|
181
142
|
* Convert beacon service endpoints from BIP-21 URIs to addresses.
|
|
182
|
-
* @param {
|
|
183
|
-
* @returns {
|
|
143
|
+
* @param {BeaconService} beacon The beacon service to parse.
|
|
144
|
+
* @returns {BeaconServiceAddress} The beacon service with the address field extracted from the serviceEndpoint.
|
|
184
145
|
*/
|
|
185
|
-
static
|
|
186
|
-
return
|
|
146
|
+
static parseBeaconServiceEndpoint(beacon) {
|
|
147
|
+
return { ...beacon, serviceEndpoint: beacon.serviceEndpoint.replace('bitcoin:', '') };
|
|
187
148
|
}
|
|
188
149
|
/**
|
|
189
150
|
* Create a map of address => beaconService with address field.
|
|
190
151
|
* @param {Array<BeaconService>} beacons The list of beacon services.
|
|
191
|
-
* @returns {Map<string,
|
|
152
|
+
* @returns {Map<string, BeaconService>} A map of address => beaconService.
|
|
192
153
|
*/
|
|
193
|
-
static
|
|
194
|
-
|
|
195
|
-
|
|
154
|
+
static getBeaconServicesMap(beacons) {
|
|
155
|
+
return new Map(beacons
|
|
156
|
+
.map(this.parseBeaconServiceEndpoint)
|
|
157
|
+
.map((beacon) => ([beacon.serviceEndpoint, beacon])));
|
|
196
158
|
}
|
|
197
159
|
/**
|
|
198
160
|
* Get the beacon service ids from a list of beacon services.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/core/beacon/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAmB,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/core/beacon/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BitcoinNetworkNames, IdentifierTypes, INVALID_DID, METHOD_NOT_SUPPORTED
|
|
1
|
+
import { BitcoinNetworkNames, IdentifierError, IdentifierTypes, INVALID_DID, METHOD_NOT_SUPPORTED } from '@did-btcr2/common';
|
|
2
2
|
import { CompressedSecp256k1PublicKey, SchnorrKeyPair } from '@did-btcr2/keypair';
|
|
3
3
|
import { bech32m } from '@scure/base';
|
|
4
4
|
;
|
|
@@ -34,19 +34,19 @@ export class Identifier {
|
|
|
34
34
|
static encode({ idType, version, network, genesisBytes }) {
|
|
35
35
|
// 1. If idType is not a valid value per above, raise invalidDid error.
|
|
36
36
|
if (!(idType in IdentifierTypes)) {
|
|
37
|
-
throw new
|
|
37
|
+
throw new IdentifierError('Expected "idType" to be "KEY" or "EXTERNAL"', INVALID_DID, { idType });
|
|
38
38
|
}
|
|
39
39
|
// 2. If version is greater than 1, raise invalidDid error.
|
|
40
40
|
if (isNaN(version) || version > 1) {
|
|
41
|
-
throw new
|
|
41
|
+
throw new IdentifierError('Expected "version" to be 1', INVALID_DID, { version });
|
|
42
42
|
}
|
|
43
43
|
// 3. If network is not a valid value (bitcoin|signet|regtest|testnet3|testnet4|number), raise invalidDid error.
|
|
44
44
|
if (typeof network === 'string' && !(network in BitcoinNetworkNames)) {
|
|
45
|
-
throw new
|
|
45
|
+
throw new IdentifierError('Invalid "network" name', INVALID_DID, { network });
|
|
46
46
|
}
|
|
47
47
|
// 4. If network is a number and is outside the range of 1-8, raise invalidDid error.
|
|
48
48
|
if (typeof network === 'number' && (network < 0 || network > 8)) {
|
|
49
|
-
throw new
|
|
49
|
+
throw new IdentifierError('Invalid "network" number', INVALID_DID, { network });
|
|
50
50
|
}
|
|
51
51
|
// 5. If idType is “key” and genesisBytes is not a valid compressed secp256k1 public key, raise invalidDid error.
|
|
52
52
|
if (idType === 'KEY') {
|
|
@@ -54,7 +54,7 @@ export class Identifier {
|
|
|
54
54
|
new CompressedSecp256k1PublicKey(genesisBytes);
|
|
55
55
|
}
|
|
56
56
|
catch {
|
|
57
|
-
throw new
|
|
57
|
+
throw new IdentifierError('Expected "genesisBytes" to be a valid compressed secp256k1 public key', INVALID_DID, { genesisBytes });
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
// 6. Map idType to hrp from the following:
|
|
@@ -92,14 +92,11 @@ export class Identifier {
|
|
|
92
92
|
// 14. Create a dataBytes byte array from nibbles, where index is from 0 to nibbles.length / 2 - 1 and
|
|
93
93
|
// encodingBytes[index] = (nibbles[2 * index] << 4) | nibbles[2 * index + 1].
|
|
94
94
|
if (fCount !== 0) {
|
|
95
|
-
for (
|
|
96
|
-
throw new
|
|
95
|
+
for (const index in Array.from({ length: (nibbles.length / 2) - 1 })) {
|
|
96
|
+
throw new IdentifierError('Not implemented', 'NOT_IMPLEMENTED', { index });
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
const dataBytes = new Uint8Array([(nibbles[2 * 0] << 4) | nibbles[2 * 0 + 1], ...genesisBytes]);
|
|
100
|
-
// 15. Set identifier to “did:btcr2:”.
|
|
101
|
-
// 16. Pass hrp and dataBytes to the Bech32m Encoding algorithm, retrieving encodedString.
|
|
102
|
-
// 17. Append encodedString to identifier.
|
|
103
100
|
// 18. Return identifier.
|
|
104
101
|
return `did:btcr2:${bech32m.encodeFromBytes(hrp, dataBytes)}`;
|
|
105
102
|
}
|
|
@@ -116,30 +113,30 @@ export class Identifier {
|
|
|
116
113
|
const components = identifier.split(':');
|
|
117
114
|
// 2. If the length of the components array is not 3, raise invalidDid error.
|
|
118
115
|
if (components.length !== 3) {
|
|
119
|
-
throw new
|
|
116
|
+
throw new IdentifierError(`Invalid did: ${identifier}`, INVALID_DID, { identifier });
|
|
120
117
|
}
|
|
121
118
|
// Deconstruct the components of the identifier: scheme, method, encoded
|
|
122
119
|
const [scheme, method, encoded] = components;
|
|
123
120
|
// 3. If components[0] is not “did”, raise invalidDid error.
|
|
124
121
|
if (scheme !== 'did') {
|
|
125
|
-
throw new
|
|
122
|
+
throw new IdentifierError(`Invalid did: ${identifier}`, INVALID_DID, { identifier });
|
|
126
123
|
}
|
|
127
124
|
// 4. If components[1] is not “btcr2”, raise methodNotSupported error.
|
|
128
125
|
if (method !== 'btcr2') {
|
|
129
|
-
throw new
|
|
126
|
+
throw new IdentifierError(`Invalid did method: ${method}`, METHOD_NOT_SUPPORTED, { identifier });
|
|
130
127
|
}
|
|
131
128
|
// 5. Set encodedString to components[2].
|
|
132
129
|
if (!encoded) {
|
|
133
|
-
throw new
|
|
130
|
+
throw new IdentifierError(`Invalid method-specific id: ${identifier}`, INVALID_DID, { identifier });
|
|
134
131
|
}
|
|
135
132
|
// 6. Pass encodedString to the Bech32m Decoding algorithm, retrieving hrp and dataBytes.
|
|
136
133
|
const { prefix: hrp, bytes: dataBytes } = bech32m.decodeToBytes(encoded);
|
|
137
134
|
// 7. If the Bech32m decoding algorithm fails, raise invalidDid error.
|
|
138
135
|
if (!['x', 'k'].includes(hrp)) {
|
|
139
|
-
throw new
|
|
136
|
+
throw new IdentifierError(`Invalid hrp: ${hrp}`, INVALID_DID, { identifier });
|
|
140
137
|
}
|
|
141
138
|
if (!dataBytes) {
|
|
142
|
-
throw new
|
|
139
|
+
throw new IdentifierError(`Failed to decode id: ${encoded}`, INVALID_DID, { identifier });
|
|
143
140
|
}
|
|
144
141
|
// 8. Map hrp to idType from the following:
|
|
145
142
|
// “k” - “key”
|
|
@@ -170,7 +167,7 @@ export class Identifier {
|
|
|
170
167
|
nibblesConsumed += 1;
|
|
171
168
|
// 14. If version is greater than 1, raise invalidDid error.
|
|
172
169
|
if (version > 1) {
|
|
173
|
-
throw new
|
|
170
|
+
throw new IdentifierError(`Invalid version: ${version}`, INVALID_DID, { identifier });
|
|
174
171
|
}
|
|
175
172
|
}
|
|
176
173
|
version += versionNibble;
|
|
@@ -195,7 +192,7 @@ export class Identifier {
|
|
|
195
192
|
network = networkValue - 11;
|
|
196
193
|
}
|
|
197
194
|
else {
|
|
198
|
-
throw new
|
|
195
|
+
throw new IdentifierError(`Invalid did: ${identifier}`, INVALID_DID, { identifier });
|
|
199
196
|
}
|
|
200
197
|
}
|
|
201
198
|
// 17. If the number of nibbles consumed is odd:
|
|
@@ -204,7 +201,7 @@ export class Identifier {
|
|
|
204
201
|
const fillerNibble = currentByte & 0x0F;
|
|
205
202
|
// 17.2 If fillerNibble is not 0, raise invalidDid error.
|
|
206
203
|
if (fillerNibble !== 0) {
|
|
207
|
-
throw new
|
|
204
|
+
throw new IdentifierError(`Invalid did: ${identifier}`, INVALID_DID, { identifier });
|
|
208
205
|
}
|
|
209
206
|
}
|
|
210
207
|
// 18. Set genesisBytes to the remaining dataBytes.
|
|
@@ -215,7 +212,7 @@ export class Identifier {
|
|
|
215
212
|
new CompressedSecp256k1PublicKey(genesisBytes);
|
|
216
213
|
}
|
|
217
214
|
catch {
|
|
218
|
-
throw new
|
|
215
|
+
throw new IdentifierError(`Invalid genesisBytes: ${genesisBytes}`, INVALID_DID, { identifier });
|
|
219
216
|
}
|
|
220
217
|
}
|
|
221
218
|
// 20. Return idType, version, network, and genesisBytes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../../src/core/identifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAS,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../../src/core/identifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/core/interfaces.ts"],"names":[],"mappings":""}
|