@emilia-protocol/gate 0.15.0 → 0.15.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"proposal-to-effect-status.js","sourceRoot":"","sources":["../src/proposal-to-effect-status.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC;;;;;;;GAOG;AAGH,OAAO,EACL,oBAAoB,GAGrB,MAAM,gCAAgC,CAAC;AA4DxC,MAAM,cAAc,GAAG,uBAAuB,CAAC;AAC/C,MAAM,YAAY,GAAG,wGAAwG,CAAC;AAC9H,MAAM,aAAa,GAAG;IACpB,WAAW;IACX,aAAa;IACb,cAAc;IACd,MAAM;IACN,cAAc;IACd,iBAAiB;IACjB,aAAa;CACL,CAAC;AACX,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAC/D,MAAM,kBAAkB,GAAG;IACzB,kBAAkB;IAClB,cAAc;IACd,QAAQ;IACR,YAAY;CACJ,CAAC;AAEX,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACvE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/D,OAAO,OAAO,CAAC,UAAU,EAAE,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CACtB,KAAc,EACd,IAAuB;IAEvB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,OAAO,GAAG,GAAG;IAClD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC;AAClF,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,kBAAkB,CAAC;WACxC,CAAC,aAAa,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC;WAC3C,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;WAClC,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;WAC5B,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC;WACnC,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC;WAC/B,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC;WACjC,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;WAClC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;WAC9B,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;WAC9B,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;WAClC,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;WAC9B,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC;WACjC,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAc,CAAC;WACnE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;WACxB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;WACrB,CAAC,CAAC,eAAe,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAe,CAAC,EAAE,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,KAAK,CAAC,IAA4B;QACxC,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAA8B;KAC5C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC5F,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,UAAU,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;IACnF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,OAAO,IAAI,OAAO,EAAU;IAChE,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC5F,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACzC,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC;IAChF,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,OAAO,CACd,OAAoC,EACpC,MAAc;IAEd,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,OAAO;QACP,MAAM,EAAE,IAAI;QACZ,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAA8C;IAE9C,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACjE,IAAI,CAAC,YAAY;WACV,OAAO,OAAO,CAAC,YAAY,KAAK,UAAU;WAC1C,OAAO,OAAO,CAAC,mBAAmB,KAAK,UAAU;WACjD,OAAO,OAAO,CAAC,oBAAoB,KAAK,UAAU;WAClD,OAAO,OAAO,CAAC,wBAAwB,KAAK,UAAU,EAAE,CAAC;QAC9D,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oCAAoC,CAClD,OAA8C;IAE9C,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1C,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IACxD,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAC1D,MAAM,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAElE,OAAO,KAAK,EAAE,KAAK,EAAsD,EAAE;QACzE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,OAAO,CAAC,eAAe,EAAE,iCAAiC,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,cAAuB,CAAC;QAC5B,IAAI,MAA8B,CAAC;QACnC,IAAI,CAAC;YACH,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ;gBAAE,OAAO,OAAO,CAAC,eAAe,EAAE,iCAAiC,CAAC,CAAC;YAClF,MAAM,GAAG,QAAQ,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAC,eAAe,EAAE,iCAAiC,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACpD,IAAI,WAAoB,CAAC;QACzB,IAAI,cAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,mBAAmB,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC/D,IAAI,mBAAmB,KAAK,SAAS,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;gBACtE,OAAO,OAAO,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC;YACpE,CAAC;YACD,WAAW,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;mBACpB,UAAU,CAAC,aAAa,KAAK,IAAI;mBACjC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;mBACpC,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvC,OAAO,OAAO,CAAC,eAAe,EAAE,kCAAkC,CAAC,CAAC;YACtE,CAAC;YACD,cAAc,GAAG,UAAU,CAAC,MAAM,KAAK,IAAI;gBACzC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAC,eAAe,EAAE,kCAAkC,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE;YAChE,YAAY;YACZ,WAAW;YACX,cAAc;YACd,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;YACpE,OAAO,OAAO,CACZ,eAAe,EACf,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,4BAA4B,CACxD,CAAC;QACJ,CAAC;QACD,IAAI,YAAY,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC;eAChC,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC;eAC5C,YAAY,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,WAA6C,CAAC;QAClD,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC;gBACzD,GAAG,OAAO;gBACV,aAAa,EAAE,YAAY,CAAC,aAAa;gBACzC,QAAQ,EAAE,YAAY,CAAC,QAAQ;aAChC,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAC,eAAe,EAAE,sCAAsC,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;eACrB,WAAW,CAAC,aAAa,KAAK,IAAI;eAClC,OAAO,WAAW,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjD,OAAO,OAAO,CAAC,eAAe,EAAE,kCAAkC,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,OAAO,OAAO,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAC;QAC3D,CAAC;QAED,wEAAwE;QACxE,6EAA6E;QAC7E,MAAM,MAAM,GAAmB;YAC7B,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,SAAS;YACrB,kBAAkB,EAAE,IAAI;YACxB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,OAAO;YACL,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,qBAAqB;YAC9B,MAAM;SACP,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"proposal-to-effect-status.js","sourceRoot":"","sources":["../src/proposal-to-effect-status.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC;;;;;;;GAOG;AAGH,OAAO,EACL,oBAAoB,GAIrB,MAAM,gCAAgC,CAAC;AAUxC,OAAO,EACL,4CAA4C,EAC5C,oCAAoC,EACpC,kCAAkC,EAClC,6CAA6C,GAC9C,MAAM,2CAA2C,CAAC;AA0DnD,MAAM,cAAc,GAAG,uBAAuB,CAAC;AAC/C,MAAM,YAAY,GAAG,wGAAwG,CAAC;AAC9H,MAAM,aAAa,GAAG;IACpB,WAAW;IACX,aAAa;IACb,cAAc;IACd,MAAM;IACN,cAAc;IACd,iBAAiB;IACjB,aAAa;CACL,CAAC;AACX,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAC/D,MAAM,kBAAkB,GAAG;IACzB,kBAAkB;IAClB,cAAc;IACd,QAAQ;IACR,YAAY;CACJ,CAAC;AAEX,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACvE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/D,OAAO,OAAO,CAAC,UAAU,EAAE,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CACtB,KAAc,EACd,IAAuB;IAEvB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,OAAO,GAAG,GAAG;IAClD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC;AAClF,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,kBAAkB,CAAC;WACxC,CAAC,aAAa,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC;WAC3C,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;WAClC,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;WAC5B,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC;WACnC,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC;WAC/B,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC;WACjC,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;WAClC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;WAC9B,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;WAC9B,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;WAClC,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;WAC9B,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC;WACjC,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAc,CAAC;WACnE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;WACxB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;WACrB,CAAC,CAAC,eAAe,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAe,CAAC,EAAE,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,KAAK,CAAC,IAA4B;QACxC,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAA8B;KAC5C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC5F,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,UAAU,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;IACnF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,OAAO,IAAI,OAAO,EAAU;IAChE,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC5F,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACzC,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC;IAChF,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,OAAO,CACd,OAAoC,EACpC,MAAc;IAEd,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,OAAO;QACP,MAAM,EAAE,IAAI;QACZ,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAA8C;IAE9C,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACjE,IAAI,CAAC,YAAY;WACV,OAAO,OAAO,CAAC,YAAY,KAAK,UAAU;WAC1C,OAAO,OAAO,CAAC,mBAAmB,KAAK,UAAU;WACjD,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC;WACpC,OAAO,CAAC,eAAe,CAAC,OAAO,KAAK,IAAI;WACxC,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC;WAChD,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC;WACtD,OAAO,OAAO,CAAC,eAAe,CAAC,MAAM,KAAK,UAAU;WACpD,OAAO,OAAO,CAAC,wBAAwB,KAAK,UAAU,EAAE,CAAC;QAC9D,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oCAAoC,CAClD,OAA8C;IAE9C,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1C,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IACxD,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAChD,MAAM,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAElE,OAAO,KAAK,EAAE,KAAK,EAAsD,EAAE;QACzE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,OAAO,CAAC,eAAe,EAAE,iCAAiC,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,cAAuB,CAAC;QAC5B,IAAI,MAA8B,CAAC;QACnC,IAAI,CAAC;YACH,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ;gBAAE,OAAO,OAAO,CAAC,eAAe,EAAE,iCAAiC,CAAC,CAAC;YAClF,MAAM,GAAG,QAAQ,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAC,eAAe,EAAE,iCAAiC,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACpD,IAAI,WAAoB,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,mBAAmB,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC/D,IAAI,mBAAmB,KAAK,SAAS,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;gBACtE,OAAO,OAAO,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC;YACpE,CAAC;YACD,WAAW,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,eAAe,CAAC,QAAQ,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC;YACpD,OAAO,OAAO,CAAC,eAAe,EAAE,4BAA4B,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,UAAU,CAAC;QACf,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC;gBACxC,MAAM;gBACN,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE;oBACvE,YAAY;oBACZ,WAAW;oBACX,cAAc;oBACd,GAAG,EAAE,KAAK,CAAC,GAAG;iBACf,CAAC;aACH,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAC,eAAe,EAAE,+BAA+B,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;eACpB,OAAO,UAAU,CAAC,QAAQ,KAAK,SAAS;eACxC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC;eAC1C,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5C,OAAO,OAAO,CAAC,eAAe,EAAE,2BAA2B,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACzB,OAAO,OAAO,CACZ,eAAe,EACf,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC9B,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,2BAA2B,CACpD,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,GAAG,UAAU,CAAC,YAA6C,CAAC;QAC9E,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;YACpE,OAAO,OAAO,CACZ,eAAe,EACf,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,4BAA4B,CACxD,CAAC;QACJ,CAAC;QACD,IAAI,YAAY,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC;eAChC,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC;eAC5C,YAAY,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,WAA6C,CAAC;QAClD,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC;gBACzD,GAAG,OAAO;gBACV,aAAa,EAAE,YAAY,CAAC,aAAa;gBACzC,QAAQ,EAAE,YAAY,CAAC,QAAQ;aAChC,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAC,eAAe,EAAE,sCAAsC,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;eACrB,WAAW,CAAC,aAAa,KAAK,IAAI;eAClC,OAAO,WAAW,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjD,OAAO,OAAO,CAAC,eAAe,EAAE,kCAAkC,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,OAAO,OAAO,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAC;QAC3D,CAAC;QAED,wEAAwE;QACxE,6EAA6E;QAC7E,MAAM,MAAM,GAAmB;YAC7B,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,SAAS;YACrB,kBAAkB,EAAE,IAAI;YACxB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,OAAO;YACL,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,qBAAqB;YAC9B,MAAM;SACP,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emilia-protocol/gate",
3
- "version": "0.15.0",
3
+ "version": "0.15.2",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/emiliaprotocol/emilia-protocol.git",
@@ -269,6 +269,10 @@
269
269
  "types": "./dist/proposal-to-effect-status.d.ts",
270
270
  "import": "./proposal-to-effect-status.js"
271
271
  },
272
+ "./proposal-to-effect-status-head-store": {
273
+ "types": "./dist/proposal-to-effect-status-head-store.d.ts",
274
+ "import": "./proposal-to-effect-status-head-store.js"
275
+ },
272
276
  "./proposal-to-effect-postgres": {
273
277
  "types": "./dist/proposal-to-effect-postgres.d.ts",
274
278
  "import": "./proposal-to-effect-postgres.js"
@@ -325,6 +329,7 @@
325
329
  "remedy-case-set-postgres.js",
326
330
  "proposal-to-effect.js",
327
331
  "proposal-to-effect-status.js",
332
+ "proposal-to-effect-status-head-store.js",
328
333
  "proposal-to-effect-postgres.js",
329
334
  "aeb-consumption-store.js",
330
335
  "zk-range-proof.js",
@@ -0,0 +1,2 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ export * from './dist/proposal-to-effect-status-head-store.js';
@@ -136,6 +136,22 @@ BEGIN
136
136
  RETURNING ${AEB_CONSUMPTION_OPERATION_TABLE}.operation_key;
137
137
  END
138
138
  $fn$;
139
+ CREATE OR REPLACE FUNCTION ep_aeb_private.has_replay_fence(
140
+ p_tenant_id TEXT, p_relying_party_id TEXT, p_replay_key TEXT
141
+ ) RETURNS TABLE(fenced BOOLEAN)
142
+ LANGUAGE plpgsql VOLATILE SECURITY DEFINER SET search_path = ''
143
+ AS $fn$
144
+ BEGIN
145
+ PERFORM ep_aeb_private.assert_tenant_principal(p_tenant_id, FALSE);
146
+ RETURN QUERY SELECT EXISTS (
147
+ SELECT 1
148
+ FROM public.${AEB_CONSUMPTION_REPLAY_TABLE} AS fences
149
+ WHERE fences.tenant_id = p_tenant_id
150
+ AND fences.relying_party_id = p_relying_party_id
151
+ AND fences.replay_key = p_replay_key
152
+ );
153
+ END
154
+ $fn$;
139
155
  CREATE OR REPLACE FUNCTION ep_aeb_private.reserve_replay_keys(
140
156
  p_tenant_id TEXT, p_relying_party_id TEXT, p_operation_key TEXT, p_replay_keys TEXT[]
141
157
  ) RETURNS TABLE(replay_key TEXT)
@@ -200,6 +216,8 @@ ALTER FUNCTION ep_aeb_private.assert_tenant_principal(TEXT, BOOLEAN)
200
216
  OWNER TO ${AEB_CONSUMPTION_OWNER_ROLE};
201
217
  ALTER FUNCTION ep_aeb_private.reserve_operation(TEXT, TEXT, TEXT, TEXT)
202
218
  OWNER TO ${AEB_CONSUMPTION_OWNER_ROLE};
219
+ ALTER FUNCTION ep_aeb_private.has_replay_fence(TEXT, TEXT, TEXT)
220
+ OWNER TO ${AEB_CONSUMPTION_OWNER_ROLE};
203
221
  ALTER FUNCTION ep_aeb_private.reserve_replay_keys(TEXT, TEXT, TEXT, TEXT[])
204
222
  OWNER TO ${AEB_CONSUMPTION_OWNER_ROLE};
205
223
  ALTER FUNCTION ep_aeb_private.commit_operation(TEXT, TEXT, TEXT, TEXT)
@@ -211,7 +229,8 @@ ALTER FUNCTION ep_aeb_private.release_operation(TEXT, TEXT, TEXT, TEXT)
211
229
  REVOKE ALL ON ALL FUNCTIONS IN SCHEMA ep_aeb_private
212
230
  FROM PUBLIC, anon, authenticated, service_role;
213
231
  GRANT USAGE ON SCHEMA ep_aeb_private TO ${AEB_CONSUMPTION_EXECUTOR_ROLE}, ${AEB_CONSUMPTION_RECOVERY_ROLE};
214
- GRANT EXECUTE ON FUNCTION ep_aeb_private.reserve_operation(TEXT, TEXT, TEXT, TEXT),
232
+ GRANT EXECUTE ON FUNCTION ep_aeb_private.has_replay_fence(TEXT, TEXT, TEXT),
233
+ ep_aeb_private.reserve_operation(TEXT, TEXT, TEXT, TEXT),
215
234
  ep_aeb_private.reserve_replay_keys(TEXT, TEXT, TEXT, TEXT[]),
216
235
  ep_aeb_private.commit_operation(TEXT, TEXT, TEXT, TEXT),
217
236
  ep_aeb_private.release_operation(TEXT, TEXT, TEXT, TEXT)
@@ -222,6 +241,7 @@ REVOKE ${AEB_CONSUMPTION_OWNER_ROLE} FROM CURRENT_USER;`;
222
241
 
223
242
  /** Exact statements issued by the store, exported for audit and deterministic fakes. */
224
243
  export const AEB_CONSUMPTION_SQL = Object.freeze({
244
+ hasReplayFence: `SELECT fenced FROM ep_aeb_private.has_replay_fence($1::text, $2::text, $3::text)`,
225
245
  reserveOperation: `SELECT operation_key FROM ep_aeb_private.reserve_operation($1::text, $2::text, $3::text, $4::text)`,
226
246
  reserveReplayKeys: `SELECT replay_key FROM ep_aeb_private.reserve_replay_keys($1::text, $2::text, $3::text, $4::text[])`,
227
247
  commitOperation: `SELECT operation_key FROM ep_aeb_private.commit_operation($1::text, $2::text, $3::text, $4::text)`,
@@ -270,6 +290,12 @@ export type AebRecoveryClaimAuthorizer = (
270
290
 
271
291
  export interface PostgresAebDurableConsumptionStore extends AebDurableConsumptionStore {
272
292
  recoveryClaimSupported: true;
293
+ /**
294
+ * Authenticated pre-reservation observation for one exact native replay key.
295
+ * A true result includes both RESERVED and CONSUMED fences. Atomic reserve
296
+ * remains the race-closing operation.
297
+ */
298
+ hasReplayFence(replayKey: string): Promise<boolean>;
273
299
  /**
274
300
  * Rotate ownership of an existing RESERVED row after external authorization.
275
301
  * The stored and replacement owner tokens are never returned or passed to
@@ -395,6 +421,27 @@ export function createPostgresAebDurableConsumptionStore({
395
421
  atomicReplayFenced: true,
396
422
  recoveryClaimSupported: true,
397
423
 
424
+ async hasReplayFence(replayKey): Promise<boolean> {
425
+ assertText(replayKey, 'native replay key', 4096);
426
+ const client = await pool.connect();
427
+ if (!client || typeof client.query !== 'function' || typeof client.release !== 'function') {
428
+ throw new TypeError('AEB consumption pg pool returned an invalid client');
429
+ }
430
+ try {
431
+ const result = await client.query(AEB_CONSUMPTION_SQL.hasReplayFence, [
432
+ tenantId, relyingPartyId, replayKey,
433
+ ]);
434
+ const rows = exactRowCount(result, 'lookup replay fence');
435
+ const fenced = result.rows?.[0]?.fenced;
436
+ if (rows !== 1 || result.rows?.length !== 1 || typeof fenced !== 'boolean') {
437
+ throw new Error('lookup replay fence: malformed PostgreSQL result');
438
+ }
439
+ return fenced;
440
+ } finally {
441
+ client.release();
442
+ }
443
+ },
444
+
398
445
  async reserve(key, replayKeys = []): Promise<AebReservationResult> {
399
446
  assertText(key, 'operation key', 4096);
400
447
  if (!Array.isArray(replayKeys)) {
package/src/index.ts CHANGED
@@ -313,7 +313,21 @@ export {
313
313
  proposalToEffectConsumptionNonce,
314
314
  createProposalToEffect,
315
315
  } from './proposal-to-effect.js';
316
- export { createProposalToEffectStatusVerifier } from './proposal-to-effect-status.js';
316
+ export {
317
+ PROPOSAL_TO_EFFECT_STATUS_HEAD_STORE_VERSION,
318
+ PROPOSAL_TO_EFFECT_STATUS_HEAD_TABLE,
319
+ PROPOSAL_TO_EFFECT_STATUS_HEAD_SQL,
320
+ createProposalToEffectStatusVerifier,
321
+ createPostgresProposalToEffectStatusHeadStore,
322
+ } from './proposal-to-effect-status.js';
323
+ export type {
324
+ PostgresProposalToEffectStatusHeadStoreOptions,
325
+ ProposalToEffectStatusHeadAcceptance,
326
+ ProposalToEffectStatusHeadAcceptanceInput,
327
+ ProposalToEffectStatusHeadPgClient,
328
+ ProposalToEffectStatusHeadPgPool,
329
+ ProposalToEffectStatusHeadStore,
330
+ } from './proposal-to-effect-status.js';
317
331
  export {
318
332
  PROPOSAL_TO_EFFECT_POSTGRES_DDL,
319
333
  PROPOSAL_TO_EFFECT_POSTGRES_SQL,
@@ -68,6 +68,14 @@ export interface ProposalToEffectAttemptDigests {
68
68
  config_digest: AebDigest;
69
69
  }
70
70
 
71
+ export interface ProposalToEffectPostgresAttemptLookup {
72
+ tenant_id: string;
73
+ provider_id: string;
74
+ provider_account_id: string;
75
+ environment: string;
76
+ request_digest: AebDigest;
77
+ }
78
+
71
79
  export interface ProposalToEffectPostgresAttemptReference {
72
80
  tenant_id: string;
73
81
  provider_id: string;
@@ -110,6 +118,14 @@ export type ProposalToEffectPostgresRecoveryResult =
110
118
 
111
119
  export interface ProposalToEffectPostgresStore
112
120
  extends ProposalToEffectConsequenceAttemptStore {
121
+ /**
122
+ * Rediscover an attempt after a lost response using only the exact,
123
+ * server-derived provider tuple and request digest. This neither executes
124
+ * nor rotates custody and returns no owner or operational state.
125
+ */
126
+ lookup(
127
+ input: ProposalToEffectPostgresAttemptLookup,
128
+ ): Promise<ProposalToEffectPostgresAttemptReference | null>;
113
129
  /**
114
130
  * Read operational saga state by its complete durable namespace and request
115
131
  * digest. Owner material is deliberately absent.
@@ -885,11 +901,11 @@ BEGIN
885
901
  attempts.owner_generation,
886
902
  pg_catalog.to_char(
887
903
  attempts.last_heartbeat_at AT TIME ZONE 'UTC',
888
- 'YYYY-MM-DD"T"HH24:MI:SS.MS"Z"'
904
+ 'YYYY-MM-DD"T"HH24:MI:SS.US"Z"'
889
905
  ),
890
906
  pg_catalog.to_char(
891
907
  attempts.lease_expires_at AT TIME ZONE 'UTC',
892
- 'YYYY-MM-DD"T"HH24:MI:SS.MS"Z"'
908
+ 'YYYY-MM-DD"T"HH24:MI:SS.US"Z"'
893
909
  ),
894
910
  attempts.lease_expires_at <= pg_catalog.clock_timestamp()
895
911
  FROM proposal_to_effect_private.consequence_attempts AS attempts
@@ -1037,6 +1053,9 @@ export const PROPOSAL_TO_EFFECT_POSTGRES_SQL = Object.freeze({
1037
1053
  $1, $2, $3, $4, $5, $6, $7, $8, $9,
1038
1054
  $10, $11, $12, $13, $14, $15, $16, $17, $18, $19
1039
1055
  )`,
1056
+ lookup: `SELECT * FROM proposal_to_effect_private.lookup_attempt(
1057
+ $1, $2, $3, $4, $5
1058
+ )`,
1040
1059
  read: `SELECT * FROM proposal_to_effect_private.read_attempt(
1041
1060
  $1, $2, $3, $4, $5, $6
1042
1061
  )`,
@@ -1072,9 +1091,13 @@ function assertDigest(value: unknown, name: string): asserts value is AebDigest
1072
1091
 
1073
1092
  function assertInstant(value: unknown, name: string): asserts value is string {
1074
1093
  if (typeof value !== 'string'
1075
- || !/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/.test(value)
1076
- || !Number.isFinite(Date.parse(value))
1077
- || new Date(Date.parse(value)).toISOString() !== value) {
1094
+ || !/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3,6}Z$/.test(value)) {
1095
+ throw new TypeError(`${name} is invalid`);
1096
+ }
1097
+ const parsed = Date.parse(value);
1098
+ const millisecondInstant = value.replace(/\.(\d{3})\d{0,3}Z$/, '.$1Z');
1099
+ if (!Number.isFinite(parsed)
1100
+ || new Date(parsed).toISOString() !== millisecondInstant) {
1078
1101
  throw new TypeError(`${name} is invalid`);
1079
1102
  }
1080
1103
  }
@@ -1120,6 +1143,25 @@ function assertAttemptReference(
1120
1143
  assertBinding(value);
1121
1144
  }
1122
1145
 
1146
+ function assertAttemptLookup(
1147
+ value: unknown,
1148
+ ): asserts value is ProposalToEffectPostgresAttemptLookup {
1149
+ if (!isRecord(value) || !hasExactKeys(value, [
1150
+ 'tenant_id',
1151
+ 'provider_id',
1152
+ 'provider_account_id',
1153
+ 'environment',
1154
+ 'request_digest',
1155
+ ])) {
1156
+ throw new TypeError('consequence attempt lookup is invalid');
1157
+ }
1158
+ assertIdentifier(value.tenant_id, 'lookup tenant_id');
1159
+ assertIdentifier(value.provider_id, 'lookup provider_id');
1160
+ assertIdentifier(value.provider_account_id, 'lookup provider_account_id');
1161
+ assertIdentifier(value.environment, 'lookup environment');
1162
+ assertDigest(value.request_digest, 'lookup request_digest');
1163
+ }
1164
+
1123
1165
  function assertResolvedDigests(value: unknown): asserts value is ProposalToEffectAttemptDigests {
1124
1166
  if (!isRecord(value) || !hasExactKeys(value, [
1125
1167
  'operation_digest',
@@ -1305,6 +1347,47 @@ function parseSnapshot(
1305
1347
  };
1306
1348
  }
1307
1349
 
1350
+ function parseLookup(
1351
+ result: ProposalToEffectPostgresQueryResult,
1352
+ input: ProposalToEffectPostgresAttemptLookup,
1353
+ ): ProposalToEffectPostgresAttemptReference | null {
1354
+ assertResultEnvelope(result, 'lookup');
1355
+ if (result.rowCount === 0 && result.rows.length === 0) return null;
1356
+ const row = result.rows[0];
1357
+ if (result.rowCount !== 1 || result.rows.length !== 1 || !isRecord(row)
1358
+ || !hasExactKeys(row, [
1359
+ 'tenant_id',
1360
+ 'provider_id',
1361
+ 'provider_account_id',
1362
+ 'environment',
1363
+ 'attempt_id',
1364
+ 'request_digest',
1365
+ ])) {
1366
+ throw new Error('malformed Postgres result: lookup');
1367
+ }
1368
+ assertIdentifier(row.tenant_id, 'lookup tenant_id');
1369
+ assertIdentifier(row.provider_id, 'lookup provider_id');
1370
+ assertIdentifier(row.provider_account_id, 'lookup provider_account_id');
1371
+ assertIdentifier(row.environment, 'lookup environment');
1372
+ assertIdentifier(row.attempt_id, 'lookup attempt_id');
1373
+ assertDigest(row.request_digest, 'lookup request_digest');
1374
+ if (row.tenant_id !== input.tenant_id
1375
+ || row.provider_id !== input.provider_id
1376
+ || row.provider_account_id !== input.provider_account_id
1377
+ || row.environment !== input.environment
1378
+ || row.request_digest !== input.request_digest) {
1379
+ throw new Error('malformed Postgres result: lookup binding');
1380
+ }
1381
+ return {
1382
+ tenant_id: row.tenant_id,
1383
+ provider_id: row.provider_id,
1384
+ provider_account_id: row.provider_account_id,
1385
+ environment: row.environment,
1386
+ attempt_id: row.attempt_id,
1387
+ request_digest: row.request_digest,
1388
+ };
1389
+ }
1390
+
1308
1391
  function transitionAllowed(expected: string, next: string): boolean {
1309
1392
  return (expected === 'RESERVED' && next === 'INVOKING')
1310
1393
  || (expected === 'INVOKING' && next === 'INDETERMINATE')
@@ -1666,6 +1749,20 @@ export function createProposalToEffectPostgresStore(
1666
1749
  return result.applied;
1667
1750
  },
1668
1751
 
1752
+ async lookup(input) {
1753
+ assertAttemptLookup(input);
1754
+ return retryAmbiguousCommit(pool, true, 'lookup', async (client) => parseLookup(
1755
+ await client.query(PROPOSAL_TO_EFFECT_POSTGRES_SQL.lookup, [
1756
+ input.tenant_id,
1757
+ input.provider_id,
1758
+ input.provider_account_id,
1759
+ input.environment,
1760
+ input.request_digest,
1761
+ ]),
1762
+ input,
1763
+ ));
1764
+ },
1765
+
1669
1766
  async read(input) {
1670
1767
  assertAttemptReference(input);
1671
1768
  const snapshot = await readInternal(pool, input);