@kynesyslabs/demosdk 4.0.11 → 4.0.13
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/build/abstraction/Identities.js +10 -2
- package/build/abstraction/Identities.js.map +1 -1
- package/build/l2ps/channel/finalize.d.ts +63 -0
- package/build/l2ps/channel/finalize.js +85 -0
- package/build/l2ps/channel/finalize.js.map +1 -0
- package/build/l2ps/channel/index.d.ts +3 -0
- package/build/l2ps/channel/index.js +3 -0
- package/build/l2ps/channel/index.js.map +1 -1
- package/build/l2ps/channel/negotiate.d.ts +106 -0
- package/build/l2ps/channel/negotiate.js +206 -0
- package/build/l2ps/channel/negotiate.js.map +1 -0
- package/build/l2ps/channel/transport.d.ts +117 -0
- package/build/l2ps/channel/transport.js +178 -0
- package/build/l2ps/channel/transport.js.map +1 -0
- package/build/websdk/BroadcastFailedError.js.map +1 -1
- package/build/websdk/DemosTransactions.d.ts +2 -2
- package/build/websdk/DemosTransactions.js +3 -3
- package/build/websdk/TransportError.js.map +1 -1
- package/build/websdk/demosclass.d.ts +81 -1
- package/build/websdk/demosclass.js +84 -1
- package/build/websdk/demosclass.js.map +1 -1
- package/build/websdk/index.d.ts +1 -0
- package/build/websdk/index.js +3 -0
- package/build/websdk/index.js.map +1 -1
- package/build/websdk/programmatic/ProgrammaticTx.d.ts +118 -0
- package/build/websdk/programmatic/ProgrammaticTx.js +56 -0
- package/build/websdk/programmatic/ProgrammaticTx.js.map +1 -0
- package/build/websdk/programmatic/attest.d.ts +396 -0
- package/build/websdk/programmatic/attest.js +398 -0
- package/build/websdk/programmatic/attest.js.map +1 -0
- package/build/websdk/programmatic/bridge.d.ts +36 -0
- package/build/websdk/programmatic/bridge.js +37 -0
- package/build/websdk/programmatic/bridge.js.map +1 -0
- package/build/websdk/programmatic/context.d.ts +26 -0
- package/build/websdk/programmatic/context.js +9 -0
- package/build/websdk/programmatic/context.js.map +1 -0
- package/build/websdk/programmatic/contracts.d.ts +79 -0
- package/build/websdk/programmatic/contracts.js +81 -0
- package/build/websdk/programmatic/contracts.js.map +1 -0
- package/build/websdk/programmatic/d402.d.ts +33 -0
- package/build/websdk/programmatic/d402.js +35 -0
- package/build/websdk/programmatic/d402.js.map +1 -0
- package/build/websdk/programmatic/demoswork.d.ts +37 -0
- package/build/websdk/programmatic/demoswork.js +38 -0
- package/build/websdk/programmatic/demoswork.js.map +1 -0
- package/build/websdk/programmatic/errors.d.ts +20 -0
- package/build/websdk/programmatic/errors.js +24 -0
- package/build/websdk/programmatic/errors.js.map +1 -0
- package/build/websdk/programmatic/escrow.d.ts +75 -0
- package/build/websdk/programmatic/escrow.js +74 -0
- package/build/websdk/programmatic/escrow.js.map +1 -0
- package/build/websdk/programmatic/governance.d.ts +59 -0
- package/build/websdk/programmatic/governance.js +44 -0
- package/build/websdk/programmatic/governance.js.map +1 -0
- package/build/websdk/programmatic/index.d.ts +30 -0
- package/build/websdk/programmatic/index.js +31 -0
- package/build/websdk/programmatic/index.js.map +1 -0
- package/build/websdk/programmatic/ipfs.d.ts +74 -0
- package/build/websdk/programmatic/ipfs.js +103 -0
- package/build/websdk/programmatic/ipfs.js.map +1 -0
- package/build/websdk/programmatic/pay.d.ts +36 -0
- package/build/websdk/programmatic/pay.js +37 -0
- package/build/websdk/programmatic/pay.js.map +1 -0
- package/build/websdk/programmatic/runner.d.ts +30 -0
- package/build/websdk/programmatic/runner.js +186 -0
- package/build/websdk/programmatic/runner.js.map +1 -0
- package/build/websdk/programmatic/storage.d.ts +49 -0
- package/build/websdk/programmatic/storage.js +49 -0
- package/build/websdk/programmatic/storage.js.map +1 -0
- package/build/websdk/programmatic/tokens.d.ts +155 -0
- package/build/websdk/programmatic/tokens.js +157 -0
- package/build/websdk/programmatic/tokens.js.map +1 -0
- package/build/websdk/programmatic/types.d.ts +95 -0
- package/build/websdk/programmatic/types.js +8 -0
- package/build/websdk/programmatic/types.js.map +1 -0
- package/build/websdk/programmatic/validator.d.ts +63 -0
- package/build/websdk/programmatic/validator.js +64 -0
- package/build/websdk/programmatic/validator.js.map +1 -0
- package/build/websdk/programmatic/xm.d.ts +36 -0
- package/build/websdk/programmatic/xm.js +37 -0
- package/build/websdk/programmatic/xm.js.map +1 -0
- package/package.json +1 -1
|
@@ -75,6 +75,10 @@ export class Identities {
|
|
|
75
75
|
const tx = DemosTransactions.empty();
|
|
76
76
|
const ed25519 = await demos.crypto.getIdentity("ed25519");
|
|
77
77
|
const address = uint8ArrayToHex(ed25519.publicKey);
|
|
78
|
+
// Use the address' current nonce (+1) like every other native tx in
|
|
79
|
+
// this SDK — hardcoding nonce:1 only validated for a fresh account and
|
|
80
|
+
// broke the second identity op (e.g. remove after add).
|
|
81
|
+
const nonce = await demos.getAddressNonce(address);
|
|
78
82
|
tx.content = {
|
|
79
83
|
...tx.content,
|
|
80
84
|
type: "identity",
|
|
@@ -88,7 +92,7 @@ export class Identities {
|
|
|
88
92
|
payload: payload,
|
|
89
93
|
},
|
|
90
94
|
],
|
|
91
|
-
nonce: 1,
|
|
95
|
+
nonce: nonce + 1,
|
|
92
96
|
timestamp: Date.now(),
|
|
93
97
|
};
|
|
94
98
|
const signedTx = await demos.sign(tx);
|
|
@@ -105,6 +109,10 @@ export class Identities {
|
|
|
105
109
|
const tx = DemosTransactions.empty();
|
|
106
110
|
const ed25519 = await demos.crypto.getIdentity("ed25519");
|
|
107
111
|
const address = uint8ArrayToHex(ed25519.publicKey);
|
|
112
|
+
// Use the address' current nonce (+1) like every other native tx in
|
|
113
|
+
// this SDK — hardcoding nonce:1 broke removing an identity once the
|
|
114
|
+
// account had already done one identity op (e.g. the add).
|
|
115
|
+
const nonce = await demos.getAddressNonce(address);
|
|
108
116
|
tx.content = {
|
|
109
117
|
...tx.content,
|
|
110
118
|
type: "identity",
|
|
@@ -118,7 +126,7 @@ export class Identities {
|
|
|
118
126
|
payload: payload,
|
|
119
127
|
},
|
|
120
128
|
],
|
|
121
|
-
nonce: 1,
|
|
129
|
+
nonce: nonce + 1,
|
|
122
130
|
timestamp: Date.now(),
|
|
123
131
|
};
|
|
124
132
|
const signedTx = await demos.sign(tx);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Identities.js","sourceRoot":"","sources":["../../../src/abstraction/Identities.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Identities.js","sourceRoot":"","sources":["../../../src/abstraction/Identities.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,8EAA8E;AAE9E,OAAO,KAAK,MAAM,OAAO,CAAA;AAoCzB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,SAAS,IAAI,QAAQ,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAInE,MAAM,OAAO,UAAU;IAAvB;QACI,YAAO,GAAG;YACN,IAAI,EAAE;gBACF,MAAM,EAAE;oBACJ,yBAAyB;oBACzB,mCAAmC;oBACnC,oCAAoC;iBACvC;gBACD,OAAO,EAAE,CAAC,eAAe,EAAE,qBAAqB,CAAC;gBACjD,OAAO,EAAE;oBACL,8BAA8B;oBAC9B,kCAAkC;iBACrC;gBACD,MAAM,EAAE,CAAC,UAAU,CAAC;aACvB;SACJ,CAAA;IAitDL,CAAC;IA/sDG;;;;;OAKG;IACH,KAAK,CAAC,sBAAsB,CAAC,KAAY;QACrC,MAAM,OAAO,GAAG,MAAM,CAAA;QACtB,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CACrC,KAAK,CAAC,SAAS,EACf,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CACpC,CAAA;QAED,OAAO,SAAS,OAAO,IAAI,KAAK,CAAC,SAAS,IAAI,eAAe,CACzD,SAAS,CAAC,SAAS,CACtB,EAAE,CAAA;IACP,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,aAAa,CACvB,KAAY,EACZ,OAAwB,EACxB,OAAY;QAEZ,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACrB,oFAAoF;YACpF,IACI,OAAO,CAAC,OAAO,KAAK,UAAU;gBAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EACpC,CAAC;gBACC,IACI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE,CACxD,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CACnC,EACH,CAAC;oBACC,sCAAsC;oBACtC,MAAM,YAAY,GAAG,WAAW,OAAO,CAAC,OACpC,yCAAyC,IAAI,CAAC,OAAO,CAAC,IAAI,CACtD,OAAO,CAAC,OAAO,CAClB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;oBAClB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;gBACjC,CAAC;YACL,CAAC;YAED,mEAAmE;YACnE,+DAA+D;YAC/D,kEAAkE;YAClE,oDAAoD;YACpD,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,KAAK,GAAG,KAAK,CAAA;gBACjB,IAAI,CAAC;oBACD,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;oBAChC,KAAK;wBACD,CAAC,CAAC,QAAQ,KAAK,QAAQ;4BACvB,CAAC,CAAC,QAAQ,KAAK,4BAA4B,CAAA;gBACnD,CAAC;gBAAC,MAAM,CAAC;oBACL,KAAK,GAAG,KAAK,CAAA;gBACjB,CAAC;gBACD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACT,MAAM,IAAI,KAAK,CACX,4EAA4E,CAC/E,CAAA;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,EAAE,GAAG,iBAAiB,CAAC,KAAK,EAAE,CAAA;QACpC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QACzD,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,SAAuB,CAAC,CAAA;QAChE,oEAAoE;QACpE,uEAAuE;QACvE,wDAAwD;QACxD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAElD,EAAE,CAAC,OAAO,GAAG;YACT,GAAG,EAAE,CAAC,OAAO;YACb,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,OAAO;YACX,MAAM,EAAE,CAAC;YACT,IAAI,EAAE;gBACF,UAAU;gBACV;oBACI,OAAO,EAAE,OAAc;oBACvB,MAAM,EAAE,CAAC,OAAO,GAAG,kBAAkB,CAAQ;oBAC7C,OAAO,EAAE,OAAO;iBACnB;aACJ;YACD,KAAK,EAAE,KAAK,GAAG,CAAC;YAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACxB,CAAA;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,cAAc,CACxB,KAAY,EACZ,OAAwB,EACxB,OAAY;QAEZ,MAAM,EAAE,GAAG,iBAAiB,CAAC,KAAK,EAAE,CAAA;QAEpC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QACzD,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,SAAuB,CAAC,CAAA;QAChE,oEAAoE;QACpE,oEAAoE;QACpE,2DAA2D;QAC3D,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAElD,EAAE,CAAC,OAAO,GAAG;YACT,GAAG,EAAE,CAAC,OAAO;YACb,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,OAAO;YACX,MAAM,EAAE,CAAC;YACT,IAAI,EAAE;gBACF,UAAU;gBACV;oBACI,OAAO,EAAE,OAAc;oBACvB,MAAM,EAAE,CAAC,OAAO,GAAG,kBAAkB,CAAQ;oBAC7C,OAAO,EAAE,OAAO;iBACnB;aACJ;YACD,KAAK,EAAE,KAAK,GAAG,CAAC;YAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACxB,CAAA;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CACjB,KAAY,EACZ,OAAkC,EAClC,YAAqB;QAErB,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE;YACzC,GAAG,OAAO;YACV,YAAY,EAAE,YAAY;SAC7B,CAAC,CAAA;IACN,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,iBAAiB,CACnB,KAAY,EACZ,OAAsC;QAEtC,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3D,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAY,EAAE,OAAoC;QACrE,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,kBAAkB,CACpB,KAAY,EACZ,OAGC;QAED,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5D,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CACnB,KAAY,EACZ,OAAoB,EACpB,YAAqB;QAErB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAC1B,gCAAgC,QAAQ,EAAE,CAC7C,CAAA;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAChD,CAAC;QAED,IAAI,aAAa,GAA2B;YACxC,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;YAC3B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;YACtB,YAAY,EAAE,YAAY;SAC7B,CAAA;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,CAAA;IACjE,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,sBAAsB,CACxB,KAAY,EACZ,OAA4B,EAC5B,KAA4B,EAC5B,QAAgB,EAChB,WAA4B,EAC5B,YAAsB,EACtB,QAAgB,EAChB,MAAuB,EACvB,YAAqB;QAErB,MAAM,OAAO,GAAyB;YAClC,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,KAAK;YACZ,QAAQ;YACR,WAAW;YACX,YAAY;YACZ,QAAQ;YACR,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,YAAY;SACf,CAAA;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3D,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,yBAAyB,CAC3B,KAAY,EACZ,OAA4B,EAC5B,QAAgB;QAEhB,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE;YAC5C,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAA;IACN,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,kBAAkB,CACpB,KAAY,EACZ,OAAqB,EACrB,YAAqB;QAErB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAE/C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACX,oDAAoD,CACvD,CAAA;QACL,CAAC;QAED,IAAI,cAAc,GAAsB;YACpC,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YACzB,YAAY,EAAE,YAAY;SAC7B,CAAA;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA;IAClE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,kBAAkB,CACpB,KAAY,EACZ,OAAqB,EACrB,YAAqB;QAErB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAExD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/B,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAA;QACxB,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACX,oDAAoD,CACvD,CAAA;QACL,CAAC;QAED,MAAM,cAAc,GAEhB;YACA,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,GAAG,CAAC,cAAc;YAC5B,MAAM,EAAE,GAAG,CAAC,QAAQ;YACpB,YAAY,EAAE,YAAY;SAC7B,CAAA;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA;IAClE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,mBAAmB,CACrB,KAAY,EACZ,OAAkC,EAClC,YAAqB;QAErB,MAAM,eAAe,GAEjB;YACA,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ;YAClC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB;YACxC,YAAY,EAAE,YAAY;SAC7B,CAAA;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,CAAA;IACnE,CAAC;IAED,6BAA6B;IAE7B;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,wBAAwB,CAAC,KAAY,EAAE,QAAgB;QACzD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAC1D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAA;QAC9C,qEAAqE;QACrE,MAAM,OAAO,GAAG,kBAAkB,IAAI,IAAI,MAAM,EAAE,CAAA;QAClD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CACrC,KAAK,CAAC,SAAS,EACf,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CACpC,CAAA;QACD,OAAO,cAAc,KAAK,CAAC,SAAS,IAAI,eAAe,CACnD,SAAS,CAAC,SAAS,CACtB,EAAE,CAAA;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,KAAK,CAAC,iBAAiB,CACnB,KAAY,EACZ,QAAgB,EAChB,YAAqB;QAErB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAEpE,wEAAwE;QACxE,+CAA+C;QAC/C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QACtD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACX,IAAI,CAAC,KAAK;gBACN,kCAAkC,QAAQ,EAAE,CACnD,CAAA;QACL,CAAC;QACD,qEAAqE;QACrE,yEAAyE;QACzE,uEAAuE;QACvE,oDAAoD;QACpD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;QACtE,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;QACxD,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACX,kBAAkB,IAAI,CAAC,QAAQ,+BAA+B,IAAI,GAAG,CACxE,CAAA;QACL,CAAC;QAED,MAAM,aAAa,GAA2B;YAC1C,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,YAAY;SAC7B,CAAA;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,CAAA;IACjE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,oBAAoB,CAAC,KAAY,EAAE,QAAgB;QACrD,uEAAuE;QACvE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAC1D,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE;YAC5C,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAA;IACN,CAAC;IAED;;;;;;;;;;OAUG;IACK,gBAAgB,CAAC,KAAa;QAIlC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QACjD,CAAC;QAED,IAAI,GAAQ,CAAA;QACZ,IAAI,CAAC;YACD,GAAG,GAAG,IAAI,GAAG,CACT,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,CAC3D,CAAA;QACL,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,GAAG,CAAC,CAAA;QACnD,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,GAAG,CAAC,CAAA;QACnD,CAAC;QAED,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACvB,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAA;QACjB,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAA;QACjB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAA;QACf,GAAG,CAAC,IAAI,GAAG,EAAE,CAAA;QACb,GAAG,CAAC,QAAQ,GAAG,4BAA4B,CAAA;QAE3C,wEAAwE;QACxE,OAAO;YACH,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAiB;YACvC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE;SACvC,CAAA;IACL,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,eAAe,CACjB,KAAY,EACZ,aAAqC,KAAK;QAE1C,IAAI,YAAY,GAAmB,EAAE,CAAA;QAErC,mCAAmC;QACnC,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YACvB,MAAM,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAA;YAC1C,YAAY,GAAG,aAAa,CAAC,sBAAsB,CAAA;QACvD,CAAC;aAAM,CAAC;YACJ,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACjC,MAAM,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;gBAC9C,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAChC,CAAC;QACL,CAAC;QAED,sBAAsB;QACtB,MAAM,QAAQ,GAAwC,EAAE,CAAA;QAExD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACrC,0DAA0D;YAC1D,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;YAC3D,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,SAAuB,CAAC,CAAA;YAChE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CACrC,SAAS,EACT,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CACpC,CAAA;YAED,QAAQ,CAAC,IAAI,CAAC;gBACV,SAAS,EAAE,WAAW;gBACtB,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC;aAClD,CAAC,CAAA;QACN,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC3D,CAAC;IAED,KAAK,CAAC,iBAAiB,CACnB,KAAY,EACZ,aAAqC,KAAK;QAE1C,IAAI,YAAY,GAAmB,EAAE,CAAA;QAErC,qCAAqC;QACrC,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YACvB,MAAM,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAA;YAC1C,YAAY,GAAG,aAAa,CAAC,sBAAsB,CAAA;QACvD,CAAC;aAAM,CAAC;YACJ,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACjC,MAAM,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;gBAC9C,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAChC,CAAC;QACL,CAAC;QAED,sBAAsB;QACtB,MAAM,QAAQ,GAAwC,EAAE,CAAA;QAExD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;YAC3D,QAAQ,CAAC,IAAI,CAAC;gBACV,SAAS,EAAE,WAAW;gBACtB,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,SAAuB,CAAC;aAC5D,CAAC,CAAA;QACN,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC5D,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CACf,KAAY,EACZ,IAAI,GAAG,eAAe,EACtB,OAAgB;QAEhB,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;YACzD,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,SAAuB,CAAC,CAAA;QAC9D,CAAC;QAED,MAAM,OAAO,GAAG;YACZ,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE;gBACJ;oBACI,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,CAAC,OAAO,CAAC;iBACpB;aACJ;SACJ,CAAA;QAED,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CAAC,KAAY,EAAE,OAAgB;QAChD,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;IACtE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAAY,EAAE,OAAgB;QAClD,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAA;IACxE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CACf,KAAY,EACZ,OAAgB;QAEhB,QAAQ,CACJ,OAAO,IAAI,KAAK,CAAC,eAAe,EAChC,6CAA6C,CAChD,CAAA;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,GAAG,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAA;QAC7C,CAAC;QAED,MAAM,OAAO,GAAG;YACZ,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE;gBACJ;oBACI,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,CAAC,OAAO,CAAC;iBACpB;aACJ;SACJ,CAAA;QAED,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,oBAAoB,CAAC,KAAY,EAAE,YAAoB;QACzD,MAAM,OAAO,GAAG;YACZ,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE;gBACJ,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE;aAC7D;SACJ,CAAA;QAED,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CAAC,KAAY,EAAE,OAAgB;QAChD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,GAAG,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAA;QAC7C,CAAC;QAED,MAAM,OAAO,GAAG;YACZ,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;SAC7D,CAAA;QAED,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,qBAAqB,CACvB,KAAY,EACZ,QAEoC;QAEpC,MAAM,OAAO,GAAG;YACZ,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;SACnE,CAAA;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAEnD,4EAA4E;QAC5E,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC,QAAQ,CAAA;QAC5B,CAAC;QAED,yDAAyD;QACzD,OAAO,QAAe,CAAA;IAC1B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,yBAAyB,CAC3B,KAAY,EACZ,OAAsD,EACtD,QAAgB,EAChB,MAAe;QAEf,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE;YAC3C,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;SACjB,CAAC,CAAA;IACN,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,yBAAyB,CAC3B,KAAY,EACZ,KAA4B,EAC5B,OAAe;QAEf,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE;YAC3C,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,OAAO;SACnB,CAAC,CAAA;IACN,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,oBAAoB,CACtB,KAAY,EACZ,QAAgB,EAChB,MAAe;QAEf,OAAO,MAAM,IAAI,CAAC,yBAAyB,CACvC,KAAK,EACL,SAAS,EACT,QAAQ,EACR,MAAM,CACT,CAAA;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,mBAAmB,CAAC,KAAY,EAAE,QAAgB,EAAE,MAAe;QACrE,OAAO,MAAM,IAAI,CAAC,yBAAyB,CACvC,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,CACT,CAAA;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,oBAAoB,CACtB,KAAY,EACZ,QAAgB,EAChB,MAAe;QAEf,OAAO,MAAM,IAAI,CAAC,yBAAyB,CACvC,KAAK,EACL,SAAS,EACT,QAAQ,EACR,MAAM,CACT,CAAA;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,qBAAqB,CACvB,KAAY,EACZ,QAAgB,EAChB,MAAe;QAEf,OAAO,MAAM,IAAI,CAAC,yBAAyB,CACvC,KAAK,EACL,UAAU,EACV,QAAQ,EACR,MAAM,CACT,CAAA;IACL,CAAC;IAED,0CAA0C;IAC1C,MAAM;IACN,oEAAoE;IACpE,KAAK;IACL,oDAAoD;IACpD,iEAAiE;IACjE,2DAA2D;IAC3D,6CAA6C;IAC7C,qDAAqD;IACrD,4DAA4D;IAC5D,KAAK;IACL,uDAAuD;IACvD,oEAAoE;IACpE,MAAM;IACN,2DAA2D;IAC3D,oBAAoB;IACpB,yDAAyD;IACzD,kCAAkC;IAClC,OAAO;IACP,8CAA8C;IAE9C,4BAA4B;IAC5B,+EAA+E;IAC/E,QAAQ;IAER,8DAA8D;IAC9D,8EAA8E;IAC9E,iEAAiE;IACjE,2EAA2E;IAC3E,uDAAuD;IACvD,4EAA4E;IAC5E,6CAA6C;IAC7C,+EAA+E;IAC/E,oDAAoD;IACpD,+EAA+E;IAE/E,wEAAwE;IACxE,YAAY;IACZ,8DAA8D;IAC9D,yCAAyC;IACzC,YAAY;IACZ,gDAAgD;IAChD,kCAAkC;IAClC,2BAA2B;IAC3B,+BAA+B;IAC/B,YAAY;IACZ,wDAAwD;IACxD,oEAAoE;IACpE,+BAA+B;IAC/B,4DAA4D;IAC5D,6CAA6C;IAC7C,gBAAgB;IAChB,+DAA+D;IAC/D,8CAA8C;IAC9C,gBAAgB;IAChB,oDAAoD;IACpD,mCAAmC;IACnC,+BAA+B;IAC/B,gCAAgC;IAChC,gBAAgB;IAChB,4DAA4D;IAC5D,qEAAqE;IACrE,gCAAgC;IAChC,uDAAuD;IACvD,wCAAwC;IACxC,oBAAoB;IACpB,oEAAoE;IACpE,mDAAmD;IACnD,oBAAoB;IACpB,wDAAwD;IACxD,wCAAwC;IACxC,mCAAmC;IACnC,qCAAqC;IACrC,oBAAoB;IACpB,gEAAgE;IAChE,0EAA0E;IAC1E,qCAAqC;IACrC,mEAAmE;IACnE,oDAAoD;IACpD,wBAAwB;IACxB,2EAA2E;IAC3E,sDAAsD;IACtD,wBAAwB;IACxB,4DAA4D;IAC5D,+CAA+C;IAC/C,uCAAuC;IACvC,4CAA4C;IAC5C,wBAAwB;IACxB,oEAAoE;IACpE,+BAA+B;IAC/B,iCAAiC;IACjC,+CAA+C;IAC/C,+CAA+C;IAC/C,wBAAwB;IACxB,+CAA+C;IAC/C,8EAA8E;IAC9E,wEAAwE;IACxE,2EAA2E;IAC3E,sDAAsD;IACtD,wBAAwB;IACxB,4DAA4D;IAC5D,+CAA+C;IAC/C,uCAAuC;IACvC,4CAA4C;IAC5C,wBAAwB;IACxB,oEAAoE;IACpE,+BAA+B;IAC/B,iCAAiC;IACjC,+CAA+C;IAC/C,+CAA+C;IAC/C,wBAAwB;IACxB,oBAAoB;IACpB,gBAAgB;IAChB,YAAY;IACZ,QAAQ;IACR,IAAI;IAEJ,MAAM;IACN,iDAAiD;IACjD,KAAK;IACL,oFAAoF;IACpF,qEAAqE;IACrE,KAAK;IACL,uDAAuD;IACvD,2DAA2D;IAC3D,KAAK;IACL,cAAc;IACd,mBAAmB;IACnB,yCAAyC;IACzC,8EAA8E;IAC9E,4BAA4B;IAC5B,UAAU;IACV,2FAA2F;IAC3F,6FAA6F;IAC7F,UAAU;IACV,SAAS;IACT,MAAM;IACN,6EAA6E;IAC7E,oDAAoD;IACpD,+BAA+B;IAC/B,gCAAgC;IAChC,gCAAgC;IAChC,gCAAgC;IAChC,kCAAkC;IAClC,uCAAuC;IACvC,2CAA2C;IAC3C,uCAAuC;IACvC,wCAAwC;IACxC,QAAQ;IAER,8CAA8C;IAC9C,4BAA4B;IAC5B,+EAA+E;IAC/E,sGAAsG;IACtG,QAAQ;IAER,qFAAqF;IACrF,yBAAyB;IACzB,YAAY;IACZ,+BAA+B;IAC/B,sEAAsE;IACtE,8CAA8C;IAC9C,aAAa;IACb,YAAY;IACZ,4BAA4B;IAC5B,sEAAsE;IACtE,+CAA+C;IAC/C,aAAa;IACb,YAAY;IACZ,6BAA6B;IAC7B,sEAAsE;IACtE,gDAAgD;IAChD,aAAa;IACb,YAAY;IACZ,gCAAgC;IAChC,sEAAsE;IACtE,+CAA+C;IAC/C,aAAa;IACb,QAAQ;IAER,wCAAwC;IACxC,gBAAgB;IAChB,uEAAuE;IACvE,oDAAoD;IACpD,oCAAoC;IACpC,+BAA+B;IAC/B,4BAA4B;IAC5B,gBAAgB;IAEhB,sDAAsD;IACtD,8CAA8C;IAE9C,yCAAyC;IACzC,gEAAgE;IAChE,kDAAkD;IAClD,wBAAwB;IACxB,qEAAqE;IACrE,mDAAmD;IACnD,4BAA4B;IAC5B,0CAA0C;IAC1C,oBAAoB;IACpB,gBAAgB;IAEhB,4CAA4C;IAC5C,8DAA8D;IAC9D,oEAAoE;IACpE,uDAAuD;IAEvD,wBAAwB;IACxB,4EAA4E;IAC5E,+CAA+C;IAC/C,0CAA0C;IAC1C,0CAA0C;IAC1C,yCAAyC;IACzC,yBAAyB;IACzB,4BAA4B;IAC5B,8EAA8E;IAC9E,+BAA+B;IAC/B,oBAAoB;IACpB,gBAAgB;IAEhB,uCAAuC;IACvC,oBAAoB;IACpB,kCAAkC;IAClC,uBAAuB;IACvB,YAAY;IACZ,QAAQ;IAER,6EAA6E;IAC7E,IAAI;IAEJ;;;;;;;;OAQG;IACK,mBAAmB,CAAC,OAAe;QACvC,oDAAoD;QACpD,MAAM,UAAU,GAAG,qBAAqB,CAAA;QAExC,+DAA+D;QAC/D,MAAM,aAAa,GAAG,+BAA+B,CAAA;QAErD,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAA;QAChB,CAAC;QAED,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,OAAO,QAAQ,CAAA;QACnB,CAAC;QAED,MAAM,IAAI,KAAK,CACX,gCAAgC,OAAO,IAAI;YAC3C,kDAAkD,CACrD,CAAA;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,mBAAmB,CACf,cAAsB,EACtB,cAAsB;QAEtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;QAClC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QAChC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CACnC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAClC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEV,OAAO,CACH,QAAQ,cAAc,sBAAsB,cAAc,IAAI;YAC9D,cAAc,SAAS,IAAI;YAC3B,UAAU,KAAK,EAAE,CACpB,CAAA;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CACjB,KAAY,EACZ,MAAc;QAEd,OAAO,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,iBAAiB,EAAE;YAC5C,MAAM,EAAE,MAAM;SACjB,CAAC,CAA4B,CAAA;IAClC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,KAAK,CAAC,4BAA4B,CAC9B,KAAY,EACZ,cAAsB,EACtB,SAAiB,EACjB,SAAiB,EACjB,cAAuC,EACvC,YAAqB;QAErB,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAA;QACjD,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAA;QAE9D,+CAA+C;QAC/C,MAAM,OAAO,GACT,cAAc,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,KAAK,cAAc,CAAA;QAEtE,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,YAAY,GAAG,cAAc,CAAC,mBAAmB,CAAC,IAAI,CACxD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,cAAc,CAC1C,CAAA;YAED,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CACX,wCAAwC,cAAc,OAAO,aAAa,6CAA6C,CAC1H,CAAA;YACL,CAAC;QACL,CAAC;QAED,uBAAuB;QACvB,MAAM,SAAS,GAAsB;YACjC,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,cAAc;YACd,aAAa;YACb,SAAS;YACT,SAAS;YACT,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,cAAc,CAAC,OAAO;YAC/B,YAAY,EAAE,cAAc,CAAC,YAAY;SAC5C,CAAA;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAW,EAAE;YAChD,GAAG,SAAS;YACZ,YAAY;SACf,CAAC,CAAA;IACN,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,+BAA+B,CACjC,KAAY,EACZ,MAAc;QAEd,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IAC7D,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CAAC,KAAY,EAAE,OAAgB;QAChD,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;IACtE,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,aAAa,CACf,KAAY,EACZ,aAAqB,EACrB,KAAc,EACd,QAAiB,EACjB,SAAkB;QAElB,MAAM,OAAO,GAAG;YACZ,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE;gBACJ;oBACI,MAAM,EAAE,eAAe;oBACvB,MAAM,EAAE;wBACJ;4BACI,aAAa;4BACb,KAAK;4BACL,QAAQ;4BACR,SAAS;yBACZ;qBACJ;iBACJ;aACJ;SACJ,CAAA;QAED,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,gBAAgB,CAClB,KAAY,EACZ,OAA4B;QAE5B,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC5D,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,mBAAmB,CACrB,KAAY,EACZ,OAA4B;QAE5B,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7D,CAAC;IAED,oEAAoE;IAEpE;;;;;;;;;OASG;IACH,KAAK,CAAC,qBAAqB,CACvB,KAAY,EACZ,OAAe;QAEf,MAAM,OAAO,GAAG;YACZ,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE;gBACJ;oBACI,MAAM,EAAE,uBAAuB;oBAC/B,MAAM,EAAE,CAAC,OAAO,CAAC;iBACpB;aACJ;SACJ,CAAA;QAED,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,0BAA0B,CAC5B,KAAY,EACZ,YAAoB;QAEpB,MAAM,OAAO,GAAG;YACZ,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE;gBACJ;oBACI,MAAM,EAAE,4BAA4B;oBACpC,MAAM,EAAE,CAAC,YAAY,CAAC;iBACzB;aACJ;SACJ,CAAA;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAI,QAA0D,CAAC,KAAK,CAAA;QAClF,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,4CAA4C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;QACnF,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,8DAA8D,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QACpG,CAAC;QAED,OAAO,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAA;IAClC,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,wBAAwB,CAC1B,KAAY,EACZ,OAAkC;QAElC,IAAI,OAAO,CAAC,kBAAkB,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;QACxE,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;IACpE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,2BAA2B,CAC7B,KAAY,EACZ,OAAe;QAEf,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;IACzE,CAAC;IAED,2DAA2D;IAE3D;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CACf,KAAY,EACZ,aAAqB;QAErB,gCAAgC;QAChC,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QACjD,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,CAAA;QACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QACrD,CAAC;QAED,iEAAiE;QACjE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QACxD,CAAC;QAED,MAAM,OAAO,GAAG;YACZ,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE;gBACJ;oBACI,MAAM,EAAE,eAAe;oBACvB,MAAM,EAAE;wBACJ;4BACI,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE;yBACvC;qBACJ;iBACJ;aACJ;SACJ,CAAA;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAEnD,+BAA+B;QAC/B,IAAI,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;YAC3B,MAAM,YAAY,GACd,QAAQ,EAAE,KAAK,EAAE,KAAK;gBACtB,QAAQ,EAAE,QAAQ,EAAE,KAAK;gBACzB,6BAA6B,CAAA;YACjC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;QACjC,CAAC;QAED,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,kBAAkB,CAAC,KAAY,EAAE,OAAgB;QACnD,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAA;IACzE,CAAC;IAED;;;;;OAKG;IACK,oBAAoB,CACxB,OAA4B,EAC5B,YAAqB;QAErB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;QACzD,CAAC;QAED,iBAAiB;QACjB,IACI,CAAC,OAAO,CAAC,KAAK;YACd,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;YACjC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EACvB,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;QACvE,CAAC;QAED,oBAAoB;QACpB,IACI,CAAC,OAAO,CAAC,QAAQ;YACjB,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;YACpC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAC1B,CAAC;YACC,MAAM,IAAI,KAAK,CACX,qDAAqD,CACxD,CAAA;QACL,CAAC;QAED,mBAAmB;QACnB,IACI,CAAC,OAAO,CAAC,OAAO;YAChB,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;YACnC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EACzB,CAAC;YACC,MAAM,IAAI,KAAK,CACX,oDAAoD,CACvD,CAAA;QACL,CAAC;QAED,8BAA8B;QAC9B,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QAC7C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QACxD,CAAC;QAED,oCAAoC;QACpC,IAAI,YAAY,EAAE,CAAC;YACf,IACI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;gBACjC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EACjC,CAAC;gBACC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;YACnE,CAAC;YAED,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;YACjD,CAAC;YAED,wBAAwB;YACxB,IACI,CAAC,OAAO,CAAC,YAAY;gBACrB,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,EAC1C,CAAC;gBACC,MAAM,IAAI,KAAK,CACX,yDAAyD,CAC5D,CAAA;YACL,CAAC;YAED,2BAA2B;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YACnD,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;YACnE,CAAC;QACL,CAAC;QAED,yCAAyC;QACzC,IACI,OAAO,CAAC,SAAS,KAAK,SAAS;YAC/B,CAAC,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ;gBAClC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAC1C,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CAClB,KAAY,EACZ,OAA4B;QAE5B,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACxC,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC5D,CAAC;IAED;;;;;OAKG;IACK,0BAA0B,CAAC,OAAgC;QAC/D,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;QACzD,CAAC;QAED,iBAAiB;QACjB,IACI,CAAC,OAAO,CAAC,KAAK;YACd,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;YACjC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EACvB,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;QACvE,CAAC;QAED,oBAAoB;QACpB,IACI,CAAC,OAAO,CAAC,QAAQ;YACjB,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;YACpC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAC1B,CAAC;YACC,MAAM,IAAI,KAAK,CACX,qDAAqD,CACxD,CAAA;QACL,CAAC;QAED,mBAAmB;QACnB,IACI,CAAC,OAAO,CAAC,OAAO;YAChB,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;YACnC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EACzB,CAAC;YACC,MAAM,IAAI,KAAK,CACX,oDAAoD,CACvD,CAAA;QACL,CAAC;QAED,8BAA8B;QAC9B,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QAC7C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QACxD,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,mBAAmB,CACrB,KAAY,EACZ,OAAgC;QAEhC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAA;QACxC,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7D,CAAC;CACJ"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SR-4 WI-C — finalise a negotiate-rfq session: on agreement, export the
|
|
3
|
+
* signed channel transcript and (per disclosure policy, DACS-3 §8.7)
|
|
4
|
+
* anchor an encrypted copy, returning the `channelTranscriptRef` that the
|
|
5
|
+
* negotiate-rfq output carries.
|
|
6
|
+
*
|
|
7
|
+
* This is the orchestration that ties WI-B's terminal state to WI-3's
|
|
8
|
+
* transcript anchor: `exportTranscript` (sign the ordered messages) →
|
|
9
|
+
* `anchorEncryptedTranscript` (encrypt-to-members + SR-2 anchor). Policy
|
|
10
|
+
* semantics (§8.7):
|
|
11
|
+
* - `none` — transcript stays local; nothing anchored.
|
|
12
|
+
* - `encrypted-anchored-recommended` — anchor only on explicit consent.
|
|
13
|
+
* - `encrypted-anchored-required` — MUST anchor; a null result fails
|
|
14
|
+
* the phase.
|
|
15
|
+
*
|
|
16
|
+
* The anchor call is injectable so the orchestration is unit-tested
|
|
17
|
+
* without a live node (the real anchor deploys an SR-2 storage program).
|
|
18
|
+
*/
|
|
19
|
+
import type { Demos } from "../../websdk";
|
|
20
|
+
import type { ClaimReference } from "../../identity/cci";
|
|
21
|
+
import type L2PS from "../l2ps";
|
|
22
|
+
import type { AnchorEncryptedTranscriptOpts, AttestationRef, TranscriptDisclosurePolicy } from "../anchor";
|
|
23
|
+
import type { ChannelMessage, ChannelTranscript } from "./types";
|
|
24
|
+
import type { RfqOutcome, RfqState } from "./negotiate";
|
|
25
|
+
/** Minimal RfqSession surface — structural for testability. */
|
|
26
|
+
export interface RfqLike {
|
|
27
|
+
readonly state: RfqState;
|
|
28
|
+
outcome(): RfqOutcome;
|
|
29
|
+
}
|
|
30
|
+
/** Minimal ChannelSession surface — structural for testability. */
|
|
31
|
+
export interface ChannelSessionView {
|
|
32
|
+
readonly channelId: string;
|
|
33
|
+
readonly members: ReadonlyArray<ClaimReference>;
|
|
34
|
+
messages(): ReadonlyArray<ChannelMessage>;
|
|
35
|
+
}
|
|
36
|
+
export interface FinalizeRfqOpts {
|
|
37
|
+
rfq: RfqLike;
|
|
38
|
+
session: ChannelSessionView;
|
|
39
|
+
/** This party's CCI claim (signs the transcript); must be a member. */
|
|
40
|
+
signer: ClaimReference;
|
|
41
|
+
demos: Demos;
|
|
42
|
+
/** Required when the policy actually anchors (not for `none`). */
|
|
43
|
+
l2ps?: L2PS;
|
|
44
|
+
policy: TranscriptDisclosurePolicy;
|
|
45
|
+
/** Needed to anchor under `encrypted-anchored-recommended`. */
|
|
46
|
+
consent?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Injectable anchor implementation; defaults to the real
|
|
49
|
+
* `anchorEncryptedTranscript`. Tests pass a fake to avoid deploying
|
|
50
|
+
* a storage program.
|
|
51
|
+
*/
|
|
52
|
+
anchor?: (opts: AnchorEncryptedTranscriptOpts) => Promise<AttestationRef | null>;
|
|
53
|
+
}
|
|
54
|
+
export interface RfqFinalizeResult {
|
|
55
|
+
/** The signed, ordered transcript (always produced). */
|
|
56
|
+
transcript: ChannelTranscript;
|
|
57
|
+
/**
|
|
58
|
+
* The anchored attestation reference, or null when the policy did not
|
|
59
|
+
* anchor (`none`, or `recommended` without consent).
|
|
60
|
+
*/
|
|
61
|
+
channelTranscriptRef: AttestationRef | null;
|
|
62
|
+
}
|
|
63
|
+
export declare function finalizeRfq(opts: FinalizeRfqOpts): Promise<RfqFinalizeResult>;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SR-4 WI-C — finalise a negotiate-rfq session: on agreement, export the
|
|
3
|
+
* signed channel transcript and (per disclosure policy, DACS-3 §8.7)
|
|
4
|
+
* anchor an encrypted copy, returning the `channelTranscriptRef` that the
|
|
5
|
+
* negotiate-rfq output carries.
|
|
6
|
+
*
|
|
7
|
+
* This is the orchestration that ties WI-B's terminal state to WI-3's
|
|
8
|
+
* transcript anchor: `exportTranscript` (sign the ordered messages) →
|
|
9
|
+
* `anchorEncryptedTranscript` (encrypt-to-members + SR-2 anchor). Policy
|
|
10
|
+
* semantics (§8.7):
|
|
11
|
+
* - `none` — transcript stays local; nothing anchored.
|
|
12
|
+
* - `encrypted-anchored-recommended` — anchor only on explicit consent.
|
|
13
|
+
* - `encrypted-anchored-required` — MUST anchor; a null result fails
|
|
14
|
+
* the phase.
|
|
15
|
+
*
|
|
16
|
+
* The anchor call is injectable so the orchestration is unit-tested
|
|
17
|
+
* without a live node (the real anchor deploys an SR-2 storage program).
|
|
18
|
+
*/
|
|
19
|
+
import { anchorEncryptedTranscript } from "../anchor/index.js";
|
|
20
|
+
import { exportTranscript } from "./transcript.js";
|
|
21
|
+
export async function finalizeRfq(opts) {
|
|
22
|
+
if (opts.rfq.state !== "accepted") {
|
|
23
|
+
throw new Error(`finalizeRfq: negotiation is "${opts.rfq.state}", not "accepted" — ` +
|
|
24
|
+
"only an agreed RFQ produces a transcript anchor");
|
|
25
|
+
}
|
|
26
|
+
// The signer must be a channel member — `exportTranscript` will sign
|
|
27
|
+
// with any demos claim, so a non-member signer produces a transcript
|
|
28
|
+
// that later fails `verifyTranscript` (signer ∉ members). Catch it
|
|
29
|
+
// here rather than emitting a transcript that cannot be verified.
|
|
30
|
+
if (!opts.session.members.includes(opts.signer)) {
|
|
31
|
+
throw new Error(`finalizeRfq: signer "${opts.signer}" is not a channel member — ` +
|
|
32
|
+
"the transcript signature would fail verification");
|
|
33
|
+
}
|
|
34
|
+
// The transcript must actually contain the agreed exchange: the
|
|
35
|
+
// accepted proposal and the matching accept that `rfq.outcome()`
|
|
36
|
+
// points at. A stale or mismatched session would otherwise let us
|
|
37
|
+
// export/anchor a transcript that does not back the agreement.
|
|
38
|
+
const outcome = opts.rfq.outcome();
|
|
39
|
+
const acceptedSequence = outcome.acceptedSequence;
|
|
40
|
+
if (acceptedSequence === undefined) {
|
|
41
|
+
throw new Error("finalizeRfq: accepted outcome has no acceptedSequence — cannot match transcript");
|
|
42
|
+
}
|
|
43
|
+
const messages = opts.session.messages();
|
|
44
|
+
const hasAcceptedProposal = messages.some(m => m.sequence === acceptedSequence);
|
|
45
|
+
const hasAccept = messages.some(m => m.type === "accept" &&
|
|
46
|
+
m.body
|
|
47
|
+
?.acceptedSequence === acceptedSequence);
|
|
48
|
+
if (!hasAcceptedProposal || !hasAccept) {
|
|
49
|
+
throw new Error(`finalizeRfq: session transcript does not contain the accepted proposal ` +
|
|
50
|
+
`(seq ${acceptedSequence}) and its matching accept — session mismatch`);
|
|
51
|
+
}
|
|
52
|
+
const transcript = await exportTranscript({
|
|
53
|
+
channelId: opts.session.channelId,
|
|
54
|
+
members: [...opts.session.members],
|
|
55
|
+
messages,
|
|
56
|
+
signers: [{ claim: opts.signer, demos: opts.demos }],
|
|
57
|
+
});
|
|
58
|
+
// §8.7 `none`: transcript stays local; nothing anchored.
|
|
59
|
+
// §8.7 `recommended` WITHOUT consent: also a no-anchor outcome — it
|
|
60
|
+
// must NOT require an L2PS instance just to take its null-ref branch.
|
|
61
|
+
const willAnchor = opts.policy === "encrypted-anchored-required" ||
|
|
62
|
+
(opts.policy === "encrypted-anchored-recommended" && !!opts.consent);
|
|
63
|
+
if (!willAnchor) {
|
|
64
|
+
return { transcript, channelTranscriptRef: null };
|
|
65
|
+
}
|
|
66
|
+
if (!opts.l2ps) {
|
|
67
|
+
throw new Error(`finalizeRfq: policy "${opts.policy}" requires an L2PS instance to encrypt the transcript`);
|
|
68
|
+
}
|
|
69
|
+
const anchorFn = opts.anchor ?? anchorEncryptedTranscript;
|
|
70
|
+
const ref = await anchorFn({
|
|
71
|
+
transcript,
|
|
72
|
+
l2ps: opts.l2ps,
|
|
73
|
+
demos: opts.demos,
|
|
74
|
+
signer: opts.signer,
|
|
75
|
+
policy: opts.policy,
|
|
76
|
+
consent: opts.consent,
|
|
77
|
+
});
|
|
78
|
+
// §8.7: under `required`, the absence of an anchor fails the phase.
|
|
79
|
+
if (opts.policy === "encrypted-anchored-required" && !ref) {
|
|
80
|
+
throw new Error("finalizeRfq: policy is 'encrypted-anchored-required' but anchoring " +
|
|
81
|
+
"produced no attestation — phase fails");
|
|
82
|
+
}
|
|
83
|
+
return { transcript, channelTranscriptRef: ref };
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=finalize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"finalize.js","sourceRoot":"","sources":["../../../../src/l2ps/channel/finalize.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,3 +12,6 @@ export { isSenderInMembers, signChannelMessage, verifyChannelMessage, } from "./
|
|
|
12
12
|
export { InMemoryChannelIdRegistry, type ChannelIdRegistry, } from "./channelIdRegistry";
|
|
13
13
|
export { ChannelSession, type ChannelSessionOpts } from "./session";
|
|
14
14
|
export { buildUnsignedTranscript, exportTranscript, signTranscript, verifyTranscript, type TranscriptVerificationResult, } from "./transcript";
|
|
15
|
+
export { L2PSChannelTransport, type L2PSChannelTransportOpts, type ChannelSessionLike, type L2PSMessagingPeerLike, type SerializedEncryptedMessage, type IncomingMessagePayload, } from "./transport";
|
|
16
|
+
export { RfqSession, type RfqState, type RfqOutcome, type RfqSessionOpts, type RfqProposalBody, type RfqAcceptBody, type RfqEndBody, type StandingProposal, } from "./negotiate";
|
|
17
|
+
export { finalizeRfq, type FinalizeRfqOpts, type RfqFinalizeResult, type RfqLike, type ChannelSessionView, } from "./finalize";
|
|
@@ -11,4 +11,7 @@ export { isSenderInMembers, signChannelMessage, verifyChannelMessage, } from "./
|
|
|
11
11
|
export { InMemoryChannelIdRegistry, } from "./channelIdRegistry.js";
|
|
12
12
|
export { ChannelSession } from "./session.js";
|
|
13
13
|
export { buildUnsignedTranscript, exportTranscript, signTranscript, verifyTranscript, } from "./transcript.js";
|
|
14
|
+
export { L2PSChannelTransport, } from "./transport.js";
|
|
15
|
+
export { RfqSession, } from "./negotiate.js";
|
|
16
|
+
export { finalizeRfq, } from "./finalize.js";
|
|
14
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/l2ps/channel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,OAAO,EACH,6BAA6B,EAC7B,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,4BAA4B,EAC5B,yBAAyB,EACzB,iBAAiB,EACjB,sBAAsB,GACzB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACH,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,GACvB,MAAM,YAAY,CAAA;AAEnB,OAAO,EACH,yBAAyB,GAE5B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,cAAc,EAA2B,MAAM,WAAW,CAAA;AAEnE,OAAO,EACH,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GAEnB,MAAM,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/l2ps/channel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,OAAO,EACH,6BAA6B,EAC7B,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,4BAA4B,EAC5B,yBAAyB,EACzB,iBAAiB,EACjB,sBAAsB,GACzB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACH,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,GACvB,MAAM,YAAY,CAAA;AAEnB,OAAO,EACH,yBAAyB,GAE5B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,cAAc,EAA2B,MAAM,WAAW,CAAA;AAEnE,OAAO,EACH,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GAEnB,MAAM,cAAc,CAAA;AAErB,OAAO,EACH,oBAAoB,GAMvB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACH,UAAU,GAQb,MAAM,aAAa,CAAA;AAEpB,OAAO,EACH,WAAW,GAKd,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SR-4 WI-B — `negotiate-rfq` phase logic.
|
|
3
|
+
*
|
|
4
|
+
* A request-for-quote negotiation is a turn-based exchange of `offer` /
|
|
5
|
+
* `counter` proposals terminating in `accept`, `reject`, or `abort`
|
|
6
|
+
* (CH-5 termination; DACS-3 §8.3). Per the SR-4 brief the RFQ message
|
|
7
|
+
* *bodies* are implementation-defined (only sealed-envelope bodies are
|
|
8
|
+
* spec-locked, §8.4.3), so this layer fixes a minimal body schema and
|
|
9
|
+
* the state machine while staying agnostic to the actual `terms`.
|
|
10
|
+
*
|
|
11
|
+
* `RfqSession` is a pure protocol state machine. It does not move bytes:
|
|
12
|
+
* the caller wires its `send` callback to a transport (e.g.
|
|
13
|
+
* `L2PSChannelTransport.send`) and feeds verified inbound envelopes to
|
|
14
|
+
* `onIncoming`. By the time a message reaches `onIncoming` the channel
|
|
15
|
+
* layer has already verified the signature, `sender ∈ members`, the
|
|
16
|
+
* channelId, and monotonic sequence — so this layer only enforces
|
|
17
|
+
* protocol-level rules (legal transitions, body shape, referencing an
|
|
18
|
+
* existing offer).
|
|
19
|
+
*/
|
|
20
|
+
import type { ChannelMessage, ChannelMessageType } from "./types";
|
|
21
|
+
import type { ClaimReference } from "../../identity/cci";
|
|
22
|
+
/** Terminal + in-progress states (CH-5). */
|
|
23
|
+
export type RfqState = "open" | "accepted" | "rejected" | "aborted";
|
|
24
|
+
/** Body of an `offer` / `counter` — `terms` is opaque (impl-defined). */
|
|
25
|
+
export interface RfqProposalBody {
|
|
26
|
+
terms: unknown;
|
|
27
|
+
}
|
|
28
|
+
/** Body of an `accept` — references the proposal sequence being accepted. */
|
|
29
|
+
export interface RfqAcceptBody {
|
|
30
|
+
acceptedSequence: number;
|
|
31
|
+
}
|
|
32
|
+
/** Body of a `reject` / `abort`. */
|
|
33
|
+
export interface RfqEndBody {
|
|
34
|
+
reason?: string;
|
|
35
|
+
}
|
|
36
|
+
/** A standing proposal on the table. */
|
|
37
|
+
export interface StandingProposal {
|
|
38
|
+
sequence: number;
|
|
39
|
+
sender: ClaimReference;
|
|
40
|
+
terms: unknown;
|
|
41
|
+
}
|
|
42
|
+
export interface RfqOutcome {
|
|
43
|
+
state: RfqState;
|
|
44
|
+
/** Set when `state === "accepted"`: the terms that were agreed. */
|
|
45
|
+
agreedTerms?: unknown;
|
|
46
|
+
/** Sequence of the proposal that was accepted. */
|
|
47
|
+
acceptedSequence?: number;
|
|
48
|
+
/** Reason for a reject / abort, if given. */
|
|
49
|
+
reason?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface RfqSessionOpts {
|
|
52
|
+
/** This party's CCI primary claim. */
|
|
53
|
+
me: ClaimReference;
|
|
54
|
+
/**
|
|
55
|
+
* Delivers a signed channel message. Wire to the transport's send
|
|
56
|
+
* (e.g. `L2PSChannelTransport.send`). Returns the signed envelope so
|
|
57
|
+
* the session can track the sequence it produced.
|
|
58
|
+
*/
|
|
59
|
+
send: (opts: {
|
|
60
|
+
type: ChannelMessageType;
|
|
61
|
+
body: unknown;
|
|
62
|
+
repliesTo?: number;
|
|
63
|
+
}) => Promise<ChannelMessage>;
|
|
64
|
+
/** Fired on every state transition (including the terminal one). */
|
|
65
|
+
onStateChange?: (outcome: RfqOutcome) => void;
|
|
66
|
+
/** Fired when a fresh proposal (offer/counter) lands, ours or theirs. */
|
|
67
|
+
onProposal?: (proposal: StandingProposal) => void;
|
|
68
|
+
}
|
|
69
|
+
export declare class RfqSession {
|
|
70
|
+
private readonly me;
|
|
71
|
+
private readonly sendFn;
|
|
72
|
+
private readonly onStateChange?;
|
|
73
|
+
private readonly onProposal?;
|
|
74
|
+
private _state;
|
|
75
|
+
private _standing;
|
|
76
|
+
/** Every proposal seen, by sequence — so `accept` can resolve its terms. */
|
|
77
|
+
private readonly proposals;
|
|
78
|
+
private _outcome;
|
|
79
|
+
constructor(opts: RfqSessionOpts);
|
|
80
|
+
get state(): RfqState;
|
|
81
|
+
/** The proposal currently on the table, or null before the first offer. */
|
|
82
|
+
get standingProposal(): StandingProposal | null;
|
|
83
|
+
outcome(): RfqOutcome;
|
|
84
|
+
/** Open a negotiation with the first proposal. */
|
|
85
|
+
offer(terms: unknown): Promise<ChannelMessage>;
|
|
86
|
+
/** Counter the standing proposal with new terms. */
|
|
87
|
+
counter(terms: unknown): Promise<ChannelMessage>;
|
|
88
|
+
/** Accept the standing proposal — terminal (CH-5). */
|
|
89
|
+
accept(): Promise<ChannelMessage>;
|
|
90
|
+
/** Reject the negotiation — terminal (CH-5). */
|
|
91
|
+
reject(reason?: string): Promise<ChannelMessage>;
|
|
92
|
+
/** Abort the negotiation — terminal (CH-5). */
|
|
93
|
+
abort(reason?: string): Promise<ChannelMessage>;
|
|
94
|
+
/**
|
|
95
|
+
* Feed a verified inbound channel message. No-op for non-RFQ types or
|
|
96
|
+
* messages arriving after a terminal state (a late duplicate of an
|
|
97
|
+
* end message). Throws only on a protocol violation that the channel
|
|
98
|
+
* layer can't catch (e.g. accept referencing an unknown proposal).
|
|
99
|
+
*/
|
|
100
|
+
onIncoming(msg: ChannelMessage): void;
|
|
101
|
+
/** Record a verified inbound offer/counter as the standing proposal. */
|
|
102
|
+
private acceptProposal;
|
|
103
|
+
private proposeOutgoing;
|
|
104
|
+
private settle;
|
|
105
|
+
private assertOpen;
|
|
106
|
+
}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SR-4 WI-B — `negotiate-rfq` phase logic.
|
|
3
|
+
*
|
|
4
|
+
* A request-for-quote negotiation is a turn-based exchange of `offer` /
|
|
5
|
+
* `counter` proposals terminating in `accept`, `reject`, or `abort`
|
|
6
|
+
* (CH-5 termination; DACS-3 §8.3). Per the SR-4 brief the RFQ message
|
|
7
|
+
* *bodies* are implementation-defined (only sealed-envelope bodies are
|
|
8
|
+
* spec-locked, §8.4.3), so this layer fixes a minimal body schema and
|
|
9
|
+
* the state machine while staying agnostic to the actual `terms`.
|
|
10
|
+
*
|
|
11
|
+
* `RfqSession` is a pure protocol state machine. It does not move bytes:
|
|
12
|
+
* the caller wires its `send` callback to a transport (e.g.
|
|
13
|
+
* `L2PSChannelTransport.send`) and feeds verified inbound envelopes to
|
|
14
|
+
* `onIncoming`. By the time a message reaches `onIncoming` the channel
|
|
15
|
+
* layer has already verified the signature, `sender ∈ members`, the
|
|
16
|
+
* channelId, and monotonic sequence — so this layer only enforces
|
|
17
|
+
* protocol-level rules (legal transitions, body shape, referencing an
|
|
18
|
+
* existing offer).
|
|
19
|
+
*/
|
|
20
|
+
const RFQ_TYPES = new Set([
|
|
21
|
+
"offer",
|
|
22
|
+
"counter",
|
|
23
|
+
"accept",
|
|
24
|
+
"reject",
|
|
25
|
+
"abort",
|
|
26
|
+
]);
|
|
27
|
+
export class RfqSession {
|
|
28
|
+
constructor(opts) {
|
|
29
|
+
this._state = "open";
|
|
30
|
+
this._standing = null;
|
|
31
|
+
/** Every proposal seen, by sequence — so `accept` can resolve its terms. */
|
|
32
|
+
this.proposals = new Map();
|
|
33
|
+
this._outcome = { state: "open" };
|
|
34
|
+
this.me = opts.me;
|
|
35
|
+
this.sendFn = opts.send;
|
|
36
|
+
this.onStateChange = opts.onStateChange;
|
|
37
|
+
this.onProposal = opts.onProposal;
|
|
38
|
+
}
|
|
39
|
+
get state() {
|
|
40
|
+
return this._state;
|
|
41
|
+
}
|
|
42
|
+
/** The proposal currently on the table, or null before the first offer. */
|
|
43
|
+
get standingProposal() {
|
|
44
|
+
return this._standing;
|
|
45
|
+
}
|
|
46
|
+
outcome() {
|
|
47
|
+
return this._outcome;
|
|
48
|
+
}
|
|
49
|
+
/** Open a negotiation with the first proposal. */
|
|
50
|
+
async offer(terms) {
|
|
51
|
+
this.assertOpen("offer");
|
|
52
|
+
if (this._standing)
|
|
53
|
+
throw new Error("RfqSession: a proposal already stands; use counter()");
|
|
54
|
+
return this.proposeOutgoing("offer", terms);
|
|
55
|
+
}
|
|
56
|
+
/** Counter the standing proposal with new terms. */
|
|
57
|
+
async counter(terms) {
|
|
58
|
+
this.assertOpen("counter");
|
|
59
|
+
if (!this._standing)
|
|
60
|
+
throw new Error("RfqSession: nothing to counter — no standing offer");
|
|
61
|
+
return this.proposeOutgoing("counter", terms, this._standing.sequence);
|
|
62
|
+
}
|
|
63
|
+
/** Accept the standing proposal — terminal (CH-5). */
|
|
64
|
+
async accept() {
|
|
65
|
+
this.assertOpen("accept");
|
|
66
|
+
if (!this._standing)
|
|
67
|
+
throw new Error("RfqSession: nothing to accept — no standing offer");
|
|
68
|
+
// You cannot accept your own proposal: acceptance is the
|
|
69
|
+
// counterparty agreeing to the terms on the table. Accepting a
|
|
70
|
+
// self-authored standing proposal would settle the negotiation
|
|
71
|
+
// (and produce a transcript) without the other side ever agreeing.
|
|
72
|
+
if (this._standing.sender === this.me)
|
|
73
|
+
throw new Error("RfqSession: cannot accept your own proposal — wait for the counterparty");
|
|
74
|
+
const accepted = this._standing;
|
|
75
|
+
const body = { acceptedSequence: accepted.sequence };
|
|
76
|
+
const msg = await this.sendFn({
|
|
77
|
+
type: "accept",
|
|
78
|
+
body,
|
|
79
|
+
repliesTo: accepted.sequence,
|
|
80
|
+
});
|
|
81
|
+
this.settle({
|
|
82
|
+
state: "accepted",
|
|
83
|
+
agreedTerms: accepted.terms,
|
|
84
|
+
acceptedSequence: accepted.sequence,
|
|
85
|
+
});
|
|
86
|
+
return msg;
|
|
87
|
+
}
|
|
88
|
+
/** Reject the negotiation — terminal (CH-5). */
|
|
89
|
+
async reject(reason) {
|
|
90
|
+
this.assertOpen("reject");
|
|
91
|
+
const body = reason ? { reason } : {};
|
|
92
|
+
const msg = await this.sendFn({ type: "reject", body });
|
|
93
|
+
this.settle({ state: "rejected", reason });
|
|
94
|
+
return msg;
|
|
95
|
+
}
|
|
96
|
+
/** Abort the negotiation — terminal (CH-5). */
|
|
97
|
+
async abort(reason) {
|
|
98
|
+
this.assertOpen("abort");
|
|
99
|
+
const body = reason ? { reason } : {};
|
|
100
|
+
const msg = await this.sendFn({ type: "abort", body });
|
|
101
|
+
this.settle({ state: "aborted", reason });
|
|
102
|
+
return msg;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Feed a verified inbound channel message. No-op for non-RFQ types or
|
|
106
|
+
* messages arriving after a terminal state (a late duplicate of an
|
|
107
|
+
* end message). Throws only on a protocol violation that the channel
|
|
108
|
+
* layer can't catch (e.g. accept referencing an unknown proposal).
|
|
109
|
+
*/
|
|
110
|
+
onIncoming(msg) {
|
|
111
|
+
if (!RFQ_TYPES.has(msg.type))
|
|
112
|
+
return;
|
|
113
|
+
if (msg.sender === this.me)
|
|
114
|
+
return; // our own echo, already applied
|
|
115
|
+
if (this._state !== "open")
|
|
116
|
+
return; // terminal — ignore trailing traffic
|
|
117
|
+
switch (msg.type) {
|
|
118
|
+
case "offer": {
|
|
119
|
+
// An offer opens a negotiation: it is only legal when no
|
|
120
|
+
// proposal stands yet. A second inbound offer must not
|
|
121
|
+
// overwrite the standing proposal — `offer()` rejects the
|
|
122
|
+
// same case outbound, so the inbound path enforces it too.
|
|
123
|
+
if (this._standing)
|
|
124
|
+
throw new Error(`RfqSession: inbound offer (seq ${msg.sequence}) but a proposal already stands (seq ${this._standing.sequence})`);
|
|
125
|
+
this.acceptProposal(msg);
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
case "counter": {
|
|
129
|
+
// A counter replaces the standing proposal — illegal before
|
|
130
|
+
// any offer exists, mirroring `counter()` outbound.
|
|
131
|
+
if (!this._standing)
|
|
132
|
+
throw new Error(`RfqSession: inbound counter (seq ${msg.sequence}) but no standing offer to counter`);
|
|
133
|
+
this.acceptProposal(msg);
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
case "accept": {
|
|
137
|
+
const seq = msg.body?.acceptedSequence;
|
|
138
|
+
const accepted = this.proposals.get(seq);
|
|
139
|
+
if (!accepted)
|
|
140
|
+
throw new Error(`RfqSession: accept references unknown proposal sequence ${seq}`);
|
|
141
|
+
// The accept must reference the proposal currently on the
|
|
142
|
+
// table. Once a counter supersedes an earlier offer, that
|
|
143
|
+
// older offer is off the table — accepting it would settle
|
|
144
|
+
// obsolete terms instead of what is currently being
|
|
145
|
+
// negotiated.
|
|
146
|
+
if (!this._standing || seq !== this._standing.sequence)
|
|
147
|
+
throw new Error(`RfqSession: accept references stale proposal seq ${seq}; standing proposal is seq ${this._standing?.sequence ?? "none"}`);
|
|
148
|
+
this.settle({
|
|
149
|
+
state: "accepted",
|
|
150
|
+
agreedTerms: accepted.terms,
|
|
151
|
+
acceptedSequence: seq,
|
|
152
|
+
});
|
|
153
|
+
break;
|
|
154
|
+
}
|
|
155
|
+
case "reject": {
|
|
156
|
+
this.settle({
|
|
157
|
+
state: "rejected",
|
|
158
|
+
reason: msg.body?.reason,
|
|
159
|
+
});
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
case "abort": {
|
|
163
|
+
this.settle({
|
|
164
|
+
state: "aborted",
|
|
165
|
+
reason: msg.body?.reason,
|
|
166
|
+
});
|
|
167
|
+
break;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
/** Record a verified inbound offer/counter as the standing proposal. */
|
|
172
|
+
acceptProposal(msg) {
|
|
173
|
+
const terms = msg.body?.terms;
|
|
174
|
+
const proposal = {
|
|
175
|
+
sequence: msg.sequence,
|
|
176
|
+
sender: msg.sender,
|
|
177
|
+
terms,
|
|
178
|
+
};
|
|
179
|
+
this.proposals.set(msg.sequence, proposal);
|
|
180
|
+
this._standing = proposal;
|
|
181
|
+
this.onProposal?.(proposal);
|
|
182
|
+
}
|
|
183
|
+
async proposeOutgoing(type, terms, repliesTo) {
|
|
184
|
+
const body = { terms };
|
|
185
|
+
const msg = await this.sendFn({ type, body, repliesTo });
|
|
186
|
+
const proposal = {
|
|
187
|
+
sequence: msg.sequence,
|
|
188
|
+
sender: this.me,
|
|
189
|
+
terms,
|
|
190
|
+
};
|
|
191
|
+
this.proposals.set(msg.sequence, proposal);
|
|
192
|
+
this._standing = proposal;
|
|
193
|
+
this.onProposal?.(proposal);
|
|
194
|
+
return msg;
|
|
195
|
+
}
|
|
196
|
+
settle(outcome) {
|
|
197
|
+
this._state = outcome.state;
|
|
198
|
+
this._outcome = outcome;
|
|
199
|
+
this.onStateChange?.(outcome);
|
|
200
|
+
}
|
|
201
|
+
assertOpen(action) {
|
|
202
|
+
if (this._state !== "open")
|
|
203
|
+
throw new Error(`RfqSession: cannot ${action} — negotiation is ${this._state}`);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=negotiate.js.map
|