@ashlar-blue/x402-trust 0.3.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/LICENSE +21 -0
- package/README.md +198 -0
- package/dist/attested-directory.d.ts +78 -0
- package/dist/attested-directory.d.ts.map +1 -0
- package/dist/attested-directory.js +163 -0
- package/dist/attested-directory.js.map +1 -0
- package/dist/badges.d.ts +131 -0
- package/dist/badges.d.ts.map +1 -0
- package/dist/badges.js +213 -0
- package/dist/badges.js.map +1 -0
- package/dist/catalog-mcp.d.ts +145 -0
- package/dist/catalog-mcp.d.ts.map +1 -0
- package/dist/catalog-mcp.js +409 -0
- package/dist/catalog-mcp.js.map +1 -0
- package/dist/census-reconcile.d.ts +69 -0
- package/dist/census-reconcile.d.ts.map +1 -0
- package/dist/census-reconcile.js +162 -0
- package/dist/census-reconcile.js.map +1 -0
- package/dist/directory-classify.d.ts +47 -0
- package/dist/directory-classify.d.ts.map +1 -0
- package/dist/directory-classify.js +54 -0
- package/dist/directory-classify.js.map +1 -0
- package/dist/discovery.d.ts +304 -0
- package/dist/discovery.d.ts.map +1 -0
- package/dist/discovery.js +926 -0
- package/dist/discovery.js.map +1 -0
- package/dist/evidence-ref.d.ts +96 -0
- package/dist/evidence-ref.d.ts.map +1 -0
- package/dist/evidence-ref.js +179 -0
- package/dist/evidence-ref.js.map +1 -0
- package/dist/facilitator-config.d.ts +83 -0
- package/dist/facilitator-config.d.ts.map +1 -0
- package/dist/facilitator-config.js +94 -0
- package/dist/facilitator-config.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/manifest-sig.d.ts +131 -0
- package/dist/manifest-sig.d.ts.map +1 -0
- package/dist/manifest-sig.js +262 -0
- package/dist/manifest-sig.js.map +1 -0
- package/dist/merkle-transcript.d.ts +34 -0
- package/dist/merkle-transcript.d.ts.map +1 -0
- package/dist/merkle-transcript.js +162 -0
- package/dist/merkle-transcript.js.map +1 -0
- package/dist/open-catalog.d.ts +111 -0
- package/dist/open-catalog.d.ts.map +1 -0
- package/dist/open-catalog.js +307 -0
- package/dist/open-catalog.js.map +1 -0
- package/dist/reconcile.d.ts +150 -0
- package/dist/reconcile.d.ts.map +1 -0
- package/dist/reconcile.js +136 -0
- package/dist/reconcile.js.map +1 -0
- package/dist/trust-sdk.d.ts +127 -0
- package/dist/trust-sdk.d.ts.map +1 -0
- package/dist/trust-sdk.js +147 -0
- package/dist/trust-sdk.js.map +1 -0
- package/dist/types.d.ts +213 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +68 -0
- package/dist/types.js.map +1 -0
- package/package.json +52 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,kFAAkF;AAClF,gFAAgF;AA6DhF,+DAA+D;AAE/D,MAAM,WAAW,GAAG,QAAQ,CAAC;AAE7B;;;;GAIG;AACH;;;;;;;GAOG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;CAAG;AAEhD,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC1C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,SAAS;QACxB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACtD,uEAAuE;QACvE,wEAAwE;QACxE,uEAAuE;QACvE,qEAAqE;QACrE,uEAAuE;QACvE,2DAA2D;QAC3D,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAG,iCAAiC;QACpE,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;IACL,CAAC;IACD,0EAA0E;IAC1E,wEAAwE;IACxE,qEAAqE;IACrE,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,IAAI,GAAG;QAAE,MAAM,IAAI,kBAAkB,CAAC,mCAAmC,GAAG,2CAA2C,CAAC,CAAC;IACzH,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,kBAAkB,CAAC,uDAAuD,CAAC,CAAC;IAC/F,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,MAAM,IAAI,kBAAkB,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;IACzG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,kBAAkB,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,OAAO;QACH,CAAC,EAAE,WAAW;QACd,EAAE;QACF,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnH,CAAC;AACN,CAAC;AAoCD,8EAA8E;AAC9E,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAErF,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC7C,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,GAAG;YAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACxD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,IAAI,CAAC,YAAY,kBAAkB;YAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QACtF,MAAM,CAAC,CAAC;IACZ,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACvB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,WAA+B,CAAC;IAEpC,gDAAgD;IAChD,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,WAAW,GAAG,GAAG,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACxE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IACrD,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,SAAS;QACxB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,qEAAqE;IACrE,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QACtG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,WAAW,GAAG,CAAC,CAAC;IAC/E,CAAC;IAED,gEAAgE;IAChE,KAAK,MAAM,CAAC,IAAI,kBAAkB,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,WAAW,GAAG,GAAG,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,gCAAgC,CAAC,CAAC;YAC7E,MAAM;QACV,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACnD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACjF,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,kBAAkB,CAAC,CAElC;IACG,MAAM,KAAK,GAAG,CAAC,KAAK,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,CAAU;IACzC,OAAO,OAAO,CAAC,KAAK,QAAQ;WACrB,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;WACxC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;WACtC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAS,gBAAgB,CAAC,OAAe;IACrC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC/D,IAAI,CAAC;QACD,sEAAsE;QACtE,sEAAsE;QACtE,iEAAiE;QACjE,OAAO,IAAI,GAAG,CAAC,WAAW,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC;IAC5F,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IAClC,yEAAyE;IACzE,2EAA2E;IAC3E,qDAAqD;IACrD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvE,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,MAAc;IACtD,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtE,MAAM,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9B,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,mEAAmE;AACnE,EAAE;AACF,wEAAwE;AACxE,6EAA6E;AAC7E,kEAAkE;AAClE,+EAA+E;AAC/E,uEAAuE;AACvE,8EAA8E;AAC9E,6EAA6E;AAC7E,gCAAgC;AAChC,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,2EAA2E;AAC3E,+EAA+E;AAC/E,gFAAgF;AAChF,6DAA6D;AAC7D,EAAE;AACF,uEAAuE;AACvE,0EAA0E;AAC1E,6EAA6E;AAC7E,gDAAgD;AAChD,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,4EAA4E;AAC5E,8EAA8E;AAC9E,0EAA0E;AAE1E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IAC/C,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC;YAAC,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;IAC7E,CAAC;IACD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACzF,uEAAuE;IACvE,0EAA0E;IAC1E,iFAAiF;IACjF,wEAAwE;IACxE,sEAAsE;IACtE,wEAAwE;IACxE,aAAa;IACb,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,IAAI,GAAG,UAAU,CAAC;IAElB,0EAA0E;IAC1E,yEAAyE;IACzE,4EAA4E;IAC5E,wEAAwE;IACxE,uEAAuE;IACvE,6EAA6E;IAC7E,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAElG,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnF,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,kBAAkB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,CAAU,EAAE,SAAiB,EAAE,IAAY;IAC1E,2EAA2E;IAC3E,kEAAkE;IAClE,0EAA0E;IAC1E,+DAA+D;IAC/D,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC,CAAuB,2BAA2B;IACpF,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC,CAAE,oBAAoB;IAC5F,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAEtD,MAAM,GAAG,GAAG,CAAwB,CAAC;IACrC,MAAM,MAAM,GAAG,CAAC,CAAU,EAAiB,EAAE;QACzC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACvC,IAAI,CAAC;YAAC,OAAO,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;IAChF,CAAC,CAAC;IACF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC9C,IAAI,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;YACpE,IAAI,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IACD,yEAAyE;IACzE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC;AAkBD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAU;IACvC,MAAM,CAAC,GAAwB,EAAE,CAAC;IAClC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACtC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACxH,CAAC;IACD,MAAM,GAAG,GAAG,CAAwB,CAAC;IAErC,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACtC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,CAAC,CAAC,aAAa,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACjE,CAAC,CAAC,IAAI,CAAC;YACH,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS;gBAC3B,CAAC,CAAC,2FAA2F;gBAC7F,CAAC,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACjD,YAAY,EAAE,gBAAgB;SACjC,CAAC,CAAC;IACP,CAAC;IACD,uEAAuE;IACvE,qEAAqE;IACrE,uEAAuE;IACvE,2EAA2E;IAC3E,4EAA4E;IAC5E,oEAAoE;IACpE,2EAA2E;IAC3E,0CAA0C;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,aAAa,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;IAClE,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACvE,IAAI,OAAO,EAAE,CAAC;YACV,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,yJAAyJ,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACzO,CAAC;aAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,6FAA6F,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC7K,CAAC;IACL,CAAC;SAAM,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAC9I,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,iGAAiG,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACjL,CAAC;IACD,IAAI,OAAO,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC;QAC1B,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,KAAK,SAAS;gBAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,yDAAyD,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC9J,CAAC;aAAM,CAAC;YACJ,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,mCAAmC,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAC3H,CAAC;YACD,KAAK,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACjD,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC9B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC1B,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBACrI,CAAC;qBAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClC,2DAA2D;oBAC3D,6DAA6D;oBAC7D,6DAA6D;oBAC7D,4DAA4D;oBAC5D,6DAA6D;oBAC7D,2DAA2D;oBAC3D,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,oEAAoE,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBAC/L,CAAC;YACL,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClD,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,6CAA6C,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACnI,CAAC;iBAAM,CAAC;gBACJ,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oBACtB,IAAI,OAAO,CAAC,EAAE,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;wBAClE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,mCAAmC,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;wBACvH,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,CAAU;IACpC,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,gBAAgB,CAAC,CAAC;AACjF,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,gBAAgB,CAAC,CAAU;IACvC,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACR,kEAAkE;QAClE,kEAAkE;QAClE,qEAAqE;QACrE,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,gBAAgB,CAAC;YACrE,CAAC,CAAC,0FAA0F;YAC5F,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,CAAsB,CAAC;AAClC,CAAC;AAED,uDAAuD;AACvD,EAAE;AACF,wEAAwE;AACxE,uEAAuE;AACvE,sEAAsE;AACtE,wEAAwE;AACxE,mEAAmE;AACnE,wDAAwD;AAExD,sEAAsE;AACtE,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AAEjC,MAAM,aAAa,GAAG,oEAAoE,CAAC;AAE3F;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,GAAY,EAAE,SAAiB;IACzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC3D,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QACxC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAC5E,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,SAAS;QACb,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,KAAK,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAED,iEAAiE;AAEjE,uDAAuD;AACvD,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,yEAAyE;AACzE,MAAM,kBAAkB,GAAG,GAAG,GAAG,IAAI,CAAC;AACtC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC,+BAA+B;AAC/B,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,2DAA2D;AAC3D,wEAAwE;AACxE,qEAAqE;AACrE,wEAAwE;AACxE,uEAAuE;AACvE,wEAAwE;AAExE;qEACqE;AACrE,MAAM,UAAU,gBAAgB,CAAC,EAAU;IACvC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACjE,IAAI,EAAE,EAAE,CAAC;QACL,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG;eAChC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAU,QAAQ;eACpD,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAqB,8BAA8B;eAC3E,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;eACjC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5B,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,KAAK;WAC3B,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAA2B,aAAa;WAC9D,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAM,eAAe;AAC3E,CAAC;AAID;;;;;;GAMG;AACH,KAAK,UAAU,uBAAuB,CAAC,GAAW,EAAE,MAAkB;IAClE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3D,iCAAiC;IACjC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9C,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,iDAAiD,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC;QACtF,CAAC;QACD,OAAO;IACX,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,2BAA2B,CAAC,CAAC;IAC7F,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACzC,IAAI,GAAG,EAAE,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,iCAAiC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC;IACtG,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAgB;IACzC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,SAAuB;IAC5D,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;QAC7B,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;QACvC,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC;KACnD,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC3E,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAE7C,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACjE,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QAC7D,MAAM,IAAI,kBAAkB,CAAC,wCAAwC,QAAQ,eAAe,kBAAkB,GAAG,CAAC,CAAC;IACvH,CAAC;IACD,2EAA2E;IAC3E,0EAA0E;IAC1E,oEAAoE;IACpE,0EAA0E;IAC1E,uEAAuE;IACvE,gDAAgD;IAChD,MAAM,MAAM,GAAI,GAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;IACrD,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,SAAS,CAAC;YACN,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC;YAC1B,IAAI,KAAK,GAAG,kBAAkB,EAAE,CAAC;gBAC7B,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAqB,CAAC,CAAC,CAAC;gBACzD,MAAM,IAAI,kBAAkB,CAAC,sCAAsC,kBAAkB,mBAAmB,CAAC,CAAC;YAC9G,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IAC1C,CAAC;IACD,2EAA2E;IAC3E,wEAAwE;IACxE,2DAA2D;IAC3D,IAAI,OAAQ,GAAgB,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,GAAG,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;YAClC,MAAM,IAAI,kBAAkB,CAAC,sCAAsC,kBAAkB,QAAQ,CAAC,CAAC;QACnG,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,oGAAoG,CAAC,CAAC;AAC1H,CAAC;AA4ED,MAAM,CAAC,MAAM,eAAe,GAA6C,MAAM,CAAC,MAAM,CAAC;IACnF,WAAW,EAAE,EAAE,GAAG,MAAM;IACxB,WAAW,EAAE,MAAM;IACnB,OAAO,EAAE,CAAC,GAAG,MAAM;CACtB,CAAC,CAAC;AAEH,yEAAyE;AACzE,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,MAAM,aAAa,GAAG,IAAI,GAAG,EAA0E,CAAC;AAExG,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACjB;IAAwC;IAApE,YAA4B,MAAsB,EAAkB,aAAqB,EAAE,MAAc;QACrG,KAAK,CAAC,oBAAoB,MAAM,cAAc,MAAM,KAAK,aAAa,EAAE,CAAC,CAAC;QADlD,WAAM,GAAN,MAAM,CAAgB;QAAkB,kBAAa,GAAb,aAAa,CAAQ;QAErF,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACzC,CAAC;CACJ;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,MAAsB,EAAE,OAAe,EAAE,GAAW,EAAE,IAAoC;IAChI,oEAAoE;IACpE,8DAA8D;IAC9D,mCAAmC;IACnC,IAAI,aAAa,CAAC,IAAI,IAAI,kBAAkB,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI;YAAE,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IACD,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,mBAAmB,CAAC,MAAe;IAC/C,IAAI,MAAM;QAAE,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;;QACpC,aAAa,CAAC,KAAK,EAAE,CAAC;AAC/B,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAEhE,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;AAC1F,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAc,EAAE,IAkBjD;IACG,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,KAAK,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACpC,MAAM,IAAI,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,CAAC,IAAI,EAAE,aAAa,IAAI,EAAE,CAAC,EAAE,CAAC;IACpE,uEAAuE;IACvE,0EAA0E;IAC1E,wEAAwE;IACxE,wEAAwE;IACxE,0EAA0E;IAC1E,oEAAoE;IACpE,wCAAwC;IACxC,MAAM,MAAM,GAAsB,IAAI,EAAE,UAAU;WAC3C,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE,GAAG,IAAI,MAAM;QAAE,MAAM,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QAC3D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,GAAG,KAAK,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,GAAG;YAAE,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAG,oBAAoB;IACjE,CAAC;IAED,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,CAAC,MAAsB,EAAE,CAAU,EAAS,EAAE;QAC3D,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,EAAE,OAAO;YAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7E,MAAM,CAAC,CAAC;IACZ,CAAC,CAAC;IAEF,IAAI,WAAW,GAAG,WAAW,MAAM,mBAAmB,CAAC;IACvD,IAAI,GAAG,GAAyB,YAAY,CAAC;IAC7C,IAAI,SAAoC,CAAC;IAEzC,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;QACpD,mEAAmE;QACnE,oEAAoE;QACpE,mEAAmE;QACnE,kEAAkE;QAClE,qEAAqE;QACrE,MAAM,SAAS,GAAG,OAAO;aACpB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;aAClD,MAAM,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACnD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,kBAAkB,CACxB,oBAAoB,SAAS,CAAC,MAAM,8CAA8C,MAAM,kCAAkC,CAC7H,CAAC;QACN,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,kBAAkB,CAAC,0CAA0C,MAAM,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACnG,CAAC;YACD,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC;YACxB,GAAG,GAAG,SAAS,CAAC;YAChB,SAAS,GAAG,MAAM,CAAC;QACvB,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,wEAAwE;QACxE,sEAAsE;QACtE,uEAAuE;QACvE,uEAAuE;QACvE,oEAAoE;QACpE,qEAAqE;QACrE,6BAA6B;QAC7B,IAAI,CAAC,YAAY,kBAAkB;YAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,qEAAqE;IACrE,sEAAsE;IACtE,8DAA8D;IAC9D,qEAAqE;IACrE,oEAAoE;IACpE,sEAAsE;IACtE,wEAAwE;IACxE,IAAI,OAAiD,CAAC;IACtD,IAAI,GAAa,CAAC;IAClB,IAAI,CAAC;QACD,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;QACzB,OAAO,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACrD,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QAClB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,GAAG,sBAAsB,EAAE,GAAG,EAAE,EAAE,CAAC;YAC7F,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ;gBAAE,MAAM;YACrB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YAChC,kEAAkE;YAClE,mEAAmE;YACnE,kEAAkE;YAClE,eAAe;YACf,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAChC,MAAM,IAAI,kBAAkB,CAAC,+DAA+D,IAAI,EAAE,CAAC,CAAC;YACxG,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,kBAAkB,CAAC,6CAA6C,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;YACjG,CAAC;YACD,WAAW,GAAG,IAAI,CAAC,CAAG,4CAA4C;YAClE,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC,CAAG,qEAAqE;YACjG,OAAO,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YACrD,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACtB,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,sEAAsE;QACtE,uEAAuE;QACvE,wEAAwE;QACxE,qEAAqE;QACrE,iEAAiE;QACjE,qBAAqB;QACrB,IAAI,CAAC,YAAY,kBAAkB;YAAE,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACnE,OAAO,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACxC,QAAQ,CAAC,SAAS,EAAE,IAAI,KAAK,CAAC,oDAAoD,MAAM,EAAE,CAAC,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACV,iEAAiE;QACjE,6DAA6D;QAC7D,+DAA+D;QAC/D,QAAQ,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,EAC3E,IAAI,KAAK,CAAC,2CAA2C,GAAG,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,QAA2B,CAAC;IAChC,IAAI,CAAC;QACD,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,sDAAsD;QACtD,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,qEAAqE;IACrE,qEAAqE;IACrE,uEAAuE;IACvE,oEAAoE;IACpE,sEAAsE;IACtE,sDAAsD;IACtD,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;QAC9E,QAAQ,CAAC,SAAS,EAAE,IAAI,KAAK,CACzB,uDAAuD,MAAM,KAAK,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,CACnG,CAAC,CAAC;IACP,CAAC;IAED,mEAAmE;IACnE,qEAAqE;IACrE,qEAAqE;IACrE,mEAAmE;IACnE,oEAAoE;IACpE,qEAAqE;IACrE,wEAAwE;IACxE,yEAAyE;IACzE,wEAAwE;IACxE,gEAAgE;IAChE,wEAAwE;IACxE,qEAAqE;IACrE,MAAM,GAAG,GAAI,QAAmE,CAAC,WAAW,CAAC;IAC7F,MAAM,iBAAiB,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;WAC/C,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;WACvE,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE1C,8DAA8D;IAC9D,gEAAgE;IAChE,mEAAmE;IACnE,6DAA6D;IAC7D,sEAAsE;IACtE,mEAAmE;IACnE,sEAAsE;IACtE,iDAAiD;IACjD,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACvC,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,KAAK,QAAQ;mBAC9B,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;mBAC5B,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,GAAG,KAAK,QAAQ;gBAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpE,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC3C,QAAsC,CAAC,SAAS,GAAG,IAAI,CAAC;QAC7D,CAAC;IACL,CAAC;IAED,uEAAuE;IACvE,uEAAuE;IACvE,mEAAmE;IACnE,MAAM,QAAQ,GAAG,aAAa,CAAE,QAAgC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAChF,IAAK,QAAgC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACvD,QAAiC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC9D,CAAC;IAED,MAAM,GAAG,GAAkB;QACvB,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,iBAAiB;QAC7C,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC;IAEF,IAAI,IAAI,EAAE,aAAa,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC/C,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAC1B,OAAO,GAAG,CAAC;IACf,CAAC;IACD,CAAC;QACG,MAAM,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;QAC/B,uEAAuE;QACvE,oEAAoE;QACpE,qEAAqE;QACrE,mEAAmE;QACnE,mEAAmE;QACnE,6BAA6B;QAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACvD,uEAAuE;QACvE,yEAAyE;QACzE,wEAAwE;QACxE,4BAA4B;QAC5B,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAC9B,CAAC;aAAM,CAAC;YACJ,mEAAmE;YACnE,iEAAiE;YACjE,oEAAoE;YACpE,kEAAkE;YAClE,gEAAgE;YAChE,UAAU;YACV,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;YACrB,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACpD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;oBACf,GAAG,CAAC,SAAS,GAAG,aAAa,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAmC,CAAC;oBACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;wBAC9B,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACJ,MAAM,IAAI,GAAG,CAAC,EAAmB,EAAE,EAAE,CAAC,EAAE;6BACnC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;6BACrD,IAAI,EAAE;6BACN,IAAI,CAAC,GAAG,CAAC,CAAC;wBACf,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;wBAC3B,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBACxD,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;oBACzB,CAAC;gBACL,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,iEAAiE;gBACjE,gEAAgE;gBAChE,6DAA6D;gBAC7D,0BAA0B;gBAC1B,IAAI,CAAC,YAAY,kBAAkB;oBAAE,MAAM,CAAC,CAAC;gBAC7C,GAAG,CAAC,SAAS,GAAG,aAAa,CAAC;YAClC,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical evidence reference — `x402ev/1`.
|
|
3
|
+
*
|
|
4
|
+
* WHY THIS EXISTS (giskard09, x402-foundation/x402#3000, 2026-08-01):
|
|
5
|
+
* our `attestations` spec amendment added `evidenceDigest` and
|
|
6
|
+
* `evidenceAnchor` alongside `evidenceRef` — but said nothing about how
|
|
7
|
+
* a REGISTRY CONTRACT carries them. Ours (`FCAttestationBadges`) has a
|
|
8
|
+
* single `string evidenceRef` field, and so will most others: adding
|
|
9
|
+
* typed columns means a redeploy and a new address, which breaks every
|
|
10
|
+
* manifest already pointing at the registry. So the triple has to
|
|
11
|
+
* survive inside one string, and it has to do so in a form two
|
|
12
|
+
* independent implementations can compare BYTE FOR BYTE.
|
|
13
|
+
*
|
|
14
|
+
* Grammar (canonical form):
|
|
15
|
+
*
|
|
16
|
+
* x402ev/1; digest=<alg>:<hex>[; anchor=<caip2>:<contract>:<record>][; ref=<uri>]
|
|
17
|
+
*
|
|
18
|
+
* - `x402ev/1` version tag; parsers reject unknown majors.
|
|
19
|
+
* - `digest=` REQUIRED. Algorithm-prefixed so the format survives a
|
|
20
|
+
* hash migration (crypto-agility, ledger §17a):
|
|
21
|
+
* `sha256:<64 lowercase hex>` today.
|
|
22
|
+
* - `anchor=` OPTIONAL. Where the digest is independently recorded:
|
|
23
|
+
* CAIP-2 chain + contract + record id, e.g.
|
|
24
|
+
* `eip155:114:0xb02f…29c5:6`. Omit when the registry
|
|
25
|
+
* record CARRYING this string is itself the anchor —
|
|
26
|
+
* a badge that contains the digest needs no second
|
|
27
|
+
* witness, and claiming one would be noise.
|
|
28
|
+
* - `ref=` OPTIONAL. Where a human or crawler can FETCH the
|
|
29
|
+
* artifact. Rot is expected; the digest is the truth.
|
|
30
|
+
*
|
|
31
|
+
* Canonicalization (what makes byte comparison meaningful):
|
|
32
|
+
* fixed field order (digest, anchor, ref) · separator exactly "; " ·
|
|
33
|
+
* algorithm and hex lowercased · addresses lowercased (comparison
|
|
34
|
+
* beats EIP-55 vanity here) · no trailing separator. Parsers MUST
|
|
35
|
+
* accept fields in any order and MUST re-emit canonical order.
|
|
36
|
+
*
|
|
37
|
+
* Non-goal: this does not replace free-text context. Human notes belong
|
|
38
|
+
* in the artifact the digest covers, not in the reference to it.
|
|
39
|
+
*/
|
|
40
|
+
/**
|
|
41
|
+
* Canonical JSON for anything we digest (RFC 8785 / JCS subset).
|
|
42
|
+
*
|
|
43
|
+
* Lives here, next to the reference format, because the digest is only
|
|
44
|
+
* meaningful if two implementations serialize the SAME artifact to the
|
|
45
|
+
* SAME bytes. Every place we hash an evidence artifact MUST use this —
|
|
46
|
+
* a second, subtly different canonicalizer is how digests silently stop
|
|
47
|
+
* matching.
|
|
48
|
+
*
|
|
49
|
+
* Rules: object keys sorted, no insignificant whitespace, arrays keep
|
|
50
|
+
* their order (order is semantic in JSON), primitives via JSON.stringify.
|
|
51
|
+
*
|
|
52
|
+
* This is not "JCS-ish" — it is RFC 8785, and we test it as such.
|
|
53
|
+
* RFC 8785 is *defined* in ECMAScript terms, which is why so little code
|
|
54
|
+
* is needed here: JS sorts strings by UTF-16 code unit (what JCS
|
|
55
|
+
* mandates), and `JSON.stringify` already implements JCS number
|
|
56
|
+
* formatting (Number::toString) and minimal string escaping. Verified
|
|
57
|
+
* against the RFC author's own vectors — arrays, french, structures,
|
|
58
|
+
* unicode, values, weird — byte-for-byte, vendored in
|
|
59
|
+
* `tests/x402/vectors/jcs/` so it cannot silently regress.
|
|
60
|
+
*
|
|
61
|
+
* One honest boundary: RFC 8785 canonicalizes PARSED JSON data, so
|
|
62
|
+
* information lost at parse time (duplicate keys, the original text of
|
|
63
|
+
* a number like `1.0`) is out of scope by design, not by omission.
|
|
64
|
+
*/
|
|
65
|
+
export declare function canonicalJson(value: unknown): string;
|
|
66
|
+
export interface EvidenceRef {
|
|
67
|
+
/** Hash algorithm, lowercase. `sha256` today. */
|
|
68
|
+
alg: string;
|
|
69
|
+
/** Digest of the evidence artifact, lowercase hex, no 0x. */
|
|
70
|
+
hex: string;
|
|
71
|
+
/** Optional independent record of the digest. */
|
|
72
|
+
anchor?: {
|
|
73
|
+
/** CAIP-2 chain id, e.g. `eip155:114`. */
|
|
74
|
+
chain: string;
|
|
75
|
+
/** Contract holding the anchor record, lowercase hex with 0x. */
|
|
76
|
+
contract: string;
|
|
77
|
+
/** Record identifier within that contract (token id, index, …). */
|
|
78
|
+
record: string;
|
|
79
|
+
};
|
|
80
|
+
/** Optional fetchable location of the artifact. */
|
|
81
|
+
ref?: string;
|
|
82
|
+
}
|
|
83
|
+
export declare const EVIDENCE_REF_VERSION = "x402ev/1";
|
|
84
|
+
/** Canonical string for on-chain storage and byte-level comparison. */
|
|
85
|
+
export declare function encodeEvidenceRef(e: EvidenceRef): string;
|
|
86
|
+
/** Parse a canonical (or field-reordered) reference. Returns null if it is not one. */
|
|
87
|
+
export declare function parseEvidenceRef(s: string): EvidenceRef | null;
|
|
88
|
+
/**
|
|
89
|
+
* True when two references describe the same evidence. Compares the
|
|
90
|
+
* canonical DIGEST, never the ref — a moved artifact is still the same
|
|
91
|
+
* evidence, and a rewritten artifact at the same URL is not.
|
|
92
|
+
*/
|
|
93
|
+
export declare function sameEvidence(a: string, b: string): boolean;
|
|
94
|
+
/** Round-trip a reference into canonical byte form (idempotent). */
|
|
95
|
+
export declare function canonicalizeEvidenceRef(s: string): string | null;
|
|
96
|
+
//# sourceMappingURL=evidence-ref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence-ref.d.ts","sourceRoot":"","sources":["../src/evidence-ref.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMpD;AAED,MAAM,WAAW,WAAW;IACxB,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,MAAM,CAAC,EAAE;QACL,0CAA0C;QAC1C,KAAK,EAAE,MAAM,CAAC;QACd,iEAAiE;QACjE,QAAQ,EAAE,MAAM,CAAC;QACjB,mEAAmE;QACnE,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAK/C,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CA2BxD;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAsC9D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAK1D;AAED,oEAAoE;AACpE,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGhE"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
// GENERATED from src/x402/evidence-ref.ts by scripts/sdk/sync-sdk.ts — do not edit here.
|
|
2
|
+
// The canonical module is the one FlareClaw runs in production; this is a copy so
|
|
3
|
+
// that what we publish and what we run cannot diverge. Edit the canonical file.
|
|
4
|
+
/**
|
|
5
|
+
* Canonical evidence reference — `x402ev/1`.
|
|
6
|
+
*
|
|
7
|
+
* WHY THIS EXISTS (giskard09, x402-foundation/x402#3000, 2026-08-01):
|
|
8
|
+
* our `attestations` spec amendment added `evidenceDigest` and
|
|
9
|
+
* `evidenceAnchor` alongside `evidenceRef` — but said nothing about how
|
|
10
|
+
* a REGISTRY CONTRACT carries them. Ours (`FCAttestationBadges`) has a
|
|
11
|
+
* single `string evidenceRef` field, and so will most others: adding
|
|
12
|
+
* typed columns means a redeploy and a new address, which breaks every
|
|
13
|
+
* manifest already pointing at the registry. So the triple has to
|
|
14
|
+
* survive inside one string, and it has to do so in a form two
|
|
15
|
+
* independent implementations can compare BYTE FOR BYTE.
|
|
16
|
+
*
|
|
17
|
+
* Grammar (canonical form):
|
|
18
|
+
*
|
|
19
|
+
* x402ev/1; digest=<alg>:<hex>[; anchor=<caip2>:<contract>:<record>][; ref=<uri>]
|
|
20
|
+
*
|
|
21
|
+
* - `x402ev/1` version tag; parsers reject unknown majors.
|
|
22
|
+
* - `digest=` REQUIRED. Algorithm-prefixed so the format survives a
|
|
23
|
+
* hash migration (crypto-agility, ledger §17a):
|
|
24
|
+
* `sha256:<64 lowercase hex>` today.
|
|
25
|
+
* - `anchor=` OPTIONAL. Where the digest is independently recorded:
|
|
26
|
+
* CAIP-2 chain + contract + record id, e.g.
|
|
27
|
+
* `eip155:114:0xb02f…29c5:6`. Omit when the registry
|
|
28
|
+
* record CARRYING this string is itself the anchor —
|
|
29
|
+
* a badge that contains the digest needs no second
|
|
30
|
+
* witness, and claiming one would be noise.
|
|
31
|
+
* - `ref=` OPTIONAL. Where a human or crawler can FETCH the
|
|
32
|
+
* artifact. Rot is expected; the digest is the truth.
|
|
33
|
+
*
|
|
34
|
+
* Canonicalization (what makes byte comparison meaningful):
|
|
35
|
+
* fixed field order (digest, anchor, ref) · separator exactly "; " ·
|
|
36
|
+
* algorithm and hex lowercased · addresses lowercased (comparison
|
|
37
|
+
* beats EIP-55 vanity here) · no trailing separator. Parsers MUST
|
|
38
|
+
* accept fields in any order and MUST re-emit canonical order.
|
|
39
|
+
*
|
|
40
|
+
* Non-goal: this does not replace free-text context. Human notes belong
|
|
41
|
+
* in the artifact the digest covers, not in the reference to it.
|
|
42
|
+
*/
|
|
43
|
+
/**
|
|
44
|
+
* Canonical JSON for anything we digest (RFC 8785 / JCS subset).
|
|
45
|
+
*
|
|
46
|
+
* Lives here, next to the reference format, because the digest is only
|
|
47
|
+
* meaningful if two implementations serialize the SAME artifact to the
|
|
48
|
+
* SAME bytes. Every place we hash an evidence artifact MUST use this —
|
|
49
|
+
* a second, subtly different canonicalizer is how digests silently stop
|
|
50
|
+
* matching.
|
|
51
|
+
*
|
|
52
|
+
* Rules: object keys sorted, no insignificant whitespace, arrays keep
|
|
53
|
+
* their order (order is semantic in JSON), primitives via JSON.stringify.
|
|
54
|
+
*
|
|
55
|
+
* This is not "JCS-ish" — it is RFC 8785, and we test it as such.
|
|
56
|
+
* RFC 8785 is *defined* in ECMAScript terms, which is why so little code
|
|
57
|
+
* is needed here: JS sorts strings by UTF-16 code unit (what JCS
|
|
58
|
+
* mandates), and `JSON.stringify` already implements JCS number
|
|
59
|
+
* formatting (Number::toString) and minimal string escaping. Verified
|
|
60
|
+
* against the RFC author's own vectors — arrays, french, structures,
|
|
61
|
+
* unicode, values, weird — byte-for-byte, vendored in
|
|
62
|
+
* `tests/x402/vectors/jcs/` so it cannot silently regress.
|
|
63
|
+
*
|
|
64
|
+
* One honest boundary: RFC 8785 canonicalizes PARSED JSON data, so
|
|
65
|
+
* information lost at parse time (duplicate keys, the original text of
|
|
66
|
+
* a number like `1.0`) is out of scope by design, not by omission.
|
|
67
|
+
*/
|
|
68
|
+
export function canonicalJson(value) {
|
|
69
|
+
if (value === null || typeof value !== 'object')
|
|
70
|
+
return JSON.stringify(value);
|
|
71
|
+
if (Array.isArray(value))
|
|
72
|
+
return `[${value.map(canonicalJson).join(',')}]`;
|
|
73
|
+
const obj = value;
|
|
74
|
+
const keys = Object.keys(obj).sort();
|
|
75
|
+
return `{${keys.map(k => `${JSON.stringify(k)}:${canonicalJson(obj[k])}`).join(',')}}`;
|
|
76
|
+
}
|
|
77
|
+
export const EVIDENCE_REF_VERSION = 'x402ev/1';
|
|
78
|
+
const SEP = '; ';
|
|
79
|
+
const HEX_BY_ALG = { sha256: 64, sha384: 96, sha512: 128 };
|
|
80
|
+
/** Canonical string for on-chain storage and byte-level comparison. */
|
|
81
|
+
export function encodeEvidenceRef(e) {
|
|
82
|
+
const alg = e.alg.toLowerCase();
|
|
83
|
+
const hex = e.hex.toLowerCase().replace(/^0x/, '');
|
|
84
|
+
const expected = HEX_BY_ALG[alg];
|
|
85
|
+
if (!expected)
|
|
86
|
+
throw new Error(`unsupported digest algorithm: ${e.alg}`);
|
|
87
|
+
if (!new RegExp(`^[0-9a-f]{${expected}}$`).test(hex)) {
|
|
88
|
+
throw new Error(`${alg} digest must be ${expected} lowercase hex chars`);
|
|
89
|
+
}
|
|
90
|
+
const parts = [EVIDENCE_REF_VERSION, `digest=${alg}:${hex}`];
|
|
91
|
+
if (e.anchor) {
|
|
92
|
+
// Normalize FIRST, then validate — callers legitimately pass
|
|
93
|
+
// EIP-55 checksummed addresses and mixed-case CAIP namespaces.
|
|
94
|
+
const chain = e.anchor.chain.toLowerCase();
|
|
95
|
+
const contract = e.anchor.contract.toLowerCase();
|
|
96
|
+
const record = e.anchor.record;
|
|
97
|
+
if (!/^[-a-z0-9]+:[-_a-z0-9]+$/.test(chain))
|
|
98
|
+
throw new Error(`anchor chain must be CAIP-2, got: ${e.anchor.chain}`);
|
|
99
|
+
if (!/^0x[0-9a-f]{40}$/.test(contract))
|
|
100
|
+
throw new Error(`anchor contract must be a 20-byte hex address`);
|
|
101
|
+
if (!/^[0-9a-zA-Z._-]+$/.test(record))
|
|
102
|
+
throw new Error(`anchor record has illegal characters`);
|
|
103
|
+
parts.push(`anchor=${chain}:${contract}:${record}`);
|
|
104
|
+
}
|
|
105
|
+
if (e.ref) {
|
|
106
|
+
// URIs are case-sensitive and must survive verbatim; only the
|
|
107
|
+
// separator is forbidden inside them.
|
|
108
|
+
if (e.ref.includes(SEP))
|
|
109
|
+
throw new Error('ref must not contain "; "');
|
|
110
|
+
parts.push(`ref=${e.ref}`);
|
|
111
|
+
}
|
|
112
|
+
return parts.join(SEP);
|
|
113
|
+
}
|
|
114
|
+
/** Parse a canonical (or field-reordered) reference. Returns null if it is not one. */
|
|
115
|
+
export function parseEvidenceRef(s) {
|
|
116
|
+
const parts = s.split(SEP).map(p => p.trim()).filter(Boolean);
|
|
117
|
+
if (parts.length === 0)
|
|
118
|
+
return null;
|
|
119
|
+
const version = parts[0];
|
|
120
|
+
if (!version.startsWith('x402ev/'))
|
|
121
|
+
return null;
|
|
122
|
+
if (version.split('/')[1]?.split('.')[0] !== '1')
|
|
123
|
+
return null; // unknown major
|
|
124
|
+
let digest;
|
|
125
|
+
let anchor;
|
|
126
|
+
let ref;
|
|
127
|
+
for (const part of parts.slice(1)) {
|
|
128
|
+
const eq = part.indexOf('=');
|
|
129
|
+
if (eq < 0)
|
|
130
|
+
continue;
|
|
131
|
+
const key = part.slice(0, eq);
|
|
132
|
+
const value = part.slice(eq + 1);
|
|
133
|
+
if (key === 'digest') {
|
|
134
|
+
const colon = value.indexOf(':');
|
|
135
|
+
if (colon < 0)
|
|
136
|
+
return null;
|
|
137
|
+
const alg = value.slice(0, colon).toLowerCase();
|
|
138
|
+
const hex = value.slice(colon + 1).toLowerCase();
|
|
139
|
+
const expected = HEX_BY_ALG[alg];
|
|
140
|
+
if (!expected || !new RegExp(`^[0-9a-f]{${expected}}$`).test(hex))
|
|
141
|
+
return null;
|
|
142
|
+
digest = { alg, hex };
|
|
143
|
+
}
|
|
144
|
+
else if (key === 'anchor') {
|
|
145
|
+
// chain is CAIP-2 (`namespace:reference`), so split from the right.
|
|
146
|
+
const bits = value.split(':');
|
|
147
|
+
if (bits.length < 4)
|
|
148
|
+
return null;
|
|
149
|
+
const record = bits.pop();
|
|
150
|
+
const contract = bits.pop();
|
|
151
|
+
anchor = { chain: bits.join(':').toLowerCase(), contract: contract.toLowerCase(), record };
|
|
152
|
+
}
|
|
153
|
+
else if (key === 'ref') {
|
|
154
|
+
ref = value;
|
|
155
|
+
}
|
|
156
|
+
// Unknown keys are ignored — forward compatibility.
|
|
157
|
+
}
|
|
158
|
+
if (!digest)
|
|
159
|
+
return null;
|
|
160
|
+
return { alg: digest.alg, hex: digest.hex, ...(anchor ? { anchor } : {}), ...(ref ? { ref } : {}) };
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* True when two references describe the same evidence. Compares the
|
|
164
|
+
* canonical DIGEST, never the ref — a moved artifact is still the same
|
|
165
|
+
* evidence, and a rewritten artifact at the same URL is not.
|
|
166
|
+
*/
|
|
167
|
+
export function sameEvidence(a, b) {
|
|
168
|
+
const pa = parseEvidenceRef(a);
|
|
169
|
+
const pb = parseEvidenceRef(b);
|
|
170
|
+
if (!pa || !pb)
|
|
171
|
+
return false;
|
|
172
|
+
return pa.alg === pb.alg && pa.hex === pb.hex;
|
|
173
|
+
}
|
|
174
|
+
/** Round-trip a reference into canonical byte form (idempotent). */
|
|
175
|
+
export function canonicalizeEvidenceRef(s) {
|
|
176
|
+
const parsed = parseEvidenceRef(s);
|
|
177
|
+
return parsed ? encodeEvidenceRef(parsed) : null;
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=evidence-ref.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence-ref.js","sourceRoot":"","sources":["../src/evidence-ref.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Official-SDK adapter: turn x402 `discovery` resolution into the
|
|
3
|
+
* `FacilitatorConfig` that `@x402/core`'s `HTTPFacilitatorClient`
|
|
4
|
+
* accepts — so the one hardcoded line in every integration built from
|
|
5
|
+
* the Stripe Machine Payments sample,
|
|
6
|
+
*
|
|
7
|
+
* import { facilitator } from "@coinbase/x402";
|
|
8
|
+
* const client = new HTTPFacilitatorClient(facilitator);
|
|
9
|
+
*
|
|
10
|
+
* becomes a resolved choice:
|
|
11
|
+
*
|
|
12
|
+
* import { discoverFacilitator } from "@flareclaw/x402-trust";
|
|
13
|
+
* const { config } = await discoverFacilitator("facilitator.example.com");
|
|
14
|
+
* const client = new HTTPFacilitatorClient(config);
|
|
15
|
+
*
|
|
16
|
+
* The adapter deliberately does NOT depend on @x402/core: it returns a
|
|
17
|
+
* plain object matching core's `FacilitatorConfig` shape ({ url,
|
|
18
|
+
* timeoutMs? }), so this package stays zero-dependency and the caller's
|
|
19
|
+
* SDK version is the only SDK version involved.
|
|
20
|
+
*
|
|
21
|
+
* One constraint the SDK imposes that discovery does not:
|
|
22
|
+
* `HTTPFacilitatorClient` constructs endpoint URLs as `${url}/verify`,
|
|
23
|
+
* `${url}/settle`, `${url}/supported` — fixed paths. The discovery
|
|
24
|
+
* manifest may declare ANY relative endpoint paths, so a manifest that
|
|
25
|
+
* uses non-conventional paths cannot be expressed as a FacilitatorConfig
|
|
26
|
+
* at all. We refuse loudly (`reason: "endpoints"`) instead of returning
|
|
27
|
+
* a config whose /verify would 404 — a config that fails at pay time is
|
|
28
|
+
* strictly worse than an error at resolve time.
|
|
29
|
+
*/
|
|
30
|
+
import { type ResolveResult, type SupportedKind } from './discovery.js';
|
|
31
|
+
/**
|
|
32
|
+
* Shape-compatible with `FacilitatorConfig` from `@x402/core`
|
|
33
|
+
* (`createAuthHeaders` omitted: discovered public facilitators are
|
|
34
|
+
* unauthenticated; callers needing auth can spread one in).
|
|
35
|
+
*/
|
|
36
|
+
export interface DiscoveredFacilitatorConfig {
|
|
37
|
+
url: string;
|
|
38
|
+
timeoutMs?: number;
|
|
39
|
+
}
|
|
40
|
+
export type DiscoverFailureReason =
|
|
41
|
+
/** Domain resolved but its manifest has no facilitator block. */
|
|
42
|
+
'not-a-facilitator'
|
|
43
|
+
/** Manifest endpoints are not the SDK's fixed /verify /settle /supported. */
|
|
44
|
+
| 'endpoints'
|
|
45
|
+
/** Facilitator exists but does not support the required scheme/network. */
|
|
46
|
+
| 'kind-unsupported';
|
|
47
|
+
export declare class FacilitatorDiscoveryError extends Error {
|
|
48
|
+
readonly reason: DiscoverFailureReason;
|
|
49
|
+
/** Full resolution result — callers can inspect what WAS found. */
|
|
50
|
+
readonly resolution: ResolveResult;
|
|
51
|
+
constructor(reason: DiscoverFailureReason, message: string,
|
|
52
|
+
/** Full resolution result — callers can inspect what WAS found. */
|
|
53
|
+
resolution: ResolveResult);
|
|
54
|
+
}
|
|
55
|
+
export interface DiscoverFacilitatorOptions {
|
|
56
|
+
/** Require support for this scheme (e.g. "exact"). Checked against the LIVE kinds when available. */
|
|
57
|
+
scheme?: string;
|
|
58
|
+
/** Require support for this network (e.g. "coston2", "eip155:114"). */
|
|
59
|
+
network?: string;
|
|
60
|
+
/** Copied into the returned config for the SDK's per-request timeout. */
|
|
61
|
+
timeoutMs?: number;
|
|
62
|
+
/** Pass-throughs to resolveX402 (tests, custom transports). */
|
|
63
|
+
fetchImpl?: typeof fetch;
|
|
64
|
+
resolveTxt?: (name: string) => Promise<string[][]>;
|
|
65
|
+
lookupImpl?: (hostname: string) => Promise<string[]>;
|
|
66
|
+
noCache?: boolean;
|
|
67
|
+
}
|
|
68
|
+
export interface DiscoverFacilitatorResult {
|
|
69
|
+
/** Drop-in constructor arg for `new HTTPFacilitatorClient(config)`. */
|
|
70
|
+
config: DiscoveredFacilitatorConfig;
|
|
71
|
+
/** The kinds the choice was validated against (live when available). */
|
|
72
|
+
kinds: SupportedKind[];
|
|
73
|
+
/** Full discovery output: attestationUsable, peers, txtRecord, … */
|
|
74
|
+
resolution: ResolveResult;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Resolve a domain per the x402 `discovery` extension and return an
|
|
78
|
+
* official-SDK-compatible facilitator config, verified against the
|
|
79
|
+
* facilitator's LIVE `/supported` endpoint (authoritative over the
|
|
80
|
+
* manifest, per the spec).
|
|
81
|
+
*/
|
|
82
|
+
export declare function discoverFacilitator(domain: string, opts?: DiscoverFacilitatorOptions): Promise<DiscoverFacilitatorResult>;
|
|
83
|
+
//# sourceMappingURL=facilitator-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facilitator-config.d.ts","sourceRoot":"","sources":["../src/facilitator-config.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAEH,KAAK,aAAa,EAClB,KAAK,aAAa,EACrB,MAAM,gBAAgB,CAAC;AAExB;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,qBAAqB;AAC7B,iEAAiE;AAC/D,mBAAmB;AACrB,6EAA6E;GAC3E,WAAW;AACb,2EAA2E;GACzE,kBAAkB,CAAC;AAEzB,qBAAa,yBAA0B,SAAQ,KAAK;aAE5B,MAAM,EAAE,qBAAqB;IAE7C,mEAAmE;aACnD,UAAU,EAAE,aAAa;gBAHzB,MAAM,EAAE,qBAAqB,EAC7C,OAAO,EAAE,MAAM;IACf,mEAAmE;IACnD,UAAU,EAAE,aAAa;CAKhD;AAED,MAAM,WAAW,0BAA0B;IACvC,qGAAqG;IACrG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAKD,MAAM,WAAW,yBAAyB;IACtC,uEAAuE;IACvE,MAAM,EAAE,2BAA2B,CAAC;IACpC,wEAAwE;IACxE,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,oEAAoE;IACpE,UAAU,EAAE,aAAa,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,0BAA+B,GACtC,OAAO,CAAC,yBAAyB,CAAC,CAwDpC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
// GENERATED from src/x402/facilitator-config.ts by scripts/sdk/sync-sdk.ts — do not edit here.
|
|
2
|
+
// The canonical module is the one FlareClaw runs in production; this is a copy so
|
|
3
|
+
// that what we publish and what we run cannot diverge. Edit the canonical file.
|
|
4
|
+
/**
|
|
5
|
+
* Official-SDK adapter: turn x402 `discovery` resolution into the
|
|
6
|
+
* `FacilitatorConfig` that `@x402/core`'s `HTTPFacilitatorClient`
|
|
7
|
+
* accepts — so the one hardcoded line in every integration built from
|
|
8
|
+
* the Stripe Machine Payments sample,
|
|
9
|
+
*
|
|
10
|
+
* import { facilitator } from "@coinbase/x402";
|
|
11
|
+
* const client = new HTTPFacilitatorClient(facilitator);
|
|
12
|
+
*
|
|
13
|
+
* becomes a resolved choice:
|
|
14
|
+
*
|
|
15
|
+
* import { discoverFacilitator } from "@flareclaw/x402-trust";
|
|
16
|
+
* const { config } = await discoverFacilitator("facilitator.example.com");
|
|
17
|
+
* const client = new HTTPFacilitatorClient(config);
|
|
18
|
+
*
|
|
19
|
+
* The adapter deliberately does NOT depend on @x402/core: it returns a
|
|
20
|
+
* plain object matching core's `FacilitatorConfig` shape ({ url,
|
|
21
|
+
* timeoutMs? }), so this package stays zero-dependency and the caller's
|
|
22
|
+
* SDK version is the only SDK version involved.
|
|
23
|
+
*
|
|
24
|
+
* One constraint the SDK imposes that discovery does not:
|
|
25
|
+
* `HTTPFacilitatorClient` constructs endpoint URLs as `${url}/verify`,
|
|
26
|
+
* `${url}/settle`, `${url}/supported` — fixed paths. The discovery
|
|
27
|
+
* manifest may declare ANY relative endpoint paths, so a manifest that
|
|
28
|
+
* uses non-conventional paths cannot be expressed as a FacilitatorConfig
|
|
29
|
+
* at all. We refuse loudly (`reason: "endpoints"`) instead of returning
|
|
30
|
+
* a config whose /verify would 404 — a config that fails at pay time is
|
|
31
|
+
* strictly worse than an error at resolve time.
|
|
32
|
+
*/
|
|
33
|
+
import { resolveX402, } from './discovery.js';
|
|
34
|
+
export class FacilitatorDiscoveryError extends Error {
|
|
35
|
+
reason;
|
|
36
|
+
resolution;
|
|
37
|
+
constructor(reason, message,
|
|
38
|
+
/** Full resolution result — callers can inspect what WAS found. */
|
|
39
|
+
resolution) {
|
|
40
|
+
super(message);
|
|
41
|
+
this.reason = reason;
|
|
42
|
+
this.resolution = resolution;
|
|
43
|
+
this.name = 'FacilitatorDiscoveryError';
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/** The endpoint paths `@x402/core`'s HTTPFacilitatorClient hardcodes. */
|
|
47
|
+
const SDK_ENDPOINTS = { supported: '/supported', verify: '/verify', settle: '/settle' };
|
|
48
|
+
/**
|
|
49
|
+
* Resolve a domain per the x402 `discovery` extension and return an
|
|
50
|
+
* official-SDK-compatible facilitator config, verified against the
|
|
51
|
+
* facilitator's LIVE `/supported` endpoint (authoritative over the
|
|
52
|
+
* manifest, per the spec).
|
|
53
|
+
*/
|
|
54
|
+
export async function discoverFacilitator(domain, opts = {}) {
|
|
55
|
+
const resolution = await resolveX402(domain, {
|
|
56
|
+
...(opts.fetchImpl ? { fetchImpl: opts.fetchImpl } : {}),
|
|
57
|
+
...(opts.resolveTxt ? { resolveTxt: opts.resolveTxt } : {}),
|
|
58
|
+
...(opts.lookupImpl ? { lookupImpl: opts.lookupImpl } : {}),
|
|
59
|
+
...(opts.noCache ? { noCache: true } : {}),
|
|
60
|
+
});
|
|
61
|
+
const fac = resolution.manifest.facilitator;
|
|
62
|
+
if (!fac) {
|
|
63
|
+
throw new FacilitatorDiscoveryError('not-a-facilitator', `${domain} publishes x402 discovery data but no facilitator block (kind: ${resolution.manifest.kind})`, resolution);
|
|
64
|
+
}
|
|
65
|
+
for (const [name, path] of Object.entries(SDK_ENDPOINTS)) {
|
|
66
|
+
const declared = fac.endpoints[name];
|
|
67
|
+
if (declared !== path) {
|
|
68
|
+
throw new FacilitatorDiscoveryError('endpoints', `${domain} declares ${name} at "${declared}", but @x402/core's HTTPFacilitatorClient `
|
|
69
|
+
+ `only calls the fixed path "${path}" — this facilitator cannot be used through the `
|
|
70
|
+
+ `official SDK's client. (It may still be usable through a client that honors `
|
|
71
|
+
+ `manifest endpoint paths.)`, resolution);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// The spec makes the live endpoint authoritative over the manifest.
|
|
75
|
+
const kinds = resolution.liveKinds ?? fac.kinds;
|
|
76
|
+
if (opts.scheme || opts.network) {
|
|
77
|
+
const ok = kinds.some(k => (opts.scheme === undefined || k.scheme === opts.scheme)
|
|
78
|
+
&& (opts.network === undefined || k.network === opts.network));
|
|
79
|
+
if (!ok) {
|
|
80
|
+
const want = [opts.scheme, opts.network].filter(Boolean).join(' on ');
|
|
81
|
+
const have = kinds.map(k => `${k.scheme} on ${k.network}`).join(', ') || 'none';
|
|
82
|
+
throw new FacilitatorDiscoveryError('kind-unsupported', `${domain} does not support ${want} (live supported: ${have})`, resolution);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return {
|
|
86
|
+
config: {
|
|
87
|
+
url: fac.baseUrl.replace(/\/+$/, ''),
|
|
88
|
+
...(opts.timeoutMs !== undefined ? { timeoutMs: opts.timeoutMs } : {}),
|
|
89
|
+
},
|
|
90
|
+
kinds,
|
|
91
|
+
resolution,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=facilitator-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facilitator-config.js","sourceRoot":"","sources":["../src/facilitator-config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * from './types.js';
|
|
2
|
+
export * from './discovery.js';
|
|
3
|
+
export * from './evidence-ref.js';
|
|
4
|
+
export * from './badges.js';
|
|
5
|
+
export * from './facilitator-config.js';
|
|
6
|
+
export * from './open-catalog.js';
|
|
7
|
+
export * from './catalog-mcp.js';
|
|
8
|
+
export * from './reconcile.js';
|
|
9
|
+
export * from './manifest-sig.js';
|
|
10
|
+
export * from './merkle-transcript.js';
|
|
11
|
+
export * from './attested-directory.js';
|
|
12
|
+
export * from './census-reconcile.js';
|
|
13
|
+
export * from './directory-classify.js';
|
|
14
|
+
export * from './trust-sdk.js';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// GENERATED from src/x402/(index) by scripts/sdk/sync-sdk.ts — do not edit here.
|
|
2
|
+
// The canonical module is the one FlareClaw runs in production; this is a copy so
|
|
3
|
+
// that what we publish and what we run cannot diverge. Edit the canonical file.
|
|
4
|
+
export * from './types.js';
|
|
5
|
+
export * from './discovery.js';
|
|
6
|
+
export * from './evidence-ref.js';
|
|
7
|
+
export * from './badges.js';
|
|
8
|
+
export * from './facilitator-config.js';
|
|
9
|
+
export * from './open-catalog.js';
|
|
10
|
+
export * from './catalog-mcp.js';
|
|
11
|
+
export * from './reconcile.js';
|
|
12
|
+
export * from './manifest-sig.js';
|
|
13
|
+
export * from './merkle-transcript.js';
|
|
14
|
+
export * from './attested-directory.js';
|
|
15
|
+
export * from './census-reconcile.js';
|
|
16
|
+
export * from './directory-classify.js';
|
|
17
|
+
export * from './trust-sdk.js';
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,kFAAkF;AAClF,gFAAgF;AAEhF,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC"}
|