@resvary/sdk 0.5.0 → 0.6.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.
Files changed (39) hide show
  1. package/LICENSE +13 -13
  2. package/README.md +17 -17
  3. package/dist/client/buyer.d.ts +29 -0
  4. package/dist/client/buyer.d.ts.map +1 -1
  5. package/dist/client/buyer.js +113 -31
  6. package/dist/client/buyer.js.map +1 -1
  7. package/dist/client/index.d.ts +1 -1
  8. package/dist/client/index.d.ts.map +1 -1
  9. package/dist/client/index.js +1 -1
  10. package/dist/client/index.js.map +1 -1
  11. package/dist/credits/ledger.d.ts +2 -0
  12. package/dist/credits/ledger.d.ts.map +1 -1
  13. package/dist/credits/ledger.js +28 -15
  14. package/dist/credits/ledger.js.map +1 -1
  15. package/dist/funding/arc-worker.d.ts +1 -0
  16. package/dist/funding/arc-worker.d.ts.map +1 -1
  17. package/dist/funding/arc-worker.js +3 -0
  18. package/dist/funding/arc-worker.js.map +1 -1
  19. package/dist/funding/arc.d.ts +6 -1
  20. package/dist/funding/arc.d.ts.map +1 -1
  21. package/dist/funding/arc.js +36 -10
  22. package/dist/funding/arc.js.map +1 -1
  23. package/dist/index.d.ts +1 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +1 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/middleware/paywall.d.ts +1 -4
  28. package/dist/middleware/paywall.d.ts.map +1 -1
  29. package/dist/middleware/paywall.js +4 -37
  30. package/dist/middleware/paywall.js.map +1 -1
  31. package/dist/receipts/proof.d.ts +4 -1
  32. package/dist/receipts/proof.d.ts.map +1 -1
  33. package/dist/receipts/proof.js +24 -5
  34. package/dist/receipts/proof.js.map +1 -1
  35. package/dist/receipts/watcher.d.ts +3 -0
  36. package/dist/receipts/watcher.d.ts.map +1 -1
  37. package/dist/receipts/watcher.js +10 -2
  38. package/dist/receipts/watcher.js.map +1 -1
  39. package/package.json +119 -115
@@ -1 +1 @@
1
- {"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/credits/ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/credits/ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAiD,MAAM,YAAY,CAAC;AAwBhG,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAyH5F,MAAM,OAAO,YAAY;IACd,SAAS,CAAS;IAClB,KAAK,CAAc;IACX,gBAAgB,CAAS;IACzB,GAAG,CAAe;IAEnC,YAAY,MAA0B;QACpC,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,mBAAmB,EAAE,CAAC;QACvD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAClE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAyB;QAC3C,MAAM,OAAO,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CACnC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAC9E,IAAI,CAAC,0BAA0B,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CACtE,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,KAAwB;QAExB,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,WAAW,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC;QAElE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CACnC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5F,MAAM,KAAK,GAAgB;gBACzB,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC;gBACrB,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,mBAAmB,CAAC,WAAW,CAAC;gBACxC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;gBACnC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,QAAQ;gBAChC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS,EAAE,GAAG;gBACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC;YACF,MAAM,OAAO,GAAG,YAAY,CAC1B,OAAO,EACP,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,EACnD,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,EACvC,GAAG,CACJ,CAAC;YACF,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC1B,MAAM,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM,IAAI,CAAC,eAAe,CACxB,EAAE,EACF,OAAO,EACP,OAAO,EACP,QAAQ,EACR,WAAW,EACX,OAAO,EACP,KAAK,CAAC,EAAE,EACR,GAAG,EACH,KAAK,CAAC,QAAQ,CACf,CAAC;YACF,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;YAC1E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,KAAyB;QAEzB,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,UAAU,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;QAEhE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CACnC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5F,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;YACtE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACzD,IAAI,UAAU,GAAG,QAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,wBAAwB,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;YAC9E,CAAC;YACD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YACjE,MAAM,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CACtC,EAAE,EACF,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,QAAQ,CAAC,KAAK,CAAC,EACf,GAAG,EACH;gBACE,GAAG,KAAK,CAAC,QAAQ;gBACjB,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC;aAC5C,CACF,CAAC;YACF,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;YAC3E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAyB;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CACnC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YACnE,IAAI,QAAQ,EAAE,CAAC;gBACb,IACE,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,eAAe,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EACxF,CAAC;oBACD,MAAM,IAAI,uBAAuB,CAAC,sCAAsC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBACvF,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,MAAM,KAAK,GAAG,qBAAqB,CAAC;gBAClC,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CAAC;YACH,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAA8B;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CACnC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,sBAAsB,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrE,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,kBAAkB,CAAC;gBAC/B,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK;gBACL,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;gBAC3E,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CAAC;YACH,MAAM,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAA+B;QACvD,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,cAAc,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CACnC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,uBAAuB,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5F,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,uBAAuB,CAAC,qCAAqC,QAAQ,EAAE,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,MAAM,GAAkB;gBAC5B,EAAE,EAAE,QAAQ;gBACZ,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,MAAM,EAAE,SAAS;gBACjB,eAAe,EAAE,mBAAmB,CAAC,cAAc,CAAC;gBACpD,cAAc,EAAE,cAAc,CAAC,QAAQ,EAAE;gBACzC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,YAAY;gBAChC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC;gBAC9C,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC;gBACpD,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC;YACF,MAAM,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,wBAAwB,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;YACzF,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAA0B;QAM7C,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,YAAY,CAAC;QACxC,MAAM,iBAAiB,GAAG,WAAW,CACnC,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,EAC7C,mBAAmB,CACpB,CAAC;QAEF,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACzC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;gBAChD,MAAM,IAAI,mBAAmB,CAAC,gBAAgB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;YACzE,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;gBAClC,MAAM,IAAI,uBAAuB,CAAC,2CAA2C,CAAC,CAAC;YACjF,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;gBACtB,MAAM,IAAI,uBAAuB,CAAC,wCAAwC,CAAC,CAAC;YAC9E,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;gBAClE,MAAM,IAAI,uBAAuB,CAAC,8BAA8B,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YAE/E,MAAM,yBAAyB,GAAG,MAAM,EAAE,CAAC,sCAAsC,CAC/E,IAAI,EACJ,KAAK,CAAC,OAAO,EACb,iBAAiB,CAClB,CAAC;YACF,MAAM,yBAAyB,GAAG,KAAK,CAAC,MAAM;gBAC5C,CAAC,CAAC,MAAM,EAAE,CAAC,6BAA6B,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;gBACrE,CAAC,CAAC,SAAS,CAAC;YACd,IACE,yBAAyB;gBACzB,yBAAyB;gBACzB,yBAAyB,CAAC,EAAE,KAAK,yBAAyB,CAAC,EAAE,EAC7D,CAAC;gBACD,MAAM,IAAI,uBAAuB,CAC/B,oDAAoD,iBAAiB,EAAE,CACxE,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GAAG,yBAAyB,IAAI,yBAAyB,CAAC;YACxE,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,QAAQ,CAAC,eAAe,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC;oBAC3C,MAAM,IAAI,uBAAuB,CAC/B,wCAAwC,KAAK,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAC5E,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBACpE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAClD,IAAI,CAAC,KAAK;oBAAE,MAAM,IAAI,mBAAmB,CAAC,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC5E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC;YACjF,CAAC;YAED,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,iBAAiB,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;gBACpF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;oBAC7B,MAAM,IAAI,uBAAuB,CAAC,qBAAqB,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxF,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAC/D,IACE,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,KAAK,cAAc,CAAC,CAAC,CAAC,WAAW,GAAG,cAAc,EACxF,CAAC;oBACD,MAAM,IAAI,uBAAuB,CAC/B,KAAK,CAAC,kBAAkB;wBACtB,CAAC,CAAC,4BAA4B,WAAW,QAAQ,MAAM,CAAC,cAAc,EAAE;wBACxE,CAAC,CAAC,yBAAyB,WAAW,MAAM,MAAM,CAAC,cAAc,EAAE,CACtE,CAAC;gBACJ,CAAC;gBAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBACpE,MAAM,KAAK,GAAgB;oBACzB,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC;oBACrB,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,MAAM,EAAE,mBAAmB,CAAC,WAAW,CAAC;oBACxC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;oBACnC,MAAM,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,4BAA4B;oBACpE,WAAW,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,iBAAiB,CAAC,WAAW,EAAE,EAAE;oBAC1E,SAAS,EAAE,GAAG;oBACd,QAAQ,EAAE;wBACR,GAAG,KAAK,CAAC,QAAQ;wBACjB,eAAe,EAAE,MAAM,CAAC,EAAE;wBAC1B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;qBACzC;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAC1B,OAAO,EACP,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,EACnD,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,EACvC,GAAG,CACJ,CAAC;gBACF,MAAM,eAAe,GAAkB,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;gBAC5F,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,SAAS,CAAC;gBAC7D,MAAM,SAAS,GACb,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACrF,MAAM,kBAAkB,GAAuB;oBAC7C,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC;oBACnB,eAAe,EAAE,MAAM,CAAC,EAAE;oBAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,IAAI;oBACJ,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,iBAAiB;oBACjB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;oBACxC,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK;oBAC3C,gBAAgB;oBAChB,UAAU,EAAE,GAAG;oBACf,SAAS;oBACT,QAAQ,EAAE;wBACR,GAAG,KAAK,CAAC,QAAQ;wBACjB,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;wBACnC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK;qBAC5C;oBACD,SAAS,EAAE,GAAG;oBACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;iBACzB,CAAC;gBACF,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC1B,MAAM,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC9B,MAAM,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;gBAC5C,MAAM,EAAE,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;gBACpD,MAAM,IAAI,CAAC,eAAe,CACxB,EAAE,EACF,OAAO,EACP,OAAO,EACP,QAAQ,EACR,WAAW,EACX,SAAS,EACT,kBAAkB,CAAC,EAAE,EACrB,GAAG,EACH,KAAK,CAAC,QAAQ,CACf,CAAC;gBACF,MAAM,IAAI,CAAC,eAAe,CACxB,EAAE,EACF,kBAAkB,EAClB,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,EACtD,GAAG,CACJ,CAAC;gBACF,MAAM,IAAI,CAAC,eAAe,CACxB,EAAE,EACF,mBAAmB,EACnB,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK,EAAE,EACtE,GAAG,CACJ,CAAC;gBACF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;oBACnC,MAAM,IAAI,CAAC,eAAe,CACxB,EAAE,EACF,iBAAiB,EACjB,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,EACtD,kBAAkB,CAAC,SAAU,CAC9B,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC;YAChF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,KAAmC;QAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CACnC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,2BAA2B,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;YACvF,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC/E,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC7D,MAAM,IAAI,mBAAmB,CAAC,qBAAqB,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,WAAW,CAAC,gBAAgB,KAAK,KAAK,CAAC,MAAM;gBAAE,OAAO,WAAW,CAAC;YACtE,IACE,WAAW,CAAC,gBAAgB,KAAK,SAAS;gBAC1C,KAAK,CAAC,MAAM,KAAK,yBAAyB,EAC1C,CAAC;gBACD,MAAM,IAAI,uBAAuB,CAC/B,2CAA2C,WAAW,CAAC,EAAE,EAAE,CAC5D,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,OAAO,GAAuB;gBAClC,GAAG,WAAW;gBACd,gBAAgB,EAAE,KAAK,CAAC,MAAM;gBAC9B,SAAS,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS;gBACxF,QAAQ,EAAE;oBACR,GAAG,WAAW,CAAC,QAAQ;oBACvB,GAAG,KAAK,CAAC,QAAQ;oBACjB,oBAAoB,EAAE,KAAK,CAAC,MAAM;iBACnC;aACF,CAAC;YACF,MAAM,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,eAAe,CACxB,EAAE,EACF,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iCAAiC,EAClF,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EACrD,GAAG,CACJ,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAA6B;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CACnC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;gBAChD,MAAM,IAAI,mBAAmB,CAAC,gBAAgB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;YACzE,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC;YAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;gBAC7B,MAAM,IAAI,uBAAuB,CAAC,qBAAqB,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACxF,MAAM,MAAM,GAAkB;gBAC5B,GAAG,MAAM;gBACT,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;gBACpB,aAAa,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC;aACnD,CAAC;YACF,MAAM,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,IAAI,CAAC,eAAe,CACxB,EAAE,EACF,gBAAgB,EAChB,EAAE,aAAa,EAAE,MAAM,EAAE,EACzB,MAAM,CAAC,QAAS,CACjB,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAA0B;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CACnC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,iBAAiB,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;YACtD,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5F,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC3D,IAAI,SAAS,GAAG,aAAa,EAAE,CAAC;gBAC9B,MAAM,IAAI,wBAAwB,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;gBACzD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,WAAW,GAAsB;gBACrC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC;gBACnB,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,MAAM,EAAE,MAAM;gBACd,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC;gBACpD,cAAc,EAAE,MAAM,CAAC,WAAW;gBAClC,aAAa,EAAE,MAAM,CAAC,UAAU;gBAChC,SAAS,EAAE,GAAG;gBACd,SAAS;gBACT,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC;YACF,MAAM,OAAO,GAAG,YAAY,CAC1B,OAAO,EACP,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,EACrC,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,EACvD,GAAG,CACJ,CAAC;YACF,MAAM,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM,IAAI,CAAC,eAAe,CACxB,EAAE,EACF,OAAO,EACP,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,EACb,WAAW,CAAC,EAAE,EACd,GAAG,EACH,KAAK,CAAC,QAAQ,CACf,CAAC;YACF,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;YACjF,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,KAAuB;QAEvB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CACnC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;YAC3E,IAAI,WAAW,CAAC,MAAM,KAAK,WAAW,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;gBACrE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBACrE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC3D,IAAI,OAAO,IAAI,OAAO;oBAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;YACnE,CAAC;YACD,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAClC,MAAM,IAAI,uBAAuB,CAC/B,kBAAkB,WAAW,CAAC,MAAM,KAAK,WAAW,CAAC,EAAE,EAAE,CAC1D,CAAC;YACJ,CAAC;YACD,IAAI,WAAW,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC;gBACjC,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;gBACnD,MAAM,IAAI,uBAAuB,CAAC,wBAAwB,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACjE,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,IAAI,uBAAuB,CAAC,+BAA+B,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;YACzF,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACnD,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACxD,MAAM,aAAa,GAAG,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAClE,IAAI,WAAW,GAAG,aAAa,EAAE,CAAC;gBAChC,MAAM,IAAI,uBAAuB,CAC/B,sCAAsC,MAAM,CAAC,UAAU,MAAM,WAAW,CAAC,aAAa,EAAE,CACzF,CAAC;YACJ,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;YAC/E,MAAM,YAAY,GAAG,gBAAgB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACjE,MAAM,cAAc,GAAG,gBAAgB,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,YAAY,CAC1B,aAAa,EACb,YAAY,GAAG,WAAW,EAC1B,cAAc,GAAG,aAAa,EAC9B,GAAG,CACJ,CAAC;YACF,MAAM,aAAa,GAAG,aAAa,GAAG,WAAW,CAAC;YAClD,MAAM,UAAU,GAAe;gBAC7B,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC;gBACnD,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,WAAW,CAAC,EAAE;gBAC7B,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC;gBAC7C,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,GAAG;gBACnC,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC;YACF,MAAM,OAAO,GAAiB;gBAC5B,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC;gBACrB,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,WAAW,CAAC,EAAE;gBAC7B,YAAY,EAAE,UAAU,CAAC,EAAE;gBAC3B,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,MAAM,CAAC,WAAW;gBAC1B,WAAW,EAAE,MAAM,CAAC,UAAU;gBAC9B,cAAc,EAAE,mBAAmB,CAAC,aAAa,CAAC;gBAClD,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;gBACvC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,kBAAkB,EAAE,aAAa,CAAC,cAAc;gBAChD,iBAAiB,EAAE,OAAO,CAAC,cAAc;gBACzC,SAAS,EAAE,GAAG;gBACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC;YACF,MAAM,oBAAoB,GAAsB;gBAC9C,GAAG,WAAW;gBACd,MAAM,EAAE,WAAW;gBACnB,eAAe,EAAE,MAAM,CAAC,WAAW;gBACnC,cAAc,EAAE,MAAM,CAAC,UAAU;gBACjC,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,cAAc,EAAE,OAAO,CAAC,EAAE;gBAC1B,QAAQ,EAAE,GAAG;aACd,CAAC;YAEF,MAAM,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YACpC,MAAM,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,EAAE,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;YAC/C,MAAM,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM,IAAI,CAAC,eAAe,CACxB,EAAE,EACF,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,CAAC,WAAW,EACZ,eAAe,EACf,OAAO,CAAC,EAAE,EACV,GAAG,EACH,KAAK,CAAC,QAAQ,CACf,CAAC;YACF,MAAM,IAAI,CAAC,eAAe,CACxB,EAAE,EACF,OAAO,EACP,SAAS,EACT,UAAU,EACV,CAAC,aAAa,EACd,eAAe,EACf,OAAO,CAAC,EAAE,EACV,GAAG,EACH,KAAK,CAAC,QAAQ,CACf,CAAC;YACF,MAAM,IAAI,CAAC,eAAe,CACxB,EAAE,EACF,eAAe,EACf;gBACE,cAAc,EAAE,OAAO,CAAC,EAAE;gBAC1B,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,WAAW,CAAC,EAAE;gBAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;aAC7C,EACD,GAAG,CACJ,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAC1E,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,KAA8B;QAE9B,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CACnC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,qBAAqB,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;YACjF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;YAC3E,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC1E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5F,CAAC;YACD,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAClC,MAAM,IAAI,uBAAuB,CAC/B,kBAAkB,WAAW,CAAC,MAAM,iBAAiB,WAAW,CAAC,EAAE,EAAE,CACtE,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACtF,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,KAGhC;QACC,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CACnC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,iBAAiB,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,CAC7E,IAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CACzD,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CACd,KAAsB,EACtB,QAAoD;QAEpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC;QAC/E,IAAI,WAAW,CAAC,MAAM,KAAK,WAAW,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;YACrE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC3E,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,WAAW;gBACX,OAAO;gBACP,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC;aACvD,CAAC;QACJ,CAAC;QAED,IAAI,MAAmC,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,kBAAkB,CAAC;gBAC5B,aAAa,EAAE,WAAW,CAAC,EAAE;gBAC7B,cAAc,EAAE,GAAG,KAAK,CAAC,cAAc,iBAAiB;gBACxD,MAAM,EAAE,gBAAgB;aACzB,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YACvC,aAAa,EAAE,WAAW,CAAC,EAAE;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,cAAc,EAAE,GAAG,KAAK,CAAC,cAAc,SAAS;SACjD,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CACnD,IAAI,CAAC,SAAS,EACd,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CACtC,CAAC;QACF,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,mBAAmB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAC1E,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAU;QAC7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,EAAU;QAC9B,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC/B,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,kBAAkB;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IACD,KAAK,CAAC,qBAAqB,CAAC,EAAU;QACpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,KAAK,CAAC,uBAAuB,CAAC,eAAwB;QACpD,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,CAAC;IAC/F,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,UAAmB;QACzC,MAAM,MAAM,GAAG,UAAU;YACvB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzF,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,MAAM,CAAC,CAAC;IAClD,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,UAAmB;QACzC,MAAM,MAAM,GAAG,UAAU;YACvB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzF,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,MAAM,CAAC,CAAC;IAClD,CAAC;IACD,gBAAgB,CAAC,SAA+C,EAAE;QAChE,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,KAI9B;QACC,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CACnC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;gBAC9C,MAAM,IAAI,mBAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;gBAAE,OAAO,KAAK,CAAC;YAC/C,MAAM,SAAS,GAAG;gBAChB,GAAG,KAAK;gBACR,MAAM,EAAE,WAAoB;gBAC5B,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE;gBAC5C,UAAU,EAAE,SAAS;gBACrB,cAAc,EAAE,SAAS;aAC1B,CAAC;YACF,MAAM,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACpC,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACtC,EAA0B,EAC1B,eAAuB,EACvB,QAAkC;QAElC,MAAM,UAAU,GAAG,WAAW,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC3E,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,YAAY,CAC1B;YACE,EAAE,EAAE,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;YACtD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU;YACV,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,GAAG;YAChB,aAAa,EAAE,GAAG;YAClB,cAAc,EAAE,GAAG;YACnB,YAAY,EAAE,GAAG;YACjB,cAAc,EAAE,GAAG;YACnB,eAAe,EAAE,GAAG;YACpB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,QAAQ;SACT,EACD,EAAE,EACF,EAAE,EACF,GAAG,CACJ,CAAC;QACF,MAAM,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,EAA0B,EAC1B,GAAW,EACX,UAAmB;QAEnB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAC;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU;YACV,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QACH,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,EAAE,CAAC;YACvE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,iBAAiB,CACvB,EAA0B,EAC1B,WAA8B,EAC9B,GAAW;QAEX,OAAO,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;IAC/E,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,EAA0B,EAC1B,WAA8B,EAC9B,MAA8B,EAC9B,GAAW,EACX,MAAe;QAEf,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QAC/E,MAAM,aAAa,GAAG,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,YAAY,CAC1B,aAAa,EACb,gBAAgB,CAAC,aAAa,CAAC,WAAW,CAAC,EAC3C,gBAAgB,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,aAAa,EAC7D,GAAG,CACJ,CAAC;QACF,MAAM,MAAM,GAAsB;YAChC,GAAG,WAAW;YACd,MAAM;YACN,cAAc,EAAE,WAAW,CAAC,cAAc;YAC1C,aAAa,EAAE,WAAW,CAAC,aAAa;YACxC,QAAQ,EAAE,GAAG;SACd,CAAC;QACF,MAAM,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,eAAe,CACxB,EAAE,EACF,OAAO,EACP,SAAS,EACT,UAAU,EACV,CAAC,aAAa,EACd,aAAa,EACb,WAAW,CAAC,EAAE,EACd,GAAG,EACH,EAAE,MAAM,EAAE,CACX,CAAC;QACF,MAAM,IAAI,CAAC,eAAe,CACxB,EAAE,EACF,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,EAC3D,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,EACxC,GAAG,CACJ,CAAC;QACF,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,EAA0B,EAC1B,SAAiB,EACjB,QAAgB,EAChB,OAAgB,EAChB,OAAyB;QAEzB,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3D,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,WAAW,KAAK,WAAW;gBAAE,MAAM,IAAI,wBAAwB,CAAC,GAAG,CAAC,CAAC;YAClF,OAAO,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAM,CAAC;QAC/C,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAC;QAC/B,MAAM,EAAE,CAAC,qBAAqB,CAAC;YAC7B,KAAK;YACL,GAAG;YACH,WAAW;YACX,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;YAC/B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,EAA0B,EAC1B,OAAsB,EACtB,IAAqB,EACrB,MAAoB,EACpB,KAAa,EACb,aAA2C,EAC3C,WAAmB,EACnB,SAAiB,EACjB,QAAkC;QAElC,MAAM,KAAK,GAAgB;YACzB,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC;YAClB,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,IAAI;YACJ,MAAM;YACN,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE;YAC5B,iBAAiB,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa;YACpF,aAAa;YACb,WAAW;YACX,SAAS;YACT,QAAQ;SACT,CAAC;QACF,MAAM,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,EAA0B,EAC1B,IAAqB,EACrB,IAAO,EACP,SAAiB;QAEjB,MAAM,EAAE,CAAC,eAAe,CAAC;YACvB,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI;YACJ,IAAI;YACJ,MAAM,EAAE,SAAS;YACjB,SAAS;YACT,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,SAAS;SACzB,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,EAA0B,EAAE,EAAU;QAC/D,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;YAC9C,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IACO,KAAK,CAAC,kBAAkB,CAC9B,EAA0B,EAC1B,EAAU;QAEV,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;YAC9C,MAAM,IAAI,mBAAmB,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IACO,KAAK,CAAC,kBAAkB,CAAC,EAA0B,EAAE,EAAU;QACrE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;YAC9C,MAAM,IAAI,mBAAmB,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IACO,KAAK,CAAC,mBAAmB,CAAC,EAAU;QAC1C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;YAC9C,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,iBAAiB,CAAkC,KAAoB;QAC7E,OAAO,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,CAAC;IAEO,qBAAqB,CAAkC,MAAW;QACxE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC;IACtE,CAAC;CACF;AAED,SAAS,YAAY,CACnB,OAAsB,EACtB,MAAc,EACd,QAAgB,EAChB,SAAiB;IAEjB,IAAI,MAAM,GAAG,EAAE,IAAI,QAAQ,GAAG,EAAE,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC;QACtD,MAAM,IAAI,uBAAuB,CAAC,mCAAmC,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpC,OAAO;QACL,GAAG,OAAO;QACV,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE;QAC9B,aAAa,EAAE,QAAQ,CAAC,QAAQ,EAAE;QAClC,cAAc,EAAE,SAAS,CAAC,QAAQ,EAAE;QACpC,YAAY,EAAE,mBAAmB,CAAC,MAAM,CAAC;QACzC,cAAc,EAAE,mBAAmB,CAAC,QAAQ,CAAC;QAC7C,eAAe,EAAE,mBAAmB,CAAC,SAAS,CAAC;QAC/C,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAsB;IAC5C,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5B,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAiB,EAAE,UAAkB;IACnE,OAAO,QAAQ,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,SAAS,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAC7G,CAAC;AAED,SAAS,QAAQ,CAAC,MAAc;IAC9B,OAAO,GAAG,MAAM,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AACxD,CAAC;AACD,SAAS,WAAW,CAAC,KAAa,EAAE,KAAa;IAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC;IACzD,OAAO,UAAU,CAAC;AACpB,CAAC;AACD,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AACD,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAC7E,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;SACxD,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;SACxC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;SACvE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAClB,CAAC"}
@@ -25,6 +25,7 @@ export interface ArcFundingWorkerConfig {
25
25
  confirmations?: number;
26
26
  pollIntervalMs?: number;
27
27
  maxBlockRange?: number;
28
+ maxBlocksPerPoll?: number;
28
29
  cursorOverlap?: number;
29
30
  retryAttempts?: number;
30
31
  retryBaseDelayMs?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"arc-worker.d.ts","sourceRoot":"","sources":["../../src/funding/arc-worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,EAClC,MAAM,sBAAsB,CAAC;AAG9B,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAA;CAAE,GACjF;IAAE,IAAI,EAAE,4BAA4B,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAClF;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,KAAK,EAAE,4BAA4B,CAAA;CAAE,CAAC;AAExE,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,KAAK,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,KAAK,CAAC,CAAiC;IAC/C,OAAO,CAAC,WAAW,CAAC,CAA4B;gBAEpC,MAAM,EAAE,sBAAsB;IA4BpC,oBAAoB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAsBhD,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAkB5B,QAAQ,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAe3C,KAAK,IAAI,IAAI;IAQb,IAAI,IAAI,IAAI;YAME,cAAc;YAmBd,IAAI;IAIlB,OAAO,CAAC,WAAW;CAIpB"}
1
+ {"version":3,"file":"arc-worker.d.ts","sourceRoot":"","sources":["../../src/funding/arc-worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,EAClC,MAAM,sBAAsB,CAAC;AAG9B,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAA;CAAE,GACjF;IAAE,IAAI,EAAE,4BAA4B,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAClF;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,KAAK,EAAE,4BAA4B,CAAA;CAAE,CAAC;AAExE,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,KAAK,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,KAAK,CAAC,CAAiC;IAC/C,OAAO,CAAC,WAAW,CAAC,CAA4B;gBAEpC,MAAM,EAAE,sBAAsB;IA+BpC,oBAAoB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAsBhD,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAkB5B,QAAQ,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAe3C,KAAK,IAAI,IAAI;IAQb,IAAI,IAAI,IAAI;YAME,cAAc;YAmBd,IAAI;IAIlB,OAAO,CAAC,WAAW;CAIpB"}
@@ -21,6 +21,8 @@ export class ArcFundingWorker {
21
21
  ledger: config.ledger,
22
22
  payTo: config.payTo,
23
23
  receiptStore: config.receiptStore,
24
+ rpcUrl: config.rpcUrl,
25
+ publicClient: config.publicClient,
24
26
  });
25
27
  const receiptLedger = new PersistentReceiptLedger({ store: config.receiptStore });
26
28
  this.watcher = new ReceiptWatcher({
@@ -31,6 +33,7 @@ export class ArcFundingWorker {
31
33
  fromBlock: config.fromBlock,
32
34
  confirmations: config.confirmations ?? 1,
33
35
  maxBlockRange: config.maxBlockRange ?? 2_000,
36
+ maxBlocksPerPoll: config.maxBlocksPerPoll ?? 10_000,
34
37
  cursorOverlap: config.cursorOverlap ?? 2,
35
38
  retryAttempts: config.retryAttempts ?? 3,
36
39
  retryBaseDelayMs: config.retryBaseDelayMs ?? 250,
@@ -1 +1 @@
1
- {"version":3,"file":"arc-worker.js","sourceRoot":"","sources":["../../src/funding/arc-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arc-worker.js","sourceRoot":"","sources":["../../src/funding/arc-worker.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import type { CreditLedger, FundingIntent, FundingTransaction, CreditAccount, CreditGrant } from '../credits/index.js';
2
- import { type MemoPaymentRequest, type PaymentInvoice, type PaymentReceipt, type ReceiptStore } from '../receipts/index.js';
2
+ import { type MemoPaymentRequest, type PaymentInvoice, type PaymentReceipt, type ProofClient, type ReceiptStore } from '../receipts/index.js';
3
3
  export interface ArcCreditFundingConfig {
4
4
  ledger: CreditLedger;
5
5
  payTo: `0x${string}`;
6
6
  network?: string;
7
7
  receiptStore?: ReceiptStore;
8
+ rpcUrl?: string;
9
+ publicClient?: ProofClient;
8
10
  }
9
11
  export interface ArcFundingRequest {
10
12
  fundingIntent: FundingIntent;
@@ -16,6 +18,8 @@ export declare class ArcCreditFunding {
16
18
  private readonly payTo;
17
19
  private readonly network;
18
20
  private readonly receiptStore?;
21
+ private readonly rpcUrl?;
22
+ private readonly publicClient?;
19
23
  constructor(config: ArcCreditFundingConfig);
20
24
  createFundingRequest(input: {
21
25
  customerId: string;
@@ -34,5 +38,6 @@ export declare class ArcCreditFunding {
34
38
  fundingIntent: FundingIntent;
35
39
  fundingTransaction: FundingTransaction;
36
40
  }>;
41
+ private createExpectedPaymentRequest;
37
42
  }
38
43
  //# sourceMappingURL=arc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arc.d.ts","sourceRoot":"","sources":["../../src/funding/arc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,KAAK,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,cAAc,CAAC;IACxB,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAe;gBAEjC,MAAM,EAAE,sBAAsB;IAOpC,oBAAoB,CAAC,KAAK,EAAE;QAChC,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8BxB,cAAc,CAAC,KAAK,EAAE;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,cAAc,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,OAAO,CAAC;QACV,OAAO,EAAE,aAAa,CAAC;QACvB,KAAK,EAAE,WAAW,CAAC;QACnB,aAAa,EAAE,aAAa,CAAC;QAC7B,kBAAkB,EAAE,kBAAkB,CAAC;KACxC,CAAC;CAwCH"}
1
+ {"version":3,"file":"arc.d.ts","sourceRoot":"","sources":["../../src/funding/arc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAKL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,KAAK,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,cAAc,CAAC;IACxB,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAc;gBAEhC,MAAM,EAAE,sBAAsB;IAYpC,oBAAoB,CAAC,KAAK,EAAE;QAChC,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8BxB,cAAc,CAAC,KAAK,EAAE;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,cAAc,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,OAAO,CAAC;QACV,OAAO,EAAE,aAAa,CAAC;QACvB,KAAK,EAAE,WAAW,CAAC;QACnB,aAAa,EAAE,aAAa,CAAC;QAC7B,kBAAkB,EAAE,kBAAkB,CAAC;KACxC,CAAC;IAmDF,OAAO,CAAC,4BAA4B;CAWrC"}
@@ -1,15 +1,22 @@
1
1
  import { createHash } from 'node:crypto';
2
- import { createInvoice, createMemoPaymentRequest, } from '../receipts/index.js';
2
+ import { createInvoice, createMemoPaymentRequest, stablecoinUnitsToString, verifyMemoPaymentProof, } from '../receipts/index.js';
3
3
  export class ArcCreditFunding {
4
4
  ledger;
5
5
  payTo;
6
6
  network;
7
7
  receiptStore;
8
+ rpcUrl;
9
+ publicClient;
8
10
  constructor(config) {
9
11
  this.ledger = config.ledger;
10
12
  this.payTo = config.payTo;
11
13
  this.network = config.network ?? 'arc-testnet';
12
14
  this.receiptStore = config.receiptStore;
15
+ this.rpcUrl = config.rpcUrl;
16
+ this.publicClient = config.publicClient;
17
+ if (this.network !== 'arc-testnet') {
18
+ throw new Error('ArcCreditFunding currently supports Arc Testnet only');
19
+ }
13
20
  }
14
21
  async createFundingRequest(input) {
15
22
  const fundingIntentId = `fund_${createHash('sha256')
@@ -55,29 +62,48 @@ export class ArcCreditFunding {
55
62
  if (!input.receipt.txHash) {
56
63
  throw new Error('Arc funding requires a payment receipt with a transaction hash');
57
64
  }
65
+ const paymentRequest = this.createExpectedPaymentRequest(intent);
66
+ const proof = await verifyMemoPaymentProof({
67
+ txHash: input.receipt.txHash,
68
+ paymentRequest,
69
+ rpcUrl: this.rpcUrl,
70
+ publicClient: this.publicClient,
71
+ });
72
+ if (proof.network !== intent.network) {
73
+ throw new Error('Verified payment proof network does not match the funding intent');
74
+ }
58
75
  return this.ledger.confirmFunding({
59
76
  fundingIntentId: intent.id,
60
77
  rail: 'arc_direct',
61
- network: input.receipt.network,
78
+ network: proof.network,
62
79
  externalPaymentId: input.receipt.txHash,
63
80
  txHash: input.receipt.txHash,
64
- amount: input.receipt.amount,
81
+ amount: stablecoinUnitsToString(BigInt(proof.amountUnits)),
65
82
  paymentReceiptId: input.receipt.id,
66
- payer: input.receipt.payer,
83
+ payer: proof.payer,
67
84
  settlementStatus: 'settled',
68
85
  evidence: {
69
- payer: input.receipt.payer,
70
- recipient: input.receipt.payTo,
71
- explorerUrl: input.receipt.onchainProof?.explorerUrl,
72
- blockNumber: input.receipt.blockNumber?.toString(),
86
+ payer: proof.payer,
87
+ recipient: proof.payTo,
88
+ explorerUrl: proof.explorerUrl,
89
+ blockNumber: proof.blockNumber.toString(),
73
90
  metadata: {
74
- memoId: input.receipt.onchainProof?.memoId,
75
- callDataHash: input.receipt.onchainProof?.callDataHash,
91
+ memoId: proof.memoId,
92
+ callDataHash: proof.callDataHash,
76
93
  },
77
94
  },
78
95
  idempotencyKey: input.idempotencyKey,
79
96
  metadata: input.metadata,
80
97
  });
81
98
  }
99
+ createExpectedPaymentRequest(intent) {
100
+ return createMemoPaymentRequest(createInvoice({
101
+ id: intent.invoiceId,
102
+ amount: intent.requestedAmount,
103
+ currency: 'USDC',
104
+ payTo: this.payTo,
105
+ network: intent.network,
106
+ }));
107
+ }
82
108
  }
83
109
  //# sourceMappingURL=arc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arc.js","sourceRoot":"","sources":["../../src/funding/arc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arc.js","sourceRoot":"","sources":["../../src/funding/arc.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,7 +8,7 @@
8
8
  export { createPaywallMiddleware, type PaywallConfig, type PaywallMiddleware, } from './middleware/paywall.js';
9
9
  export { expressPaywall } from './middleware/express.js';
10
10
  export { nextPaywall, type NextRouteHandler } from './middleware/next.js';
11
- export { BuyerClient, type BuyerClientConfig } from './client/buyer.js';
11
+ export { BuyerClient, type BuyerClientConfig, type BuyerPaymentPolicy, type BuyerPaymentProposal, } from './client/buyer.js';
12
12
  export { UsageMeter, type UsageRecord, type MeterConfig } from './billing/meter.js';
13
13
  export { createBillingPlan, type BillingPlan, type PricingModel, type PerRequestPricing, type PerSecondPricing, type PerJobPricing, } from './billing/plans.js';
14
14
  export * from './credits/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,uBAAuB,EACvB,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EACL,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAC;AAE5B,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EACL,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,GACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,wBAAwB,EACxB,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEnF,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,WAAW,EACX,aAAa,GACd,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,uBAAuB,EACvB,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,EACL,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EACL,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAC;AAE5B,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EACL,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,GACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,wBAAwB,EACxB,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEnF,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,WAAW,EACX,aAAa,GACd,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@
8
8
  export { createPaywallMiddleware, } from './middleware/paywall.js';
9
9
  export { expressPaywall } from './middleware/express.js';
10
10
  export { nextPaywall } from './middleware/next.js';
11
- export { BuyerClient } from './client/buyer.js';
11
+ export { BuyerClient, } from './client/buyer.js';
12
12
  export { UsageMeter } from './billing/meter.js';
13
13
  export { createBillingPlan, } from './billing/plans.js';
14
14
  export * from './credits/index.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,uBAAuB,GAGxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAyB,MAAM,sBAAsB,CAAC;AAE1E,OAAO,EAAE,WAAW,EAA0B,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,UAAU,EAAsC,MAAM,oBAAoB,CAAC;AACpF,OAAO,EACL,iBAAiB,GAMlB,MAAM,oBAAoB,CAAC;AAE5B,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EACL,gBAAgB,GAGjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,wBAAwB,GAGzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,GA8BvB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,uBAAuB,GAGxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAyB,MAAM,sBAAsB,CAAC;AAE1E,OAAO,EACL,WAAW,GAIZ,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAsC,MAAM,oBAAoB,CAAC;AACpF,OAAO,EACL,iBAAiB,GAMlB,MAAM,oBAAoB,CAAC;AAE5B,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EACL,gBAAgB,GAGjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,wBAAwB,GAGzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,GA8BvB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
@@ -45,10 +45,7 @@ export declare function createPaywallMiddleware(config: PaywallConfig): {
45
45
  * Parse payment payload from request headers.
46
46
  */
47
47
  parsePayment(headers: Record<string, string | undefined>): PaymentPayload | null;
48
- /**
49
- * Verify a payment payload.
50
- * In production, this delegates to Circle Gateway for verification.
51
- */
48
+ /** Verify a payment payload through the caller-provided trusted verifier. */
52
49
  verifyPayment(payload: PaymentPayload): Promise<boolean>;
53
50
  };
54
51
  //# sourceMappingURL=paywall.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paywall.d.ts","sourceRoot":"","sources":["../../src/middleware/paywall.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvF,+CAA+C;AAC/C,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,kDAAkD;IAClD,KAAK,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACtB,oBAAoB;IACpB,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;QAC5C,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;KAC9C,CAAC;CACH;AAED,uCAAuC;AACvC,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK;IACzD,uDAAuD;IACvD,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;IAClD,iDAAiD;IACjD,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KAAK,cAAc,GAAG,IAAI,CAAC;IACrF,+BAA+B;IAC/B,aAAa,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9D,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa;IAmBzD;;OAEG;8BACuB,mBAAmB;IAY7C;;OAEG;0BACmB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,cAAc,GAAG,IAAI;IAgBhF;;;OAGG;2BAC0B,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;EA+CjE"}
1
+ {"version":3,"file":"paywall.d.ts","sourceRoot":"","sources":["../../src/middleware/paywall.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvF,+CAA+C;AAC/C,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,kDAAkD;IAClD,KAAK,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACtB,oBAAoB;IACpB,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;QAC5C,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;KAC9C,CAAC;CACH;AAED,uCAAuC;AACvC,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK;IACzD,uDAAuD;IACvD,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;IAClD,iDAAiD;IACjD,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KAAK,cAAc,GAAG,IAAI,CAAC;IACrF,+BAA+B;IAC/B,aAAa,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9D,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa;IAmBzD;;OAEG;8BACuB,mBAAmB;IAY7C;;OAEG;0BACmB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,cAAc,GAAG,IAAI;IAgBhF,6EAA6E;2BAChD,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;EAYjE"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Framework-agnostic paywall configuration.
3
3
  */
4
- import { DEFAULTS, USDC_DECIMALS, X402_HEADER } from '../constants.js';
4
+ import { DEFAULTS, X402_HEADER } from '../constants.js';
5
5
  /**
6
6
  * Create a framework-agnostic paywall handler.
7
7
  *
@@ -55,47 +55,14 @@ export function createPaywallMiddleware(config) {
55
55
  return null;
56
56
  }
57
57
  },
58
- /**
59
- * Verify a payment payload.
60
- * In production, this delegates to Circle Gateway for verification.
61
- */
58
+ /** Verify a payment payload through the caller-provided trusted verifier. */
62
59
  async verifyPayment(payload) {
63
60
  if (config.verifyPayment) {
64
61
  const result = await config.verifyPayment(payload);
65
62
  return result.success;
66
63
  }
67
- // Verify basic payment structure
68
- if (!payload.payload?.signature || !payload.payload?.authorization) {
69
- logger.error('Invalid payment payload structure');
70
- return false;
71
- }
72
- // Verify payment amount meets minimum
73
- const paymentAmount = BigInt(payload.payload.authorization.value);
74
- const requiredAmount = BigInt(Math.floor(parseFloat(price) * 10 ** USDC_DECIMALS));
75
- if (paymentAmount < requiredAmount) {
76
- logger.error('Payment amount insufficient', {
77
- received: paymentAmount.toString(),
78
- required: requiredAmount.toString(),
79
- });
80
- return false;
81
- }
82
- // Verify payment is addressed to seller
83
- if (payload.payload.authorization.to.toLowerCase() !== sellerAddress.toLowerCase()) {
84
- logger.error('Payment not addressed to seller');
85
- return false;
86
- }
87
- // Verify payment hasn't expired
88
- const now = Math.floor(Date.now() / 1000);
89
- const validBefore = parseInt(payload.payload.authorization.validBefore, 10);
90
- if (now > validBefore) {
91
- logger.error('Payment authorization has expired');
92
- return false;
93
- }
94
- logger.info('Payment verified successfully', {
95
- from: payload.payload.authorization.from,
96
- amount: payload.payload.authorization.value,
97
- });
98
- return true;
64
+ logger.error('Payment verification is not configured. Pass a trusted verifyPayment implementation.');
65
+ return false;
99
66
  },
100
67
  };
101
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"paywall.js","sourceRoot":"","sources":["../../src/middleware/paywall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paywall.js","sourceRoot":"","sources":["../../src/middleware/paywall.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAuBxD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAqB;IAC3D,MAAM,EACJ,KAAK,EACL,OAAO,GAAG,QAAQ,CAAC,OAAO,EAC1B,MAAM,GAAG,QAAQ,CAAC,MAAM,EACxB,WAAW,EACX,KAAK,EACL,MAAM,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,GAC7C,GAAG,MAAM,CAAC;IAEX,MAAM,aAAa,GAAG,KAAK,IAAK,OAAO,CAAC,GAAG,CAAC,cAA4C,CAAC;IAEzF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,0FAA0F,CAC3F,CAAC;IACJ,CAAC;IAED,OAAO;QACL;;WAEG;QACH,sBAAsB;YACpB,OAAO;gBACL,WAAW,EAAE,QAAQ,CAAC,WAAgB;gBACtC,MAAM,EAAE,MAAiB;gBACzB,OAAO;gBACP,iBAAiB,EAAE,KAAK;gBACxB,KAAK,EAAE,aAAa;gBACpB,WAAW;gBACX,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC,sBAAsB;aACxE,CAAC;QACJ,CAAC;QAED;;WAEG;QACH,YAAY,CAAC,OAA2C;YACtD,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;YAEjF,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACvE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;YAC/C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;gBACtD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,KAAK,CAAC,aAAa,CAAC,OAAuB;YACzC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACnD,OAAO,MAAM,CAAC,OAAO,CAAC;YACxB,CAAC;YAED,MAAM,CAAC,KAAK,CACV,sFAAsF,CACvF,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -16,6 +16,7 @@ export type ProofClient = {
16
16
  getTransactionReceipt: (params: {
17
17
  hash: `0x${string}`;
18
18
  }) => Promise<ProofTransactionReceipt | null>;
19
+ getChainId?: () => Promise<number>;
19
20
  };
20
21
  export type ProofPollingClient = ProofClient & {
21
22
  getBlockNumber: () => Promise<bigint>;
@@ -29,7 +30,7 @@ export type ProofPollingClient = ProofClient & {
29
30
  toBlock: bigint;
30
31
  }) => Promise<readonly ProofMemoLog[]>;
31
32
  };
32
- export type VerifyMemoPaymentProofFailureReason = 'tx_not_found' | 'tx_reverted' | 'wrong_memo_contract' | 'missing_memo_event' | 'memo_id_mismatch' | 'target_mismatch' | 'call_data_hash_mismatch' | 'missing_transfer' | 'recipient_mismatch' | 'amount_mismatch';
33
+ export type VerifyMemoPaymentProofFailureReason = 'chain_mismatch' | 'tx_not_found' | 'tx_reverted' | 'wrong_memo_contract' | 'missing_memo_event' | 'memo_id_mismatch' | 'target_mismatch' | 'call_data_hash_mismatch' | 'missing_transfer' | 'recipient_mismatch' | 'amount_mismatch';
33
34
  export declare class MemoPaymentProofError extends Error {
34
35
  readonly reason: VerifyMemoPaymentProofFailureReason;
35
36
  constructor(reason: VerifyMemoPaymentProofFailureReason, message: string);
@@ -52,6 +53,8 @@ export interface FindMemoPaymentProofInput {
52
53
  toBlock?: bigint;
53
54
  confirmations?: number;
54
55
  lookbackBlocks?: bigint | number;
56
+ /** Maximum inclusive block count scanned by one call. Use nextFromBlock to continue. */
57
+ maxBlockRange?: bigint | number;
55
58
  verifiedAt?: number;
56
59
  }
57
60
  export type FindMemoPaymentProofResult = {
@@ -1 +1 @@
1
- {"version":3,"file":"proof.d.ts","sourceRoot":"","sources":["../../src/receipts/proof.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proof.d.ts","sourceRoot":"","sources":["../../src/receipts/proof.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { ARC_TESTNET } from '../constants.js';
6
6
  import { ARC_MEMO_ABI, ERC20_TRANSFER_ABI } from './memo-payment.js';
7
7
  const MEMO_EVENT = parseAbiItem('event Memo(address indexed sender,address indexed target,bytes32 callDataHash,bytes32 indexed memoId,bytes memo,uint256 memoIndex)');
8
8
  const DEFAULT_PROOF_LOOKBACK_BLOCKS = 5000n;
9
+ const DEFAULT_PROOF_SCAN_BLOCKS = 5000n;
9
10
  export class MemoPaymentProofError extends Error {
10
11
  reason;
11
12
  constructor(reason, message) {
@@ -19,6 +20,12 @@ export async function verifyMemoPaymentProof(input) {
19
20
  createPublicClient({
20
21
  transport: http(input.rpcUrl ?? ARC_TESTNET.rpcUrl),
21
22
  });
23
+ if (client.getChainId) {
24
+ const chainId = await client.getChainId();
25
+ if (chainId !== ARC_TESTNET.chainId) {
26
+ throw new MemoPaymentProofError('chain_mismatch', `RPC chain ${chainId} does not match Arc Testnet ${ARC_TESTNET.chainId}`);
27
+ }
28
+ }
22
29
  let txReceipt;
23
30
  try {
24
31
  txReceipt = await client.getTransactionReceipt({ hash: input.txHash });
@@ -82,13 +89,24 @@ async function resolveProofSearchRange(input, client) {
82
89
  const lookbackBlocks = input.lookbackBlocks === undefined
83
90
  ? DEFAULT_PROOF_LOOKBACK_BLOCKS
84
91
  : BigInt(input.lookbackBlocks);
92
+ const maxBlockRange = input.maxBlockRange === undefined ? DEFAULT_PROOF_SCAN_BLOCKS : BigInt(input.maxBlockRange);
93
+ if (lookbackBlocks < 0n) {
94
+ throw new RangeError('lookbackBlocks must be non-negative');
95
+ }
96
+ if (maxBlockRange <= 0n) {
97
+ throw new RangeError('maxBlockRange must be positive');
98
+ }
99
+ const fromBlock = input.fromBlock ?? defaultProofFromBlock(toBlock, lookbackBlocks);
100
+ const maximumToBlock = fromBlock + maxBlockRange - 1n;
85
101
  return {
86
- fromBlock: input.fromBlock ?? defaultProofFromBlock(toBlock, lookbackBlocks),
87
- toBlock,
102
+ fromBlock,
103
+ toBlock: maximumToBlock < toBlock ? maximumToBlock : toBlock,
88
104
  };
89
105
  }
90
106
  function defaultProofFromBlock(toBlock, lookbackBlocks) {
91
- return toBlock > lookbackBlocks ? toBlock - lookbackBlocks : 0n;
107
+ if (lookbackBlocks === 0n)
108
+ return toBlock;
109
+ return toBlock >= lookbackBlocks ? toBlock - lookbackBlocks + 1n : 0n;
92
110
  }
93
111
  async function getMemoProofLogs(paymentRequest, client, range) {
94
112
  return client.getLogs({
@@ -192,11 +210,12 @@ export function createMemoPaymentProofFromReceipt(params) {
192
210
  }
193
211
  const amountTransfer = recipientTransfers.find((log) => {
194
212
  const args = log.args;
195
- return args.value?.toString() === paymentRequest.amountUnits;
213
+ return args.value !== undefined && args.value >= BigInt(paymentRequest.amountUnits);
196
214
  });
197
215
  if (!amountTransfer) {
198
216
  throw new MemoPaymentProofError('amount_mismatch', `Transaction ${txHash} has no USDC Transfer for ${paymentRequest.amountUnits} units`);
199
217
  }
218
+ const paidAmountUnits = amountTransfer.args.value;
200
219
  return {
201
220
  chainId: ARC_TESTNET.chainId,
202
221
  network: 'arc-testnet',
@@ -211,7 +230,7 @@ export function createMemoPaymentProofFromReceipt(params) {
211
230
  payer: getAddress(memoArgs.sender),
212
231
  payTo: getAddress(paymentRequest.payTo),
213
232
  target: getAddress(paymentRequest.target),
214
- amountUnits: paymentRequest.amountUnits,
233
+ amountUnits: paidAmountUnits.toString(),
215
234
  explorerUrl: `${ARC_TESTNET.explorerUrl}/tx/${txHash}`,
216
235
  verifiedAt: params.verifiedAt ?? Date.now(),
217
236
  };