@intent-engine/client 0.1.42 → 0.1.43

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 (83) hide show
  1. package/dist/src/accounts.d.ts +13 -2
  2. package/dist/src/accounts.js +25 -8
  3. package/dist/src/accounts.js.map +1 -1
  4. package/dist/src/client-claims.js +3 -3
  5. package/dist/src/client-claims.js.map +1 -1
  6. package/dist/src/client-committee.d.ts +4 -0
  7. package/dist/src/client-committee.js +14 -2
  8. package/dist/src/client-committee.js.map +1 -1
  9. package/dist/src/client-errors.d.ts +6 -0
  10. package/dist/src/client-errors.js +13 -0
  11. package/dist/src/client-errors.js.map +1 -1
  12. package/dist/src/client-intents.js +8 -4
  13. package/dist/src/client-intents.js.map +1 -1
  14. package/dist/src/client-reads.js +3 -3
  15. package/dist/src/client-reads.js.map +1 -1
  16. package/dist/src/client-settle.d.ts +5 -1
  17. package/dist/src/client-settle.js +41 -10
  18. package/dist/src/client-settle.js.map +1 -1
  19. package/dist/src/client-types.d.ts +18 -4
  20. package/dist/src/client-types.js.map +1 -1
  21. package/dist/src/client.d.ts +4 -3
  22. package/dist/src/client.js +8 -4
  23. package/dist/src/client.js.map +1 -1
  24. package/dist/src/confirm-release.d.ts +6 -2
  25. package/dist/src/confirm-release.js +19 -4
  26. package/dist/src/confirm-release.js.map +1 -1
  27. package/dist/src/delivery-openings.d.ts +84 -0
  28. package/dist/src/delivery-openings.js +162 -0
  29. package/dist/src/delivery-openings.js.map +1 -0
  30. package/dist/src/funding.js +16 -12
  31. package/dist/src/funding.js.map +1 -1
  32. package/dist/src/index.d.ts +1 -0
  33. package/dist/src/index.js +1 -0
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/job-deliveries.d.ts +49 -5
  36. package/dist/src/job-deliveries.js +128 -21
  37. package/dist/src/job-deliveries.js.map +1 -1
  38. package/dist/src/job-memos.d.ts +5 -2
  39. package/dist/src/job-memos.js +16 -12
  40. package/dist/src/job-memos.js.map +1 -1
  41. package/dist/src/job-origins.d.ts +2 -2
  42. package/dist/src/job-origins.js +2 -2
  43. package/dist/src/job-origins.js.map +1 -1
  44. package/dist/src/job-pay.js +2 -2
  45. package/dist/src/job-pay.js.map +1 -1
  46. package/dist/src/job-proofs.js +2 -2
  47. package/dist/src/job-proofs.js.map +1 -1
  48. package/dist/src/job-scan.d.ts +6 -1
  49. package/dist/src/job-scan.js +13 -0
  50. package/dist/src/job-scan.js.map +1 -1
  51. package/dist/src/job-specs.d.ts +1 -0
  52. package/dist/src/job-specs.js +1 -0
  53. package/dist/src/job-specs.js.map +1 -1
  54. package/dist/src/jobs.d.ts +3 -2
  55. package/dist/src/jobs.js +3 -2
  56. package/dist/src/jobs.js.map +1 -1
  57. package/dist/src/ledger.d.ts +11 -4
  58. package/dist/src/ledger.js +46 -2
  59. package/dist/src/ledger.js.map +1 -1
  60. package/dist/src/release-reads.d.ts +8 -1
  61. package/dist/src/release-reads.js +34 -1
  62. package/dist/src/release-reads.js.map +1 -1
  63. package/dist/src/reputation.d.ts +16 -0
  64. package/dist/src/reputation.js +110 -36
  65. package/dist/src/reputation.js.map +1 -1
  66. package/dist/src/rpc-shapes.d.ts +7 -0
  67. package/dist/src/rpc-transport.js +14 -3
  68. package/dist/src/rpc-transport.js.map +1 -1
  69. package/dist/src/simple-work.d.ts +1 -1
  70. package/dist/src/simple-work.js +3 -3
  71. package/dist/src/simple-work.js.map +1 -1
  72. package/dist/src/svm.js +3 -1
  73. package/dist/src/svm.js.map +1 -1
  74. package/dist/src/transaction-keys.d.ts +5 -1
  75. package/dist/src/transaction-keys.js +67 -13
  76. package/dist/src/transaction-keys.js.map +1 -1
  77. package/dist/src/trust.d.ts +1 -0
  78. package/dist/src/trust.js +43 -28
  79. package/dist/src/trust.js.map +1 -1
  80. package/dist/src/unopened.d.ts +53 -0
  81. package/dist/src/unopened.js +169 -0
  82. package/dist/src/unopened.js.map +1 -0
  83. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"client-settle.js","sourceRoot":"","sources":["../../src/client-settle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,gBAAgB,EAAE,iBAAiB,EAA4C,MAAM,aAAa,CAAC;AAC1H,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,+BAA+B,EAC/B,eAAe,EACf,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,WAAW,EACX,sBAAsB,EACtB,SAAS,EACT,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAS5G,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAWnD,KAAK,UAAU,YAAY,CAAC,SAAoB,EAAE,MAAe,EAAE,MAAc,EAAE,KAAc;IAC/F,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,+BAA+B,EAAE,EAAE,aAAa,CAAC,CAAC;IACrG,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,OAAO,sBAAsB,CAAC,IAAI,EAAE,MAAM,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACrC,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,iBAAiB,IAAI,CAAC,MAAM,UAAU,IAAI,CAAC,KAAK,8CAA8C,CAAC,CAAC;QAClI,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,eAAmC;IACxD,MAAM,OAAO,GAAG,eAAe,EAAE,WAAW,EAAE,CAAC;IAC/C,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,UAAU,CAAC,uCAAuC,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAID,KAAK,UAAU,WAAW,CACxB,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAiB,EAC1C,MAAqB,EACrB,OAAmE;IAEnE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACtD,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACjH,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,mDAAmD,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpE,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,sBAAsB,EAAE,CAAC;QAC/D,MAAM,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3E,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,qBAAqB,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACnH,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7C,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACnG,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,KAAK,KAAK,YAAY,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtH,IACE,IAAI,KAAK,IAAI;YACb,iBAAiB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS;YACnE,iBAAiB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,EAC3D,CAAC;YACD,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3H,MAAM,MAAM,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/C,OAAO;QACL,MAAM,EAAE,OAAO;QACf,KAAK;QACL,KAAK,EAAE;YACL,GAAG,MAAM;YACT,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxC,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,KAAK,CAAC,OAAO;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B;QACD,IAAI,EAAE;YACJ,GAAG,MAAM;YACT,KAAK;YACL,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,iBAAiB,EAAE,YAAY;YAC/B,KAAK,EAAE,KAAK,CAAC,OAAO;YACpB,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;YACvD,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YAC7C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;SACzD;QACD,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAiB,EAAE,CAAC,MAAM,CAAC;QACxE,MAAM,EACJ,IAAI,CAAC,MAAM,KAAK,WAAW;YACzB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;YACxF,CAAC,CAAC,EAAE;KACT,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAwB,EAAE,eAAmC;IAC7E,OAAO,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AACrG,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAsB;IACpD,MAAM,WAAW,GAAG,KAAK,EAAE,KAAuB,EAAE,EAAE;QACpD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACxB,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;YACtF,IAAI,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC/B,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,SAAS,QAAQ,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1F,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACxF,OAAO,OAAO,CAAC,IAAI,CACjB,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,EAC1G,KAAK,CACN,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAsB;IACxD,MAAM,OAAO,GAAG,KAAK,EAAE,MAAqB,EAAE,EAAE;QAC9C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;YACzE,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACnE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,SAAS,QAAQ,yCAAyC,CAAC,CAAC;YAC9F,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACzF,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,KAAK,EAAE,KAAkB,EAA4B,EAAE;QAC7E,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtG,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAC7E,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,KAAK,EAAE,KAA2B,EAA6B,EAAE;QAC/F,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;QAC1C,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QACD,IAAI,eAAe,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACvG,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,oFAAoF,KAAK,CAAC,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;QAChK,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;aAC5B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;aACzF,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QACjC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC;YAC9C,GAAG,IAAI,CAAC,IAAI;YACZ,GAAG,IAAI,CAAC,MAAM;YACd,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,SAAS,CAAC,OAAO;YAC5B,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS;YACT,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,OAAO,EAAE,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC;YAC1C,KAAK;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;SAChF,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,KAAK,EAAE,KAA2B,EAAE,EAAE;QAC5D,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,MAAM,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,eAAe,EAAE,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"client-settle.js","sourceRoot":"","sources":["../../src/client-settle.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import type { Address, Instruction, KeyPairSigner, Signature, TransactionSigner } from "@solana/kit";
1
+ import type { Address, Instruction, MessagePartialSigner, Signature, TransactionSigner } from "@solana/kit";
2
2
  import type { CommitteeTerms, CommitteeVote, Config, EngineEvent, Intent, IntentParams, ProfileView } from "@intent-engine/core";
3
3
  import type { Priority } from "./budget.js";
4
4
  import type { ClaimsView } from "./client-claims.js";
5
5
  import type { FeedbackInput, Reputation, ReputationOptions } from "./reputation.js";
6
6
  import type { EngineError } from "./errors.js";
7
- import type { DeliverInput, Delivery, DeliveryRecord, Job, Spec, SpecFetch } from "./jobs.js";
7
+ import type { DeliverInput, Delivery, DeliveryOpeners, DeliveryRecord, Job, SelfOpeningInput, Spec, SpecFetch } from "./jobs.js";
8
8
  import type { Notifications, Simulation, Transport } from "./transport.js";
9
9
  export type ClientOptions = {
10
10
  url: string;
@@ -48,14 +48,17 @@ export type CreatedIntent = {
48
48
  intent: Address;
49
49
  nonce: bigint;
50
50
  };
51
+ export type MessageSigner = TransactionSigner & MessagePartialSigner;
51
52
  export type SettleProofInput = {
52
- judge: KeyPairSigner;
53
+ judge: MessageSigner;
53
54
  owner: Address;
54
55
  nonce: bigint;
55
56
  payTo: Address;
56
57
  result: bigint;
57
58
  payer?: TransactionSigner;
59
+ feePayer?: TransactionSigner;
58
60
  deliveredSha256?: string;
61
+ deliveredSalt?: string;
59
62
  };
60
63
  export type CommitteeView = CommitteeTerms & {
61
64
  address: Address;
@@ -81,11 +84,19 @@ export type CommitteeBallot = {
81
84
  payee: Address;
82
85
  digest: Uint8Array;
83
86
  };
87
+ export type ProofBallot = {
88
+ intent: Address;
89
+ attestor: Address;
90
+ payee: Address;
91
+ digest: Uint8Array;
92
+ message: Uint8Array;
93
+ };
84
94
  export type SettleCommitteeInput = BallotInput & {
85
95
  solver: TransactionSigner;
86
96
  votes: readonly CommitteeVote[];
87
97
  payer?: TransactionSigner;
88
98
  deliveredSha256?: string;
99
+ deliveredSalt?: string;
89
100
  };
90
101
  export type CommitteeRelease = {
91
102
  intent: Address;
@@ -101,6 +112,7 @@ export type HistoryEvent = EngineEvent & {
101
112
  slot: bigint;
102
113
  blockTime: bigint | null;
103
114
  deliveredSha256?: string;
115
+ deliveredSalt?: string;
104
116
  };
105
117
  export type FillInput = {
106
118
  solver: TransactionSigner;
@@ -150,6 +162,7 @@ export type Client = {
150
162
  cancel(signer: TransactionSigner, nonce: bigint): Promise<Signature>;
151
163
  unwrap(signer: TransactionSigner): Promise<Signature | null>;
152
164
  settleProof(input: SettleProofInput): Promise<Signature>;
165
+ proofBallot(input: BallotInput): Promise<ProofBallot>;
153
166
  committee(address: Address): Promise<CommitteeView | null>;
154
167
  createCommittee(input: CreateCommitteeInput): Promise<CreatedCommittee>;
155
168
  committeeBallot(input: BallotInput): Promise<CommitteeBallot>;
@@ -179,8 +192,9 @@ export type Client = {
179
192
  judge: Address;
180
193
  intent?: Address;
181
194
  pages?: number;
182
- keypair?: Uint8Array;
195
+ keypair?: DeliveryOpeners;
183
196
  }): Promise<DeliveryRecord>;
197
+ openDelivery(input: SelfOpeningInput): Promise<Signature>;
184
198
  };
185
199
  export declare const SPEC_URL_NEEDS_PROOF = "specUrl needs an AttestedResult intent with a non-zero specHash";
186
200
  export declare const DEFAULT_EXPIRES_IN = 3600n;
@@ -1 +1 @@
1
- {"version":3,"file":"client-types.js","sourceRoot":"","sources":["../../src/client-types.ts"],"names":[],"mappings":"AA4JA,MAAM,CAAC,MAAM,oBAAoB,GAAG,iEAAiE,CAAC;AAEtG,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAM,CAAC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,cAAc,GAAG,SAAW,CAAC;AAC1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,cAAc,OAAO,cAAc,UAAU,CAAC;AACxG,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC;AAEjC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC;AACnC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"client-types.js","sourceRoot":"","sources":["../../src/client-types.ts"],"names":[],"mappings":"AA2KA,MAAM,CAAC,MAAM,oBAAoB,GAAG,iEAAiE,CAAC;AAEtG,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAM,CAAC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,cAAc,GAAG,SAAW,CAAC;AAC1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,cAAc,OAAO,cAAc,UAAU,CAAC;AACxG,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC;AAEjC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC;AACnC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC"}
@@ -1,7 +1,8 @@
1
- export { loadCommittee } from "./client-committee.js";
1
+ export { escrowCommittee, loadCommittee } from "./client-committee.js";
2
2
  export { cancelClaims, type ClaimsView, type JobClaim, jobClaimOf, type LineEntry, lineHandover, loadClaims, loadClaimsOf, loadLine, loadProfile } from "./client-claims.js";
3
+ export { committeeJudged, FEE_PAYER_ALONE } from "./client-settle.js";
3
4
  import { type Client, type ClientOptions } from "./client-types.js";
4
- export type { Balances, BallotInput, Client, ClientOptions, CommitteeBallot, CommitteeRelease, CommitteeView, CreateCommitteeInput, CreatedCommittee, CreatedIntent, CreateIntentInput, Fill, FillInput, HistoryEvent, IntentAccount, IntentFilter, Mint, SettleCommitteeInput, SettleProofInput, TokenBalance, WatchCallback, WatchOptions, } from "./client-types.js";
5
+ export type { Balances, BallotInput, Client, ClientOptions, CommitteeBallot, CommitteeRelease, CommitteeView, CreateCommitteeInput, CreatedCommittee, CreatedIntent, CreateIntentInput, Fill, FillInput, HistoryEvent, IntentAccount, IntentFilter, MessageSigner, Mint, ProofBallot, SettleCommitteeInput, SettleProofInput, TokenBalance, WatchCallback, WatchOptions, } from "./client-types.js";
5
6
  export { DEFAULT_EXPIRES_IN, EXPIRES_IN_RANGE, HISTORY_LIMIT, MAX_EXPIRES_IN, MIN_EXPIRES_IN, SPEC_URL_NEEDS_PROOF, WATCH_POLL_MS, WATCH_WAIT_SECONDS, } from "./client-types.js";
6
- export { EscrowExpired, NoFreeNonce, NotFillable, NotSettleable, PayeeMoved, PayToNotWallet, VoteRejected, } from "./client-errors.js";
7
+ export { CommitteeNeeded, EscrowExpired, NoFreeNonce, NotFillable, NotSettleable, PayeeMoved, PayToNotWallet, VoteRejected, } from "./client-errors.js";
7
8
  export declare function createClient(options: ClientOptions): Client;
@@ -6,16 +6,17 @@ import { clientReads } from "./client-reads.js";
6
6
  import { committeeSends } from "./client-committee.js";
7
7
  import { loadClaims, loadProfile } from "./client-claims.js";
8
8
  import { feedbackInstructions, reputationOf } from "./reputation.js";
9
- export { loadCommittee } from "./client-committee.js";
9
+ export { escrowCommittee, loadCommittee } from "./client-committee.js";
10
10
  export { cancelClaims, jobClaimOf, lineHandover, loadClaims, loadClaimsOf, loadLine, loadProfile } from "./client-claims.js";
11
- import { committeeSettlement, proofSettlement } from "./client-settle.js";
11
+ import { committeeSettlement, proofBallotOf, proofSettlement } from "./client-settle.js";
12
+ export { committeeJudged, FEE_PAYER_ALONE } from "./client-settle.js";
12
13
  import { WATCH_POLL_MS, WATCH_WAIT_SECONDS } from "./client-types.js";
13
14
  import { decoded, watchIntents } from "./client-watch.js";
14
15
  import { explain } from "./errors.js";
15
- import { deliveriesOf, deliveryInstructions, deliveryRecord, jobsOf, readSpec } from "./jobs.js";
16
+ import { deliveriesOf, deliveryInstructions, deliveryRecord, jobsOf, readSpec, selfOpeningInstructions } from "./jobs.js";
16
17
  import { intentNotifications, rpcTransport, signatureWatch } from "./transport.js";
17
18
  export { DEFAULT_EXPIRES_IN, EXPIRES_IN_RANGE, HISTORY_LIMIT, MAX_EXPIRES_IN, MIN_EXPIRES_IN, SPEC_URL_NEEDS_PROOF, WATCH_POLL_MS, WATCH_WAIT_SECONDS, } from "./client-types.js";
18
- export { EscrowExpired, NoFreeNonce, NotFillable, NotSettleable, PayeeMoved, PayToNotWallet, VoteRejected, } from "./client-errors.js";
19
+ export { CommitteeNeeded, EscrowExpired, NoFreeNonce, NotFillable, NotSettleable, PayeeMoved, PayToNotWallet, VoteRejected, } from "./client-errors.js";
19
20
  export function createClient(options) {
20
21
  const { url, priority = 0n, pollMs = WATCH_POLL_MS, resyncSeconds = WATCH_WAIT_SECONDS } = options;
21
22
  const transport = options.transport ?? rpcTransport(createSolanaRpc(url), undefined, signatureWatch(url));
@@ -38,6 +39,7 @@ export function createClient(options) {
38
39
  const { createIntent, cancel, unwrap, fill, expire, close } = intentSends(context);
39
40
  const { history, fillOf, balances } = clientReads(context);
40
41
  const settleProof = proofSettlement(context);
42
+ const proofBallot = proofBallotOf(context);
41
43
  const { committeeBallot, prepareCommitteeRelease, settleCommittee } = committeeSettlement(context);
42
44
  const { committee, createCommittee } = committeeSends(context);
43
45
  return {
@@ -70,6 +72,7 @@ export function createClient(options) {
70
72
  cancel,
71
73
  unwrap,
72
74
  settleProof,
75
+ proofBallot,
73
76
  committee,
74
77
  createCommittee,
75
78
  committeeBallot,
@@ -89,6 +92,7 @@ export function createClient(options) {
89
92
  deliver: async (input) => send((await deliveryInstructions(transport, input)).instructions, input.worker),
90
93
  deliveries: ({ judge, intent }) => deliveriesOf(transport, judge, intent),
91
94
  deliveryRecord: ({ judge, intent, pages, keypair }) => deliveryRecord(transport, judge, intent, pages, keypair),
95
+ openDelivery: async (input) => send((await selfOpeningInstructions(transport, input)).instructions, input.worker),
92
96
  };
93
97
  }
94
98
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,22 @@
1
1
  import type { Address } from "@solana/kit";
2
+ import { type DeliveryOpeners } from "./job-deliveries.js";
2
3
  import type { Transport } from "./transport.js";
3
4
  export type ConfirmTarget = {
4
5
  intent: Address;
5
- attestor: Address;
6
+ attestor?: Address | undefined;
6
7
  sha256?: string | undefined;
7
8
  pages?: number | undefined;
8
9
  payees?: readonly Address[] | undefined;
10
+ accounts?: readonly Address[] | undefined;
11
+ keypair?: DeliveryOpeners | undefined;
9
12
  };
10
13
  export type NodeView = {
11
14
  genesis: string;
12
15
  intent: string;
13
16
  announcer: string | undefined;
17
+ accounts?: string[];
14
18
  };
15
- export type ConfirmField = "genesis hash" | "intent account" | "earliest announcer" | "payee" | "second node";
19
+ export type ConfirmField = "genesis hash" | "intent account" | "account" | "earliest announcer" | "payee" | "second node" | "profile history";
16
20
  export declare const NO_ACCOUNT = "no account";
17
21
  export declare const NO_ANNOUNCER = "nobody";
18
22
  export declare const INCOMPLETE_RECORD = "an incomplete delivery record";
@@ -21,19 +21,28 @@ export class ConfirmMismatch extends Error {
21
21
  const hex = (bytes) => Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join("");
22
22
  const digestOf = async (bytes) => hex(new Uint8Array(await crypto.subtle.digest("SHA-256", bytes.slice())));
23
23
  async function announcerOf(transport, target) {
24
- if (target.sha256 === undefined) {
24
+ if (target.sha256 === undefined || target.attestor === undefined) {
25
25
  return undefined;
26
26
  }
27
- const record = await deliveryRecord(transport, target.attestor, target.intent, target.pages);
27
+ const record = await deliveryRecord(transport, target.attestor, target.intent, target.pages, target.keypair);
28
28
  if (!record.complete) {
29
29
  return INCOMPLETE_RECORD;
30
30
  }
31
31
  const first = firstDelivery(record.deliveries, target.sha256);
32
32
  return first === null ? NO_ANNOUNCER : `${first.worker} in ${first.signature}`;
33
33
  }
34
+ const viewOf = async (account) => (account === null ? NO_ACCOUNT : `sha256 ${await digestOf(account.data)}`);
34
35
  export async function nodeView(transport, target) {
35
- const [genesis, account, announcer] = await Promise.all([transport.genesisHash(), transport.getAccount(target.intent), announcerOf(transport, target)]);
36
- return { genesis, intent: account === null ? NO_ACCOUNT : `sha256 ${await digestOf(account.data)}`, announcer };
36
+ const [genesis, account, announcer, accounts] = await Promise.all([
37
+ transport.genesisHash(),
38
+ transport.getAccount(target.intent),
39
+ announcerOf(transport, target),
40
+ target.accounts === undefined ? undefined : transport.getAccounts(target.accounts),
41
+ ]);
42
+ const intent = await viewOf(account);
43
+ return accounts === undefined
44
+ ? { genesis, intent, announcer }
45
+ : { genesis, intent, announcer, accounts: await Promise.all(accounts.map((view) => viewOf(view ?? null))) };
37
46
  }
38
47
  const reasonOf = (error) => (error instanceof Error ? error.message : String(error));
39
48
  export async function confirmOnBoth(first, second, target) {
@@ -49,6 +58,12 @@ export async function confirmOnBoth(first, second, target) {
49
58
  if (own.intent !== other.intent) {
50
59
  throw new ConfirmMismatch("intent account", own.intent, other.intent);
51
60
  }
61
+ for (const [i, address] of (target.accounts ?? []).entries()) {
62
+ const [mine, theirs] = [own.accounts?.[i], other.accounts?.[i]];
63
+ if (mine !== theirs) {
64
+ throw new ConfirmMismatch("account", `${address} ${mine ?? NO_ACCOUNT}`, `${address} ${theirs ?? NO_ACCOUNT}`);
65
+ }
66
+ }
52
67
  if (own.announcer !== other.announcer || own.announcer === INCOMPLETE_RECORD) {
53
68
  throw new ConfirmMismatch("earliest announcer", own.announcer ?? NO_ANNOUNCER, other.announcer ?? NO_ANNOUNCER);
54
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-release.js","sourceRoot":"","sources":["../../src/confirm-release.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confirm-release.js","sourceRoot":"","sources":["../../src/confirm-release.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAiB1F,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC;AAEvC,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC;AAErC,MAAM,CAAC,MAAM,iBAAiB,GAAG,+BAA+B,CAAC;AAEjE,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,KAAK,CAAe;IACpB,KAAK,CAAS;IACd,MAAM,CAAS;IAExB,YAAY,KAAmB,EAAE,KAAa,EAAE,MAAc;QAC5D,KAAK,CACH,KAAK,KAAK,aAAa;YACrB,CAAC,CAAC,0CAA0C,MAAM,gEAAgE;YAClH,CAAC,CAAC,KAAK,KAAK,OAAO;gBACjB,CAAC,CAAC,gDAAgD,MAAM,4BAA4B,KAAK,8BAA8B;gBACvH,CAAC,CAAC,wCAAwC,KAAK,eAAe,KAAK,gBAAgB,MAAM,8BAA8B,CAC5H,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,GAAG,GAAG,CAAC,KAAiB,EAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAE9G,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAiB,EAAmB,EAAE,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AAEzI,KAAK,UAAU,WAAW,CAAC,SAAoB,EAAE,MAAqB;IACpE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7G,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;AACjF,CAAC;AAED,MAAM,MAAM,GAAG,KAAK,EAAE,OAAoC,EAAmB,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAE3J,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,SAAoB,EAAE,MAAqB;IACxE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChE,SAAS,CAAC,WAAW,EAAE;QACvB,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;QACnC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC;QAC9B,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;KACnF,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,QAAQ,KAAK,SAAS;QAC3B,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE;QAChC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AAChH,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAEtG,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAgB,EAAE,MAAiB,EAAE,MAAqB;IAC5F,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAChD,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,eAAe,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC;KACH,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,IAAI,eAAe,CAAC,cAAc,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,eAAe,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxE,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7D,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,GAAG,OAAO,IAAI,IAAI,IAAI,UAAU,EAAE,EAAE,GAAG,OAAO,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC;QACjH,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC;QAC7E,MAAM,IAAI,eAAe,CAAC,oBAAoB,EAAE,GAAG,CAAC,SAAS,IAAI,YAAY,EAAE,KAAK,CAAC,SAAS,IAAI,YAAY,CAAC,CAAC;IAClH,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,EAAE,CAAC;QACnH,MAAM,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,84 @@
1
+ import { type Address, type Instruction, type Signature, type TransactionSigner } from "@solana/kit";
2
+ import { type JudgeOpening, type Opening, type ReleaseRecord } from "@intent-engine/core";
3
+ import { type Delivery, type DeliveryRecord, type PublishedOpening } from "./job-deliveries.js";
4
+ import { type Read } from "./release-reads.js";
5
+ import type { EngineTransaction, Transport } from "./transport.js";
6
+ export type Standing = {
7
+ valid: boolean;
8
+ payee: Delivery | null;
9
+ refutedBy: Delivery | null;
10
+ };
11
+ export type ReleaseStanding = {
12
+ valid: boolean;
13
+ refutedBy: Signature | null;
14
+ complete: boolean;
15
+ };
16
+ export type StandingTarget = {
17
+ intent: Address;
18
+ attestor: Address;
19
+ release: {
20
+ slot: bigint;
21
+ };
22
+ recorded: ReleaseRecord;
23
+ payees: readonly Address[] | null;
24
+ createdAt?: bigint | null;
25
+ from?: bigint | null;
26
+ };
27
+ export type SelfOpeningInput = {
28
+ worker: TransactionSigner;
29
+ intent: Address;
30
+ attestor: Address;
31
+ sha256: string;
32
+ announcement: Signature;
33
+ saltSignature?: Uint8Array;
34
+ };
35
+ export declare function earlierSalts(deliveries: readonly Delivery[], payee: Delivery): (string | null)[];
36
+ export declare function openingsOf(intent: Address, salts: readonly (string | null)[]): JudgeOpening[];
37
+ export declare function judgeOpenings(deliveries: readonly Delivery[], payee: Delivery): JudgeOpening[];
38
+ export declare function unitedSalts(lists: readonly (readonly (string | null)[])[]): (string | null)[];
39
+ export declare function openingInstructions(signer: TransactionSigner, attestor: Address, opening: Opening): Instruction[];
40
+ export declare function paidWalletsOf(transport: Transport, { event, transaction }: Read, intent: Address): Promise<Address[] | null>;
41
+ export declare function publishedSalts(delivery: Delivery, openings: readonly PublishedOpening[]): string[];
42
+ export declare function refutingAmong(deliveries: readonly Delivery[], openings: readonly PublishedOpening[], payee: {
43
+ intent: Address;
44
+ slot: bigint;
45
+ signature: string;
46
+ }, sha256: string, paid: readonly Address[]): Delivery | null;
47
+ export declare function releaseStanding(deliveries: readonly Delivery[], openings: readonly PublishedOpening[], recorded: ReleaseRecord, payees: readonly Address[] | null): Standing;
48
+ export type Judged = {
49
+ attestor: Address;
50
+ createdAt: bigint | null;
51
+ to: bigint;
52
+ };
53
+ export type Refutation = {
54
+ refutedBy: Signature | null;
55
+ complete: boolean;
56
+ };
57
+ export declare function refutationIn(transport: Transport, transactions: readonly EngineTransaction[], payee: {
58
+ intent: Address;
59
+ slot: bigint;
60
+ signature: string;
61
+ }, sha256: string, paid?: readonly Address[], judged?: Judged): Promise<Refutation>;
62
+ export declare function refutedIn(transport: Transport, transactions: readonly EngineTransaction[], payee: {
63
+ intent: Address;
64
+ slot: bigint;
65
+ signature: string;
66
+ }, sha256: string, paid?: readonly Address[], judged?: Judged): Promise<Signature | null>;
67
+ export declare const notOpened: (announcement: string, worker: Address, intent: Address, sha256: string) => string;
68
+ export declare function selfOpeningInstructions(transport: Transport, input: SelfOpeningInput): Promise<{
69
+ salt: string;
70
+ instructions: Instruction[];
71
+ }>;
72
+ export declare function releaseStandingOf(transport: Transport, target: StandingTarget): Promise<ReleaseStanding>;
73
+ export type RecordedStanding = {
74
+ signature: Signature;
75
+ sha256: string;
76
+ salt?: string;
77
+ valid: boolean;
78
+ refutedBy: Signature | null;
79
+ };
80
+ export declare function recordedStanding(transport: Transport, intent: Address, record: DeliveryRecord, history?: number): Promise<RecordedStanding | null>;
81
+ export declare function releaseStandingAt(transport: Transport, intent: Address, signature: string, created: {
82
+ createdAt: bigint | null;
83
+ from: bigint | null;
84
+ }, history?: number): Promise<ReleaseStanding | null>;
@@ -0,0 +1,162 @@
1
+ import { getAddressDecoder } from "@solana/kit";
2
+ import { getTransferSolInstruction } from "@solana-program/system";
3
+ import { MAX_OPENED_SALTS, openingMemo } from "@intent-engine/core";
4
+ import { deliveriesIn, deliverySalt, earlier, opensWith, openingsIn, saltCheckOf } from "./job-deliveries.js";
5
+ import { HISTORY_LIMIT } from "./client-types.js";
6
+ import { memoInstruction, recordedRelease } from "./job-memos.js";
7
+ import { releaseOf, splitClaim } from "./release-reads.js";
8
+ import { lifecycleDeliveries } from "./job-origins.js";
9
+ import { transactionAt } from "./job-scan.js";
10
+ const TOKEN_ACCOUNT_HEAD = 64;
11
+ const ordered = (a, b) => (earlier(a, b) ? -1 : earlier(b, a) ? 1 : 0);
12
+ const ownSalt = (delivery) => (delivery.salt !== "" && saltCheckOf(delivery.salt) === delivery.check ? delivery.salt : null);
13
+ export function earlierSalts(deliveries, payee) {
14
+ return deliveries
15
+ .filter((delivery) => delivery.intent === payee.intent && earlier(delivery, payee))
16
+ .sort(ordered)
17
+ .map(ownSalt);
18
+ }
19
+ export function openingsOf(intent, salts) {
20
+ return Array.from({ length: Math.ceil(salts.length / MAX_OPENED_SALTS) }, (_, i) => ({ intent, salts: salts.slice(i * MAX_OPENED_SALTS, (i + 1) * MAX_OPENED_SALTS) }));
21
+ }
22
+ export function judgeOpenings(deliveries, payee) {
23
+ return openingsOf(payee.intent, earlierSalts(deliveries, payee));
24
+ }
25
+ export function unitedSalts(lists) {
26
+ const length = lists.reduce((most, list) => Math.max(most, list.length), 0);
27
+ return Array.from({ length }, (_, i) => lists.map((list) => list[i] ?? null).find((salt) => salt !== null) ?? null);
28
+ }
29
+ export function openingInstructions(signer, attestor, opening) {
30
+ const notified = [...new Set([opening.intent, attestor])].filter((to) => to !== signer.address);
31
+ return [
32
+ memoInstruction(signer, openingMemo(opening)),
33
+ ...notified.map((destination) => getTransferSolInstruction({ source: signer, destination, amount: 0n })),
34
+ ];
35
+ }
36
+ export async function paidWalletsOf(transport, { event, transaction }, intent) {
37
+ if (event.name === "IntentSplit") {
38
+ const claim = splitClaim(transaction, intent);
39
+ return claim === null ? null : [...claim.recipients];
40
+ }
41
+ if (event.name !== "IntentAttested") {
42
+ return null;
43
+ }
44
+ const payee = event.fields.payee;
45
+ const recorded = transaction.tokens?.find(({ account }) => account === payee)?.owner;
46
+ if (recorded !== undefined) {
47
+ return [recorded];
48
+ }
49
+ const held = await transport.getAccount(payee);
50
+ return held === null || held.data.length < TOKEN_ACCOUNT_HEAD ? null : [getAddressDecoder().decode(held.data.subarray(32, TOKEN_ACCOUNT_HEAD))];
51
+ }
52
+ export function publishedSalts(delivery, openings) {
53
+ const salts = openings.flatMap(({ opening }) => {
54
+ if (opening.intent !== delivery.intent) {
55
+ return [];
56
+ }
57
+ return "announcement" in opening ? (opening.announcement === delivery.signature ? [opening.salt] : []) : opening.salts;
58
+ });
59
+ return [...new Set(salts.filter((salt) => salt !== null && saltCheckOf(salt) === delivery.check))];
60
+ }
61
+ export function refutingAmong(deliveries, openings, payee, sha256, paid) {
62
+ let refutedBy = null;
63
+ for (const delivery of deliveries) {
64
+ const counts = delivery.intent === payee.intent && !paid.includes(delivery.worker) && earlier(delivery, payee);
65
+ if (counts && publishedSalts(delivery, openings).some((open) => opensWith(delivery, open, sha256)) && (refutedBy === null || earlier(delivery, refutedBy))) {
66
+ refutedBy = delivery;
67
+ }
68
+ }
69
+ return refutedBy;
70
+ }
71
+ export function releaseStanding(deliveries, openings, recorded, payees) {
72
+ const { sha256, salt } = recorded;
73
+ let payee = null;
74
+ for (const delivery of salt === undefined || payees === null ? [] : deliveries) {
75
+ if (opensWith(delivery, salt ?? "", sha256) && payees?.includes(delivery.worker) === true && (payee === null || earlier(delivery, payee))) {
76
+ payee = delivery;
77
+ }
78
+ }
79
+ if (payee === null || payees === null) {
80
+ return { valid: false, payee: null, refutedBy: null };
81
+ }
82
+ const refutedBy = refutingAmong(deliveries, openings, payee, sha256, payees);
83
+ return { valid: true, payee: { ...payee, sha256, salt: salt ?? "" }, refutedBy: refutedBy === null ? null : { ...refutedBy, sha256 } };
84
+ }
85
+ export async function refutationIn(transport, transactions, payee, sha256, paid = [], judged) {
86
+ const { intent } = payee;
87
+ let complete = true;
88
+ const failed = () => {
89
+ complete = false;
90
+ return null;
91
+ };
92
+ const own = openingsIn(transactions, new Set([intent]));
93
+ const named = own.flatMap(({ opening }) => ("announcement" in opening && opening.announcement !== payee.signature ? [opening] : []));
94
+ const fetched = [];
95
+ for (const opening of named) {
96
+ const announced = await transactionAt(transport, opening.announcement, intent).catch(failed);
97
+ complete &&= announced?.unread !== true;
98
+ fetched.push(...(announced === null ? [] : deliveriesIn([announced], new Set([intent]))).filter(({ signature }) => signature === opening.announcement));
99
+ }
100
+ const record = judged === undefined
101
+ ? null
102
+ : await lifecycleDeliveries(transport, judged.attestor, { intent, createdAt: judged.createdAt, from: null, to: judged.to }).catch(failed);
103
+ const deliveries = [...fetched, ...(record?.deliveries ?? [])];
104
+ return { refutedBy: refutingAmong(deliveries, [...own, ...(record?.openings ?? [])], payee, sha256, paid)?.signature ?? null, complete };
105
+ }
106
+ export async function refutedIn(transport, transactions, payee, sha256, paid = [], judged) {
107
+ return (await refutationIn(transport, transactions, payee, sha256, paid, judged)).refutedBy;
108
+ }
109
+ export const notOpened = (announcement, worker, intent, sha256) => `the transaction ${announcement} holds no announcement by ${worker} for intent ${intent} that its salt opens to the sha256 ${sha256}; nothing was sent`;
110
+ export async function selfOpeningInstructions(transport, input) {
111
+ const { worker, intent, attestor, announcement } = input;
112
+ const sha256 = input.sha256.toLowerCase();
113
+ const salt = await deliverySalt(worker, intent, sha256, input.saltSignature);
114
+ const announced = await transactionAt(transport, announcement, attestor);
115
+ const own = (announced === null ? [] : deliveriesIn([announced], new Set([intent]))).find((delivery) => delivery.worker === worker.address && opensWith(delivery, salt, sha256));
116
+ if (own === undefined) {
117
+ throw new RangeError(notOpened(announcement, worker.address, intent, sha256));
118
+ }
119
+ return { salt, instructions: openingInstructions(worker, attestor, { intent, announcement, salt }) };
120
+ }
121
+ export async function releaseStandingOf(transport, target) {
122
+ const { intent, attestor, release, recorded } = target;
123
+ if (recorded.salt === undefined) {
124
+ return { valid: false, refutedBy: null, complete: true };
125
+ }
126
+ const record = await lifecycleDeliveries(transport, attestor, { intent, createdAt: target.createdAt ?? null, from: target.from ?? null, to: release.slot });
127
+ const standing = releaseStanding(record.deliveries, record.openings, recorded, target.payees);
128
+ return { valid: standing.valid, refutedBy: standing.refutedBy?.signature ?? null, complete: record.complete };
129
+ }
130
+ export async function recordedStanding(transport, intent, record, history = HISTORY_LIMIT) {
131
+ const transactions = await transport.engineTransactions(history, intent);
132
+ const release = releaseOf(transactions, intent);
133
+ if (release === undefined || (release.event.name !== "IntentAttested" && release.event.name !== "IntentSplit")) {
134
+ return null;
135
+ }
136
+ const recorded = recordedRelease(transactions, release.transaction, release.event.fields.attestor);
137
+ if (recorded === null) {
138
+ return null;
139
+ }
140
+ const payees = await paidWalletsOf(transport, release, intent);
141
+ const standing = releaseStanding(record.deliveries, [...record.openings, ...openingsIn(transactions, new Set([intent]))], recorded, payees);
142
+ return {
143
+ signature: release.transaction.signature,
144
+ ...recorded,
145
+ valid: standing.valid,
146
+ refutedBy: standing.refutedBy?.signature ?? null,
147
+ };
148
+ }
149
+ export async function releaseStandingAt(transport, intent, signature, created, history = HISTORY_LIMIT) {
150
+ const transactions = await transport.engineTransactions(history, intent);
151
+ const release = releaseOf(transactions.filter((transaction) => transaction.signature === signature), intent);
152
+ if (release === undefined || (release.event.name !== "IntentAttested" && release.event.name !== "IntentSplit")) {
153
+ return null;
154
+ }
155
+ const recorded = recordedRelease(transactions, release.transaction, release.event.fields.attestor);
156
+ if (recorded === null) {
157
+ return null;
158
+ }
159
+ const payees = await paidWalletsOf(transport, release, intent);
160
+ return releaseStandingOf(transport, { intent, attestor: release.event.fields.attestor, release: release.transaction, recorded, payees, ...created });
161
+ }
162
+ //# sourceMappingURL=delivery-openings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-openings.js","sourceRoot":"","sources":["../../src/delivery-openings.ts"],"names":[],"mappings":"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"}