@bananapus/nana-sdk-core 2.33.2 → 2.34.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/review/messages.d.ts +2 -0
- package/dist/cjs/review/messages.d.ts.map +1 -1
- package/dist/cjs/review/messages.js +3 -1
- package/dist/cjs/review/messages.js.map +1 -1
- package/dist/cjs/review/writeHold.d.ts +31 -10
- package/dist/cjs/review/writeHold.d.ts.map +1 -1
- package/dist/cjs/review/writeHold.js +278 -39
- package/dist/cjs/review/writeHold.js.map +1 -1
- package/dist/cjs/review/writeRecovery.d.ts +51 -0
- package/dist/cjs/review/writeRecovery.d.ts.map +1 -1
- package/dist/cjs/review/writeRecovery.js +163 -9
- package/dist/cjs/review/writeRecovery.js.map +1 -1
- package/dist/esm/review/messages.d.ts +2 -0
- package/dist/esm/review/messages.d.ts.map +1 -1
- package/dist/esm/review/messages.js +2 -0
- package/dist/esm/review/messages.js.map +1 -1
- package/dist/esm/review/writeHold.d.ts +31 -10
- package/dist/esm/review/writeHold.d.ts.map +1 -1
- package/dist/esm/review/writeHold.js +280 -41
- package/dist/esm/review/writeHold.js.map +1 -1
- package/dist/esm/review/writeRecovery.d.ts +51 -0
- package/dist/esm/review/writeRecovery.d.ts.map +1 -1
- package/dist/esm/review/writeRecovery.js +163 -9
- package/dist/esm/review/writeRecovery.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeHold.js","sourceRoot":"","sources":["../../../src/review/writeHold.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"writeHold.js","sourceRoot":"","sources":["../../../src/review/writeHold.ts"],"names":[],"mappings":";;;AAyUA,0CAm3BC;AA5rCD,+BAMc;AACd,sDAS2B;AAC3B,+CAauB;AACvB,yDAW4B;AAC5B,kDAA4C;AAC5C,2CAAwD;AAyFxD;;;;GAIG;AACH,SAAS,OAAO,CAAC,KAAqB;IACpC,OAAO,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI;QAC5C,CAAC,CAAC,KAAK;QACP,CAAC,CAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAqB,CAAC;AACpD,CAAC;AAKD,2EAA2E;AAC3E,MAAa,cAAe,SAAQ,KAAK;IAEvC,YAAqB,KAAqB;QACxC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QADC,UAAK,GAAL,KAAK,CAAgB;QADjC,SAAI,GAAG,gBAAgB,CAAC;IAGjC,CAAC;CACF;AALD,wCAKC;AAED,wEAAwE;AACxE,MAAa,mBAAoB,SAAQ,KAAK;IAE5C,YAAqB,KAAc;QACjC,KAAK,CAAC,mCAAqB,CAAC,CAAC;QADV,UAAK,GAAL,KAAK,CAAS;QAD1B,SAAI,GAAG,qBAAqB,CAAC;IAGtC,CAAC;CACF;AALD,kDAKC;AAED,qEAAqE;AACrE,MAAa,kBAAmB,SAAQ,KAAK;IAE3C;QACE,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAFtD,SAAI,GAAG,oBAAoB,CAAC;IAGrC,CAAC;CACF;AALD,gDAKC;AAmBD,MAAM,cAAc,GAAG,MAAM,CAAC;AAC9B,mEAAmE;AACnE,MAAM,qBAAqB,GAAG;IAC5B,IAAA,sBAAe,EAAC,mCAAmC,CAAC;IACpD,IAAA,sBAAe,EAAC,mCAAmC,CAAC;CACrD,CAAC;AACF,wHAAwH;AACxH,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,CAAC;AAEnC,sJAAsJ;AACtJ,SAAS,aAAa,CAAC,MAAmC;IACxD,OAAO,CACL,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC;QAC7D,cAAc,CACf,CAAC;AACJ,CAAC;AAED,+HAA+H;AAC/H,KAAK,UAAU,WAAW,CACxB,MAAuB,EACvB,MAAmC;IAEnC,MAAM,KAAK,GAAG,MAAM,IAAA,qCAAyB,EAC3C,MAAe,EACf,KAAK,EAAE,WAAW,EAAE,EAAE,CACpB,MAAM,CACJ,MAAM,MAAM,CAAC,mBAAmB,CAAC;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW;KACZ,CAAC,CACH,IAAI,MAAM,CAAC,MAAM,CAAC,SAAU,CAAC,CACjC,CAAC;IACF,OAAO,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;AAC/B,CAAC;AAED,yFAAyF;AACzF,SAAS,YAAY,CAAC,MAAmC;IACvD,OAAO;QACL,MAAM,EAAE,eAAe;QACvB,MAAM;QACN,IAAI,EAAE,MAAM,CAAC,IAAK;QAClB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,2CAA6B;QACnC,OAAO,EAAE,yCAA2B;KACrC,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,SAAS,YAAY,CAAC,MAAmC;IACvD,OAAO;QACL,MAAM,EAAE,eAAe;QACvB,MAAM;QACN,IAAI,EAAE,MAAM,CAAC,IAAK;QAClB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,2CAA6B;QACnC,OAAO,EAAE,yCAA2B;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,MAAmC;IACpD,OAAO;QACL,MAAM,EAAE,gBAAgB;QACxB,MAAM;QACN,IAAI,EAAE,MAAM,CAAC,IAAK;QAClB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,uCAAyB;QAC/B,OAAO,EAAE,yCAA2B;KACrC,CAAC;AACJ,CAAC;AACD,2DAA2D;AAC3D,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,SAAS,KAAK,CAAC,OAA0B;IACvC,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,WAAW,CAClB,MAAmC,EACnC,aAAa,GAAG,MAAM,CAAC,aAAa,EACpC,MAAiB;IAEjB,OAAO;QACL,MAAM,EAAE,cAAc;QACtB,MAAM;QACN,IAAI,EAAE,KAAK;QACX,IAAI,EACF,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI;YACjC,CAAC,CAAC,sCAAwB;YAC1B,CAAC,CAAC,yCAA2B;QACjC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAAmC;IACtD,OAAO;QACL,MAAM,EAAE,oBAAoB;QAC5B,MAAM;QACN,IAAI,EAAE,MAAM,CAAC,IAAK;QAClB,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,uCAAsB,CAAC,CAAC,CAAC,qCAAuB;KACrE,CAAC;AACJ,CAAC;AAED,kEAAkE;AAClE,SAAS,QAAQ,CAAC,MAA0C;IAC1D,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,EAAE,CAAC;IAC5B,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,IAAI;QACd,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,MAAM;YACN,IAAI,EAAE,IAAI;YACV,IAAI,EACF,MAAM,CAAC,IAAI;gBACX,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC;gBAC5D,CAAC,CAAC,IAAA,8BAAgB,GAAE;gBACpB,CAAC,CAAC,uCAAyB;SAChC,CAAC;IACJ,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,eAAe,CAC7B,UAMI,EAAE;IAEN,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAA,yCAAsB,GAAE,CAAC;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,IAAI,cAAc,CAAC;IAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,IAAI,oBAAoB,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAgD,CAAC;IAC1E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyC,CAAC;IAChE,IAAI,SAAsD,CAAC;IAE3D,6EAA6E;IAC7E,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IACjD,SAAS,IAAI,CAAC,GAAW,EAAE,KAAqB;QAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvB,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE;YAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,iFAAiF;IACjF,SAAS,SAAS;QAChB,IAAI,SAAS,IAAI,OAAO,UAAU,CAAC,gBAAgB,KAAK,UAAU;YAAE,OAAO;QAC3E,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;YACpB,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,yBAAyB,CAAC;gBAAE,OAAO;YAC1E,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpB,CAAC;gBAAC,MAAM,CAAC;oBACP,wDAAwD;gBAC1D,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,UAAU,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,IAAI,CAAC,IAAgC;QAC5C,MAAM,QAAQ,GAAG,IAAA,6CAA0B,EAAC,IAAI,EAAE;YAChD,OAAO;YACP,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;QACH,8EAA8E;QAC9E,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC9B,0EAA0E;QAC1E,IAAI,UAA+D,CAAC;QACpE,iEAAiE;QACjE,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACxD,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,CAAC,KAAqB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAEnE,KAAK,UAAU,MAAM,CACnB,IAAsB,EACtB,IAAa;YAEb,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC;gBACH,OAAO;oBACL,KAAK,EAAE,MAAM,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;wBACxC,OAAO,GAAG,IAAI,CAAC;wBACf,OAAO,IAAI,EAAE,CAAC;oBAChB,CAAC,EAAE,IAAI,CAAC;iBACT,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO;oBAAE,MAAM,KAAK,CAAC;gBACzB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,gGAAgG;QAChG,SAAS,OAAO,CAAC,MAAmC;YAClD,IAAI,CAAC;gBACH,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAK,EAAE,MAAM,CAAC,CAAC,CAAC;gBACzD,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,SAAS,MAAM,CAAC,MAAuB,EAAE,EAAU,EAAE,IAAI,GAAG,QAAQ;YAClE,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAE,OAAO;YACxC,MAAM,CAAC,GAAG,CACR,EAAE,EACF,UAAU,CAAC,GAAG,EAAE;gBACd,KAAK,KAAK,CAAC,MAAM,CAAC;qBACf,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;qBACjB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oBACb,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAClB,IAAI,IAAI,EAAE,MAAM,KAAK,cAAc;wBAAE,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;gBACpE,CAAC,CAAC,CAAC;YACP,CAAC,EAAE,QAAQ,CAAC,CACb,CAAC;QACJ,CAAC;QAED,KAAK,UAAU,MAAM,CACnB,MAAmC,EACnC,OAA2B,EAC3B,MAAuB,EACvB,KAAwD;YAExD,MAAM,OAAO,GAAG,MAAM,IAAA,6CAA0B,EAC9C,MAAe,EACf,MAAM,EACN,OAAO,EACP,KAAK,CACN,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACpB,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG;oBACd,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,WAAW,EAAS;iBACnD,CAAC;gBACF,oEAAoE;gBACpE,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACtC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YACD,IACE,CAAC,MAAM,CAAC,IAAI;gBACZ,OAAO,CAAC,MAAM,KAAK,UAAU;gBAC7B,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,EACrD,CAAC;gBACD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC1B,OAAO,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACpD,CAAC;YACD,4EAA4E;YAC5E,kDAAkD;YAClD,MAAM,GAAG,GACP,MAAM,CAAC,IAAI;gBACX,CAAC,MAAM,IAAA,6CAA0B,EAC/B,MAAe,EACf,MAAM,EACN,OAAO,EACP,KAAK,EACL,EAAE,QAAQ,EAAE,KAAK,EAAE,CACpB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YACvB,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,WAAW,EAAS,CAAC;gBAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC9C,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBACzB,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,MAAM,CAAC,QAAQ;gBAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/C,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,uEAAuE;QACvE,KAAK,UAAU,eAAe,CAC5B,MAAmC;YAEnC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAA,oCAAmB,EACxC,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,IAAK,EACZ,OAAO,CAAC,WAAW,CACpB,CAAC;gBACF,OAAO,IAAA,uCAAsB,EAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,KAAK,UAAU,SAAS,CACtB,MAAmC,EACnC,MAAuB;YAEvB,MAAM,OAAO,GAAG,MAAM,MAAM;iBACzB,qBAAqB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,aAAc,EAAE,CAAC;iBACtD,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACrB,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1D,CAAC;QAED;;;;;WAKG;QACH,KAAK,UAAU,eAAe,CAC5B,MAAmC,EACnC,MAAuB;YAEvB,MAAM,IAAI,GACR,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;gBAC/C,CAAC,CAAC,MAAM,IAAA,yCAAsB,EAC1B,MAAM,EACN,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CACzB;gBACH,CAAC,CAAC,IAAI,CAAC;YACX,+DAA+D;YAC/D,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;gBACnC,OAAO,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YACxD,IACE,IAAI;gBACJ,CAAC,aAAa,CAAC,MAAM,CAAC;gBACtB,CAAC,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAK,EAAE,CAAC,CAAC,IAAI,CACxD,GAAG,EAAE,CAAC,KAAK,EACX,CAAC,KAAgC,EAAE,EAAE,CACnC,KAAK,EAAE,IAAI,KAAK,0BAA0B,CAC7C,CAAC;gBAEF,OAAO,IAAI,CAAC;YACd,4DAA4D;YAC5D,OAAO,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,iGAAiG;QACjG;;;;;WAKG;QACH,KAAK,UAAU,SAAS,CACtB,MAAmC,EACnC,OAA2B,EAC3B,MAAuB;YAEvB,MAAM,KAAK,GAAG,MAAM,MAAM;iBACvB,QAAQ,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;iBAC9C,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACrB,IACE,CAAC,KAAK,EAAE,IAAI;gBACZ,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE;gBAE7D,OAAO,KAAK,CAAC;YACf,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU;gBAAE,OAAO,IAAI,CAAC;YAC/C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CACvB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,OAAO;gBAC7C,qBAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAQ,CAAC;gBACtD,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;oBACtB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;oBACf,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CACzB,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,CACnC,CAAC;QACJ,CAAC;QAED;;;;;WAKG;QACH,KAAK,UAAU,WAAW,CACxB,KAAgE,EAChE,MAAuB;YAEvB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9C,oEAAoE;YACpE,uBAAuB;YACvB,IAAI,IAAI,KAAK,SAAS;gBACpB,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YACnE,MAAM,MAAM,GACV,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YACvE,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YAC/C,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,cAAc;gBACvD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAqB,EAAE,CAAC;QAC3D,CAAC;QAED,gGAAgG;QAChG,KAAK,UAAU,MAAM,CACnB,IAAS,EACT,MAAuB;YAEvB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACrE,IAAI,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YACpD,OAAO,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QACzD,CAAC;QAED;;;;;;WAMG;QACH,KAAK,UAAU,QAAQ,CACrB,KAAkC,EAClC,MAAuB,EACvB,UAAmB;YAEnB,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,MAAM,IAAI,GAAG;gBACX,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;aAC7B,CAAC;YACF,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC;gBACjC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACxC,IAAI,IAAI,KAAK,IAAI;oBACf,MAAM,GAAG,GAAG;wBACV,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,OAAO,CAAC;wBAC1C,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;gBAC9D,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC;gBAClE,IACE,IAAI,KAAK,SAAS;oBAClB,CAAC,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC;oBAE9D,OAAO;wBACL,MAAM,EAAE,oBAAoB;wBAC5B,MAAM;wBACN,IAAI;wBACJ,IAAI,EAAE,KAAK;wBACX,IAAI,EACF,IAAI,KAAK,SAAS;4BAChB,CAAC,CAAC,qCAAuB;4BACzB,CAAC,CAAC,mCAAqB;qBAC5B,CAAC;YACN,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,UAAU,SAAS,CACtB,KAAkC,EAClC,MAAuB;YAEvB,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;gBAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC1E,gEAAgE;YAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrB,MAAM,MAAM,GAAG,MAAM,MAAM;qBACxB,qBAAqB,CAAC,EAAE,IAAI,EAAE,CAAC;qBAC/B,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBACrB,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBACrD,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO;wBAAE,OAAO,OAAO,CAAC;oBAC/C,2DAA2D;oBAC3D,kEAAkE;oBAClE,iDAAiD;oBACjD,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;wBACtC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;wBACxB,mEAAmE;wBACnE,MAAM,IAAI,GAAG,MAAM,MAAM;6BACtB,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC;6BACxB,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;wBACrB,IAAI,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,IAAI,IAAA,gBAAS,EAAC,IAAI,CAAC,IAAI,CAAC;4BAC5D,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;wBAClE,OAAO,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;oBACnD,CAAC;gBACH,CAAC;YACH,CAAC;YACD,gEAAgE;YAChE,oEAAoE;YACpE,IAAI,CAAC,MAAM,CAAC,aAAa;gBACvB,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;oBAChD,MAAM,OAAO,GAAG,MAAM,MAAM;yBACzB,qBAAqB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;yBAC1C,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;oBACrB,IAAI,CAAC,OAAO;wBAAE,SAAS;oBACvB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;oBACtD,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc;wBACjE,OAAO,OAAO,CAAC;oBACjB,2DAA2D;oBAC3D,mDAAmD;oBACnD,IAAI,MAAM,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;wBAC1C,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACnD,CAAC;YACH,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC5C,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAChD,IAAI,OAAO,EAAE,MAAM,KAAK,OAAO;oBAAE,OAAO,OAAO,CAAC;gBAChD,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;oBAClC,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;wBACzD,IAAI,UAAU;4BAAE,OAAO,UAAU,CAAC;oBACpC,CAAC;oBACD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC1B,OAAO,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YACD,wEAAwE;YACxE,+CAA+C;YAC/C,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;gBAC5C,IAAI,KAAK,KAAK,IAAI;oBAAE,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,GAAG,GACP,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;gBAC7B,CAAC,MAAM,IAAA,sCAAqB,EAC1B,MAAM,EACN,MAAM,CAAC,OAAO,EACd,IAAI,EACJ,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CACzB,CAAC,CAAC;gBACL,CAAC,MAAM,IAAA,sCAAqB,EAC1B,MAAe,EACf,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,OAAO,EACd,IAAI,EACJ,OAAO,CAAC,WAAW,CACpB,CAAC,CAAC;YACL,wEAAwE;YACxE,iFAAiF;YACjF,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;gBACzB,OAAO,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YACxD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAG,MAAM,IAAA,4CAAyB,EAC7C,MAAM,EACN,MAAM,EACN,OAAO,CAAC,WAAW,CACpB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;gBACrB,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;oBAAE,OAAO,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC5B,IACE,CAAC,MAAM,CAAC,QAAQ;oBAChB,CAAC,GAAG,CAAC,SAAS;wBACZ,GAAG,CAAC,SAAS,CAAC,aAAa,KAAK,MAAM,CAAC,aAAa,CAAC;oBAEvD,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gBACnE,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBAChD,kEAAkE;oBAClE,sCAAsC;oBACtC,IAAI,OAAO,EAAE,MAAM,KAAK,OAAO;wBAAE,OAAO,OAAO,CAAC;gBAClD,CAAC;gBACD,8DAA8D;gBAC9D,2DAA2D;gBAC3D,IAAI,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACrC,MAAM,OAAO,GAAG;wBACd,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM;wBAC5B,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,aAAa;qBAClC,CAAC;oBACF,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBACtC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;YACD,IACE,CAAC,MAAM,CAAC,QAAQ;gBAChB,CAAC,MAAM,CAAC,QAAQ;gBAChB,MAAM,CAAC,SAAS,KAAK,SAAS;gBAC9B,aAAa,CAAC,MAAM,CAAC;gBAErB,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,MAAM,CAAC,QAAQ;gBAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAED;;;;WAIG;QACH,KAAK,UAAU,OAAO,CACpB,MAAuB,EACvB,MAA8C;YAE9C,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,MAAM,KAAK,oBAAoB;gBACvC,OAAO,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACpC,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YAC1D,sEAAsE;YACtE,qEAAqE;YACrE,OAAO,CACL,CAAC,MAAM,QAAQ,CACb,KAAK,CAAC,MAAM,EACZ,MAAM,EACN,KAAK,CAAC,MAAM,KAAK,gBAAgB,CAClC,CAAC,IAAI,KAAK,CACZ,CAAC;QACJ,CAAC;QAED;;;;WAIG;QACH,KAAK,UAAU,MAAM,CACnB,KAAqB,EACrB,MAAuB;YAEvB,OAAO,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,cAAc;gBAChE,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAED,KAAK,UAAU,YAAY,CACzB,MAAuB,EACvB,MAA8C;YAE9C,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM;gBAAE,OAAO,OAAO,EAAE,CAAC;YAC9B,kCAAkC;YAClC,IAAI,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO;gBAClE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,MAAM,CAAC,IAAI;gBAAE,OAAO,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,QAAQ;iBACzB,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;iBAChD,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACrB,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM;gBAAE,OAAO,OAAO,EAAE,CAAC;YAC9B,IAAI,KAAK,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC7B,2DAA2D;gBAC3D,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;oBACjC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,MAAM,MAAM;qBACzB,qBAAqB,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;qBAC3C,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBACrB,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACzE,CAAC;YACD,uDAAuD;YACvD,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;gBACjD,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACtC,IACE,MAAM,CAAC,IAAI;gBACX,MAAM,CAAC,SAAS,KAAK,SAAS;gBAC9B,KAAK,EAAE,MAAM,KAAK,SAAS;gBAC3B,KAAK,CAAC,MAAM;gBAEZ,OAAO;oBACL,MAAM,EAAE,gBAAgB;oBACxB,MAAM;oBACN,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAA,8BAAgB,GAAE;oBACxB,OAAO,EAAE,yCAA2B;iBACrC,CAAC;YACJ,oEAAoE;YACpE,sCAAsC;YACtC,IAAI,KAAK,EAAE,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM;gBAC7C,OAAO;oBACL,MAAM,EAAE,YAAY;oBACpB,MAAM;oBACN,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,wCAA0B;oBAChC,GAAG,CAAC,MAAM,CAAC,IAAI;wBACb,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,yCAA2B,EAAE;wBAC7D,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC;YACJ,gEAAgE;YAChE,IACE,MAAM,CAAC,IAAI;gBACX,MAAM,CAAC,SAAS,KAAK,SAAS;gBAC9B,KAAK,EAAE,MAAM,KAAK,SAAS;gBAC3B,CAAC,KAAK,CAAC,MAAM,EACb,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CACnE,GAAG,EAAE,CAAC,IAAI,EACV,CAAC,KAAgC,EAAE,EAAE,CACnC,KAAK,EAAE,IAAI,KAAK,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAC5D,CAAC;gBACF,IAAI,KAAK,KAAK,IAAI;oBAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC/D,IACE,KAAK,KAAK,KAAK;oBACf,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,cAAc;oBACxD,CAAC,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBAEnC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;YACD,IACE,MAAM,CAAC,IAAI;gBACX,MAAM,CAAC,SAAS,KAAK,SAAS;gBAC9B,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS;oBACzB,MAAM,CAAC,SAAS,KAAK,SAAS;oBAC9B,aAAa,CAAC,MAAM,CAAC,CAAC;gBACxB,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CACtD,GAAG,EAAE,CAAC,KAAK,EACX,CAAC,KAAgC,EAAE,EAAE,CACnC,KAAK,EAAE,IAAI,KAAK,0BAA0B,CAC7C,CAAC;gBAEF,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAED;;;WAGG;QACH,KAAK,UAAU,KAAK,CAClB,MAAuB,EACvB,SAA6D,EAAE;YAE/D,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;YACzE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO;YACL,KAAK;YACL,kEAAkE;YAClE,IAAI;YACJ;;;eAGG;YACH,SAAS,CAAC,QAAyC;gBACjD,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC,GAAG;oBAAE,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;gBAChD,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACvB,SAAS,EAAE,CAAC;gBACZ,yEAAyE;gBACzE,iEAAiE;gBACjE,kCAAkC;gBAClC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC;oBACnB,0EAA0E;oBAC1E,MAAM,QAAQ,GAAG,CAAC,KAAqB,EAAE,EAAE,CACzC,IAAI,CAAC,SAAS,CACZ,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAClE,CAAC;oBACJ,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO,GAAG,EAAE;oBACV,GAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACtB,IAAI,CAAC,GAAI,CAAC,IAAI,EAAE,CAAC;wBACf,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACtB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACtB,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;YACD;;;;;;eAMG;YACH,KAAK,CAAC,IAAI,CACR,MAAuB,EACvB,GAAwC;gBAExC,IAAI,OAAgD,CAAC;gBACrD,MAAM,IAAI,GAAkB;oBAC1B,KAAK,CAAC,UAAU,CAAC,UAAU;wBACzB,IAAI,QAES,CAAC;wBACd,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;4BACf,kFAAkF;4BAClF,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAA,yCAAsB,EAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;4BAChE,IAAI,CAAC;gCACH,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BACtC,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCACf,MAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;4BACvC,CAAC;wBACH,CAAC;wBACD,IAAI,CAAC;4BACH,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;wBACnD,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;4BAC5D,KAAK,CAAC,GAAG,CAAC,CAAC;4BACX,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO;gCAAE,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;4BAC1D,MAAM,KAAK,CAAC;wBACd,CAAC;wBACD,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;oBAChB,CAAC;oBACD,WAAW,CAAC,IAAI,EAAE,QAAQ;wBACxB,IAAI,CAAC,OAAO;4BACV,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;wBAC7D,IAAI,CAAC;4BACH,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;wBAC9C,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,IAAI,CAAC,CAAC,KAAK,YAAY,iDAA8B,CAAC;gCACpD,MAAM,KAAK,CAAC;4BACd,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;wBACzB,CAAC;wBACD,mEAAmE;wBACnE,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ;4BACvB,IAAI,CAAC;gCACH,IAAA,oCAAmB,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;gCAChE,OAAO,GAAG,QAAQ,CAAC,aAAa,CAC9B,OAAO,EACP,IAAA,uCAAsB,EAAC,QAAQ,CAAC,CAAC,KAAK,CACvC,CAAC;4BACJ,CAAC;4BAAC,MAAM,CAAC;gCACP,oDAAoD;4BACtD,CAAC;wBACH,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACpC,CAAC;oBACD,UAAU;wBACR,QAAQ,CAAC,QAAQ,EAAE,CAAC;wBACpB,OAAO,GAAG,SAAS,CAAC;wBACpB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;oBAChB,CAAC;iBACF,CAAC;gBACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;oBACrC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;oBACzC,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO;wBAAE,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;oBAC1D,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC,EAAE,KAAK,CAAC,CAAC;gBACV,IAAI,CAAC,MAAM;oBAAE,MAAM,IAAI,kBAAkB,EAAE,CAAC;gBAC5C,OAAO,MAAM,CAAC,KAAK,CAAC;YACtB,CAAC;YACD;;;;;eAKG;YACH,KAAK,CAAC,IAAI,CACR,QAAwB,EACxB,eAAwC,EACxC,MAAuB;gBAEvB,IAAI,eAAe,EAAE,aAAa,KAAK,IAAI;oBACzC,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;oBACrC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;oBAC9C,IACE,QAAQ,CAAC,MAAM,KAAK,OAAO;wBAC3B,GAAG,CAAC,MAAM,KAAK,OAAO;wBACtB,CAAC,GAAG,CAAC,IAAI;wBACT,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;wBAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAE9D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;oBACzC,IAAI,CAAC;wBACH,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC7D,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO;4BACL,QAAQ,EAAE,KAAK;4BACf,KAAK,EAAE,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC;yBACvD,CAAC;oBACJ,CAAC;oBACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC5C,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;gBAClE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnB,OAAO,KAAK,CAAC;YACf,CAAC;YACD;;;;eAIG;YACH,KAAK,CAAC,SAAS,CACb,OAA2B,EAC3B,MAAuB,EACvB,KAAwD;gBAExD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;oBACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC/B,IACE,CAAC,MAAM;wBACP,CAAC,CAAC,MAAM,CAAC,IAAI;4BACX,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;wBAE1D,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;oBAC1C,OAAO,MAAM,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;gBACtE,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,OAAO,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;YACxC,CAAC;YACD;;;;;eAKG;YACH,KAAK,CAAC,UAAU,CACd,MAAuB,EACvB,YAAkB;gBAElB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;oBACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC/B,IACE,MAAM,EAAE,IAAI;wBACZ,MAAM,CAAC,IAAI;wBACX,CAAC,YAAY,KAAK,SAAS;4BACzB,YAAY,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC;wBAE7C,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBAC/B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;gBACzB,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,OAAO,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;YACxC,CAAC;YACD;;;;;;eAMG;YACH,KAAK,CAAC,UAAU,CACd,MAAuB,EACvB,IAAS;gBAET,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;oBACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC/B,IACE,MAAM;wBACN,CAAC,MAAM,CAAC,IAAI;wBACZ,CAAC,MAAM,CAAC,IAAI;wBACZ,IAAA,wBAAS,EAAC,IAAI,CAAC;wBACf,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,EAChE,CAAC;wBACD,MAAM,IAAI,GAAG,MAAM,MAAM;6BACtB,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC;6BACxB,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;wBACrB,IACE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE;4BAChD,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,OAAO;4BAC3C,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC;4BAC/D,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE;4BACzC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI;4BAC9C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;4BAChD,+DAA+D;4BAC/D,wDAAwD;4BACxD,4DAA4D;4BAC5D,uDAAuD;4BACvD,MAAM,CAAC,KAAK,KAAK,SAAS;4BAC1B,MAAM,CAAC,SAAS,KAAK,SAAS;4BAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;4BAC1C,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI;gCACxB,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;4BAE/C,IAAI,CAAC;gCACH,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;4BACnC,CAAC;4BAAC,MAAM,CAAC;gCACP,gDAAgD;4BAClD,CAAC;oBACL,CAAC;oBACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;gBACzB,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,OAAO,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;YACxC,CAAC;YACD;;;;;eAKG;YACH,KAAK,CAAC,UAAU,CACd,MAAuB,EACvB,aAAmB;gBAEnB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;oBACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC/B,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI;wBAC/B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;oBAC1C,IAAI,aAAa,EAAE,CAAC;wBAClB,kEAAkE;wBAClE,yDAAyD;wBACzD,MAAM,OAAO,GAAG,MAAM,MAAM;6BACzB,qBAAqB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;6BAC9C,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;wBACrB,IAAI,OAAO,EAAE,CAAC;4BACZ,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;4BACtD,IACE,OAAO,CAAC,MAAM,KAAK,OAAO;gCAC1B,OAAO,CAAC,MAAM,KAAK,cAAc;gCAEjC,OAAO,OAAO,CAAC;wBACnB,CAAC;wBACD,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;4BACzD,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;oBAC9C,CAAC;oBACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;gBACzB,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,OAAO,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;YACxC,CAAC;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI;QACJ,gDAAgD;QAChD,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;QAChC,oEAAoE;QACpE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oCAAsB,CAAC;QACrE,qEAAqE;QACrE,OAAO;YACL,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,SAAS;gBAAE,UAAU,CAAC,mBAAmB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACtE,SAAS,GAAG,SAAS,CAAC;QACxB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -56,6 +56,25 @@ export type ReviewedWriteRecoveryRecord = Omit<ReviewedWriteRecoveryInput, "call
|
|
|
56
56
|
* string. Cleared once it is seen again.
|
|
57
57
|
*/
|
|
58
58
|
vanishedAt?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Hashes an app reported as this Safe write's execution, not yet
|
|
61
|
+
* authenticated: each settles it only once its receipt proves this Safe's
|
|
62
|
+
* execution of the exact proposal or call.
|
|
63
|
+
*/
|
|
64
|
+
candidates?: Hex[];
|
|
65
|
+
/**
|
|
66
|
+
* When the saved hash was first seen mined with its receipt unreadable, in
|
|
67
|
+
* milliseconds since the epoch, as a decimal string. Cleared once it is
|
|
68
|
+
* seen pending again.
|
|
69
|
+
*/
|
|
70
|
+
minedAt?: string;
|
|
71
|
+
/** The same clock for each candidate seen mined with its receipt unreadable, by hash. */
|
|
72
|
+
candidateMinedAt?: Record<string, string>;
|
|
73
|
+
};
|
|
74
|
+
/** How a held write ended, on authenticated evidence: its result and transaction. */
|
|
75
|
+
export type ReviewedWriteSettlement = {
|
|
76
|
+
result: "success" | "failed";
|
|
77
|
+
hash: Hex;
|
|
59
78
|
};
|
|
60
79
|
/** The account's next nonce and the block it was read at, from {@link readReviewedWriteNonce}. */
|
|
61
80
|
export type ReviewedWriteNonceEvidence = {
|
|
@@ -131,6 +150,8 @@ export declare function createBrowserWriteRecovery(input: ReviewedWriteRecoveryI
|
|
|
131
150
|
locks?: RecoveryLocks;
|
|
132
151
|
}): {
|
|
133
152
|
read: () => ReviewedWriteRecoveryRecord | null;
|
|
153
|
+
/** The canonical recovery scope this call's records are saved under. */
|
|
154
|
+
scopeKey: string;
|
|
134
155
|
/**
|
|
135
156
|
* Save the attempt before the wallet opens. `evidence`, the account's next
|
|
136
157
|
* nonce from {@link readReviewedWriteNonce}, lets `resolve` release it
|
|
@@ -140,6 +161,19 @@ export declare function createBrowserWriteRecovery(input: ReviewedWriteRecoveryI
|
|
|
140
161
|
submitted(hash: Hex, expected?: ReviewedWriteRecoveryRecord | undefined): ReviewedWriteRecoveryRecord;
|
|
141
162
|
rejected: () => void;
|
|
142
163
|
clear: (expected: ReviewedWriteRecoveryRecord) => void;
|
|
164
|
+
/**
|
|
165
|
+
* Save how the call's last write ended, on authenticated evidence (its
|
|
166
|
+
* verified receipt or canonical execution), for any later reader: another
|
|
167
|
+
* tab, a reload. The next reservation replaces it. Extra evidence: a
|
|
168
|
+
* failed save keeps none.
|
|
169
|
+
*/
|
|
170
|
+
markSettled(expected: ReviewedWriteRecoveryRecord, settlement: ReviewedWriteSettlement): void;
|
|
171
|
+
/**
|
|
172
|
+
* How the call's last write ended, if {@link markSettled} saved it for
|
|
173
|
+
* the call's latest reservation; a settlement of an earlier one reads as
|
|
174
|
+
* none, wherever it was kept.
|
|
175
|
+
*/
|
|
176
|
+
settled(): ReviewedWriteSettlement | undefined;
|
|
143
177
|
/**
|
|
144
178
|
* Start the clock of a hash saved before `submittedAt` existed: save now
|
|
145
179
|
* as its `firstSeenAt`, once. Extra evidence: a stale snapshot or a failed
|
|
@@ -168,6 +202,23 @@ export declare function createBrowserWriteRecovery(input: ReviewedWriteRecoveryI
|
|
|
168
202
|
* evidence only.
|
|
169
203
|
*/
|
|
170
204
|
vanished(expected: ReviewedWriteRecoveryRecord, gone: boolean): ReviewedWriteRecoveryRecord;
|
|
205
|
+
/**
|
|
206
|
+
* Keep `hash` as a candidate execution of this Safe write, unproven.
|
|
207
|
+
* No cap: candidates come only from the app's own wallet replies, bounded
|
|
208
|
+
* by the user's actions; add one if an outside path ever reports them.
|
|
209
|
+
* Extra evidence only: a failed save keeps the record as it was.
|
|
210
|
+
*/
|
|
211
|
+
candidate(expected: ReviewedWriteRecoveryRecord, hash: Hex): ReviewedWriteRecoveryRecord;
|
|
212
|
+
/** Drop a candidate whose own receipt proved it isn't this write's execution. */
|
|
213
|
+
disproven(expected: ReviewedWriteRecoveryRecord, hash: Hex): ReviewedWriteRecoveryRecord;
|
|
214
|
+
/**
|
|
215
|
+
* Note whether the saved hash is mined with its receipt unreadable right
|
|
216
|
+
* now: mined starts the clock once; pending again clears it. Extra
|
|
217
|
+
* evidence only.
|
|
218
|
+
*/
|
|
219
|
+
mined(expected: ReviewedWriteRecoveryRecord, seen: boolean): ReviewedWriteRecoveryRecord;
|
|
220
|
+
/** {@link mined}, for one candidate hash. */
|
|
221
|
+
candidateMined(expected: ReviewedWriteRecoveryRecord, hash: Hex, seen: boolean): ReviewedWriteRecoveryRecord;
|
|
171
222
|
/**
|
|
172
223
|
* Save that the app's follower of this Safe write ended without proof.
|
|
173
224
|
* A proven execution or replacement keeps its own state.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeRecovery.d.ts","sourceRoot":"","sources":["../../../src/review/writeRecovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,MAAM,CAAC;AACd,OAAO,EAKL,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAO3B,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,0BAA0B,EAC1B,MAAM,CACP,GAAG;IACF,OAAO,EAAE,CAAC,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,iFAAiF;IACjF,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,6FAA6F;IAC7F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sGAAsG;IACtG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6GAA6G;IAC7G,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kHAAkH;IAClH,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,yGAAyG;IACzG,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"writeRecovery.d.ts","sourceRoot":"","sources":["../../../src/review/writeRecovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,6 +76,14 @@ function recordOf(value) {
|
|
|
76
76
|
!optionalDecimal(record.firstSeenAt) ||
|
|
77
77
|
!optionalDecimal(record.safeNonce) ||
|
|
78
78
|
!optionalDecimal(record.vanishedAt) ||
|
|
79
|
+
!optionalDecimal(record.minedAt) ||
|
|
80
|
+
(record.candidateMinedAt !== undefined &&
|
|
81
|
+
(typeof record.candidateMinedAt !== "object" ||
|
|
82
|
+
record.candidateMinedAt === null ||
|
|
83
|
+
!Object.entries(record.candidateMinedAt).every(([hash, at]) => (0, untrusted_js_1.isBytes32)(hash) && optionalDecimal(at)))) ||
|
|
84
|
+
(record.candidates !== undefined &&
|
|
85
|
+
(!Array.isArray(record.candidates) ||
|
|
86
|
+
!record.candidates.every(untrusted_js_1.isBytes32))) ||
|
|
79
87
|
(record.replaced !== undefined && record.replaced !== true) ||
|
|
80
88
|
(record.unproven !== undefined && record.unproven !== true) ||
|
|
81
89
|
(record.sentFrom !== undefined &&
|
|
@@ -109,6 +117,15 @@ function recordOf(value) {
|
|
|
109
117
|
...(record.vanishedAt === undefined
|
|
110
118
|
? {}
|
|
111
119
|
: { vanishedAt: record.vanishedAt }),
|
|
120
|
+
...(record.minedAt === undefined ? {} : { minedAt: record.minedAt }),
|
|
121
|
+
...(record.candidateMinedAt === undefined
|
|
122
|
+
? {}
|
|
123
|
+
: { candidateMinedAt: { ...record.candidateMinedAt } }),
|
|
124
|
+
...(record.candidates === undefined
|
|
125
|
+
? {}
|
|
126
|
+
: {
|
|
127
|
+
candidates: record.candidates.map((hash) => hash.toLowerCase()),
|
|
128
|
+
}),
|
|
112
129
|
...(record.executed ? { executed: true } : {}),
|
|
113
130
|
...(record.executionHash === undefined
|
|
114
131
|
? {}
|
|
@@ -473,6 +490,8 @@ function browserLocks() {
|
|
|
473
490
|
function createBrowserWriteRecovery(input, options = {}) {
|
|
474
491
|
const reviewed = normalized(input);
|
|
475
492
|
const key = scope(reviewed);
|
|
493
|
+
const settledKey = `${key}:settled`;
|
|
494
|
+
const latestKey = `${key}:latest`;
|
|
476
495
|
const legacyKey = reviewed.namespace === undefined ? legacyScope(reviewed) : undefined;
|
|
477
496
|
let owned;
|
|
478
497
|
let locked = false;
|
|
@@ -588,9 +607,30 @@ function createBrowserWriteRecovery(input, options = {}) {
|
|
|
588
607
|
const current = read();
|
|
589
608
|
if (current?.id === owned.id && current.hash)
|
|
590
609
|
return;
|
|
591
|
-
|
|
610
|
+
// Removing the record must not uncover a settlement of an earlier
|
|
611
|
+
// attempt: unless this reservation is the verified latest, it stays as
|
|
612
|
+
// released instead, which still invalidates that settlement.
|
|
613
|
+
if (markedLatest(owned.id))
|
|
614
|
+
clear(owned);
|
|
615
|
+
else {
|
|
616
|
+
const store = storage();
|
|
617
|
+
const { at } = locate(store);
|
|
618
|
+
store.setItem(releasedKey(at, owned.id), "1");
|
|
619
|
+
}
|
|
592
620
|
owned = undefined;
|
|
593
621
|
}
|
|
622
|
+
/** Save `id` as the call's latest reservation, verified by reading it back. */
|
|
623
|
+
function markedLatest(id) {
|
|
624
|
+
const marker = JSON.stringify({ id });
|
|
625
|
+
try {
|
|
626
|
+
const store = storage();
|
|
627
|
+
store.setItem(latestKey, marker);
|
|
628
|
+
return store.getItem(latestKey) === marker;
|
|
629
|
+
}
|
|
630
|
+
catch {
|
|
631
|
+
return false;
|
|
632
|
+
}
|
|
633
|
+
}
|
|
594
634
|
/**
|
|
595
635
|
* Save the nonce the chain showed for the saved hash. It is extra evidence:
|
|
596
636
|
* a failed save keeps the record as it was.
|
|
@@ -630,6 +670,8 @@ function createBrowserWriteRecovery(input, options = {}) {
|
|
|
630
670
|
...previous,
|
|
631
671
|
hash: submittedHash,
|
|
632
672
|
...(submittedAt === undefined ? {} : { submittedAt }),
|
|
673
|
+
// A mined clock belongs to the hash it was seen for.
|
|
674
|
+
...(previous.hash === submittedHash ? {} : { minedAt: undefined }),
|
|
633
675
|
});
|
|
634
676
|
let raw;
|
|
635
677
|
let at = key;
|
|
@@ -673,6 +715,8 @@ function createBrowserWriteRecovery(input, options = {}) {
|
|
|
673
715
|
}
|
|
674
716
|
return {
|
|
675
717
|
read,
|
|
718
|
+
/** The canonical recovery scope this call's records are saved under. */
|
|
719
|
+
scopeKey: key,
|
|
676
720
|
/**
|
|
677
721
|
* Save the attempt before the wallet opens. `evidence`, the account's next
|
|
678
722
|
* nonce from {@link readReviewedWriteNonce}, lets `resolve` release it
|
|
@@ -733,6 +777,18 @@ function createBrowserWriteRecovery(input, options = {}) {
|
|
|
733
777
|
catch {
|
|
734
778
|
/* A leftover marker names only the old record. */
|
|
735
779
|
}
|
|
780
|
+
// This reservation is the call's latest: a settlement of an earlier one
|
|
781
|
+
// is no longer read. Kept after a rejection or exit.
|
|
782
|
+
// The marker is verified by reading it back; where an older one still
|
|
783
|
+
// shows, the old settlement goes too. Either way the saved record
|
|
784
|
+
// itself outranks any settlement of another attempt.
|
|
785
|
+
if (!markedLatest(record.id))
|
|
786
|
+
try {
|
|
787
|
+
store.removeItem(settledKey);
|
|
788
|
+
}
|
|
789
|
+
catch {
|
|
790
|
+
/* The saved record still outranks it. */
|
|
791
|
+
}
|
|
736
792
|
return recordOf(record);
|
|
737
793
|
},
|
|
738
794
|
submitted(hash, expected = owned) {
|
|
@@ -740,6 +796,53 @@ function createBrowserWriteRecovery(input, options = {}) {
|
|
|
740
796
|
},
|
|
741
797
|
rejected,
|
|
742
798
|
clear,
|
|
799
|
+
/**
|
|
800
|
+
* Save how the call's last write ended, on authenticated evidence (its
|
|
801
|
+
* verified receipt or canonical execution), for any later reader: another
|
|
802
|
+
* tab, a reload. The next reservation replaces it. Extra evidence: a
|
|
803
|
+
* failed save keeps none.
|
|
804
|
+
*/
|
|
805
|
+
markSettled(expected, settlement) {
|
|
806
|
+
requireLock();
|
|
807
|
+
try {
|
|
808
|
+
storage().setItem(settledKey, JSON.stringify({
|
|
809
|
+
id: expected.id,
|
|
810
|
+
result: settlement.result,
|
|
811
|
+
hash: settlement.hash.toLowerCase(),
|
|
812
|
+
at: Date.now(),
|
|
813
|
+
}));
|
|
814
|
+
}
|
|
815
|
+
catch {
|
|
816
|
+
/* Only the settling caller learns it. */
|
|
817
|
+
}
|
|
818
|
+
},
|
|
819
|
+
/**
|
|
820
|
+
* How the call's last write ended, if {@link markSettled} saved it for
|
|
821
|
+
* the call's latest reservation; a settlement of an earlier one reads as
|
|
822
|
+
* none, wherever it was kept.
|
|
823
|
+
*/
|
|
824
|
+
settled() {
|
|
825
|
+
try {
|
|
826
|
+
const store = storage();
|
|
827
|
+
const latest = JSON.parse(store.getItem(latestKey) ?? "null");
|
|
828
|
+
const saved = JSON.parse(store.getItem(settledKey) ?? "null");
|
|
829
|
+
// A record saved at the key (held, or released by the user's exit)
|
|
830
|
+
// belongs to its own attempt; only none, or the settled one, lets the
|
|
831
|
+
// settlement through.
|
|
832
|
+
const { raw } = locate(store);
|
|
833
|
+
return saved &&
|
|
834
|
+
typeof saved.id === "string" &&
|
|
835
|
+
saved.id === latest?.id &&
|
|
836
|
+
(raw === null || idOf(raw) === saved.id) &&
|
|
837
|
+
(saved.result === "success" || saved.result === "failed") &&
|
|
838
|
+
(0, untrusted_js_1.isBytes32)(saved.hash)
|
|
839
|
+
? { result: saved.result, hash: saved.hash }
|
|
840
|
+
: undefined;
|
|
841
|
+
}
|
|
842
|
+
catch {
|
|
843
|
+
return undefined;
|
|
844
|
+
}
|
|
845
|
+
},
|
|
743
846
|
/**
|
|
744
847
|
* Start the clock of a hash saved before `submittedAt` existed: save now
|
|
745
848
|
* as its `firstSeenAt`, once. Extra evidence: a stale snapshot or a failed
|
|
@@ -787,6 +890,47 @@ function createBrowserWriteRecovery(input, options = {}) {
|
|
|
787
890
|
return amend(expected, (current) => current.sentNonce !== undefined &&
|
|
788
891
|
(current.vanishedAt === undefined) === gone, { vanishedAt: gone ? String(Date.now()) : undefined });
|
|
789
892
|
},
|
|
893
|
+
/**
|
|
894
|
+
* Keep `hash` as a candidate execution of this Safe write, unproven.
|
|
895
|
+
* No cap: candidates come only from the app's own wallet replies, bounded
|
|
896
|
+
* by the user's actions; add one if an outside path ever reports them.
|
|
897
|
+
* Extra evidence only: a failed save keeps the record as it was.
|
|
898
|
+
*/
|
|
899
|
+
candidate(expected, hash) {
|
|
900
|
+
if (!(0, untrusted_js_1.isBytes32)(hash))
|
|
901
|
+
return recordOf(expected);
|
|
902
|
+
const wanted = hash.toLowerCase();
|
|
903
|
+
const known = recordOf(expected).candidates ?? [];
|
|
904
|
+
return amend(expected, (current) => current.safe && !known.includes(wanted), { candidates: [...known, wanted] });
|
|
905
|
+
},
|
|
906
|
+
/** Drop a candidate whose own receipt proved it isn't this write's execution. */
|
|
907
|
+
disproven(expected, hash) {
|
|
908
|
+
const known = recordOf(expected).candidates ?? [];
|
|
909
|
+
const rest = known.filter((candidate) => candidate !== hash);
|
|
910
|
+
return amend(expected, () => rest.length !== known.length, {
|
|
911
|
+
candidates: rest.length ? rest : undefined,
|
|
912
|
+
});
|
|
913
|
+
},
|
|
914
|
+
/**
|
|
915
|
+
* Note whether the saved hash is mined with its receipt unreadable right
|
|
916
|
+
* now: mined starts the clock once; pending again clears it. Extra
|
|
917
|
+
* evidence only.
|
|
918
|
+
*/
|
|
919
|
+
mined(expected, seen) {
|
|
920
|
+
return amend(expected, (current) => (current.minedAt === undefined) === seen, { minedAt: seen ? String(Date.now()) : undefined });
|
|
921
|
+
},
|
|
922
|
+
/** {@link mined}, for one candidate hash. */
|
|
923
|
+
candidateMined(expected, hash, seen) {
|
|
924
|
+
const clocks = { ...recordOf(expected).candidateMinedAt };
|
|
925
|
+
if (seen)
|
|
926
|
+
clocks[hash] ??= String(Date.now());
|
|
927
|
+
else
|
|
928
|
+
delete clocks[hash];
|
|
929
|
+
return amend(expected, (current) => JSON.stringify(current.candidateMinedAt ?? {}) !==
|
|
930
|
+
JSON.stringify(clocks), {
|
|
931
|
+
candidateMinedAt: Object.keys(clocks).length ? clocks : undefined,
|
|
932
|
+
});
|
|
933
|
+
},
|
|
790
934
|
/**
|
|
791
935
|
* Save that the app's follower of this Safe write ended without proof.
|
|
792
936
|
* A proven execution or replacement keeps its own state.
|
|
@@ -955,11 +1099,14 @@ async function inspectOrdinary(client, record) {
|
|
|
955
1099
|
sent.hash?.toLowerCase() !== record.hash ||
|
|
956
1100
|
(sent.chainId !== undefined && sent.chainId !== record.chainId))
|
|
957
1101
|
return pending;
|
|
1102
|
+
const sentNonce = BigInt(sent.nonce).toString();
|
|
1103
|
+
if (sent.blockNumber !== null && sent.blockNumber !== undefined)
|
|
1104
|
+
return { check: { status: "sent", hash: record.hash }, sentNonce };
|
|
1105
|
+
// A node may keep a dropped hash pending: a canonical finalized block
|
|
1106
|
+
// that shows its sent nonce used by another transaction still decides.
|
|
958
1107
|
return {
|
|
959
|
-
check:
|
|
960
|
-
|
|
961
|
-
: { status: "pending" },
|
|
962
|
-
sentNonce: BigInt(sent.nonce).toString(),
|
|
1108
|
+
check: await atNonce(client, record, BigInt(sentNonce), BigInt(record.fromBlock ?? "0"), true),
|
|
1109
|
+
sentNonce,
|
|
963
1110
|
};
|
|
964
1111
|
}
|
|
965
1112
|
}
|
|
@@ -970,22 +1117,29 @@ async function inspectOrdinary(client, record) {
|
|
|
970
1117
|
const from = record.fromBlock ?? (bound ? "0" : undefined);
|
|
971
1118
|
if (target === undefined || from === undefined)
|
|
972
1119
|
return pending;
|
|
973
|
-
|
|
1120
|
+
return {
|
|
1121
|
+
check: await atNonce(client, record, BigInt(target), BigInt(from), bound),
|
|
1122
|
+
};
|
|
1123
|
+
}
|
|
1124
|
+
/** What the transaction the account sent at `nonce` says of the saved write; `bound`: the saved hash's own sent nonce. */
|
|
1125
|
+
async function atNonce(client, record, nonce, fromBlock, bound) {
|
|
1126
|
+
const pending = { status: "pending" };
|
|
1127
|
+
const used = await findTransactionAtNonce(client, record.account, nonce, fromBlock);
|
|
974
1128
|
if (!used)
|
|
975
1129
|
return pending;
|
|
976
1130
|
if (used.hash === record.hash)
|
|
977
|
-
return {
|
|
1131
|
+
return { status: "sent", hash: used.hash };
|
|
978
1132
|
const sameCall = used.to?.toLowerCase() === record.call.to &&
|
|
979
1133
|
used.input?.toLowerCase() === record.call.data &&
|
|
980
1134
|
BigInt(used.value ?? 0) === BigInt(record.call.value);
|
|
981
1135
|
// Another hash is adopted only at the nonce the saved hash's own
|
|
982
1136
|
// transaction was sent at; the pre-wallet nonce only locates the call.
|
|
983
1137
|
if (sameCall)
|
|
984
|
-
return bound ? {
|
|
1138
|
+
return bound ? { status: "sent", hash: used.hash } : pending;
|
|
985
1139
|
// Another transaction at that nonce may have run the call inside it
|
|
986
1140
|
// (a wrapper, or an EIP-7702 wallet that ran code and then cleared its
|
|
987
1141
|
// delegation), so it proves nothing. The user's exit ends it.
|
|
988
|
-
return {
|
|
1142
|
+
return { status: "pending", usedBy: used.hash };
|
|
989
1143
|
}
|
|
990
1144
|
/**
|
|
991
1145
|
* The transaction `account` sent at `nonce`, once the account's nonce is past
|