diff --git a/.github/workflows/integration_test.yml b/.github/workflows/integration_test.yml index f066fd07e..90b907a90 100644 --- a/.github/workflows/integration_test.yml +++ b/.github/workflows/integration_test.yml @@ -47,6 +47,7 @@ jobs: 'deleteMessages', 'boostFail', 'sphinxAuth', + 'ampPayment', ] node: [16] steps: @@ -65,16 +66,14 @@ jobs: run: | npm install && npm run build && docker build -t sphinxlightning/sphinx-relay . - name: Checkout stack - run: | - git clone -b update/proxy-tag https://github.com/stakwork/sphinx-stack.git stack + uses: actions/checkout@v3 + with: + repository: antonilol/sphinx-stack + ref: amp + path: stack - name: give permissions working-directory: ./stack - run: | - chmod 777 ./bitcoind; - chmod 777 -R ./relay; - chmod 777 -R ./lnd; - chmod 777 -R ./proxy; - chmod 777 -R ./cln; + run: chmod 777 -R bitcoind relay lnd proxy cln - name: Check for NODES.json uses: nick-fields/retry@v2 with: @@ -88,11 +87,8 @@ jobs: docker logs dave.sphinx docker wait stack_relaysetup_1 cat stack/relay/NODES.json; - - name: copy file - uses: canastro/copy-file-action@master - with: - source: 'stack/relay/NODES.json' - target: 'relay/src/tests/configs/nodes.json' + - name: Copy nodes.json + run: cp stack/relay/NODES.json relay/src/tests/configs/nodes.json - name: Run tests working-directory: ./relay run: npx ava src/tests/controllers/${{matrix.test-name}}.test.ts --verbose --serial --timeout=2m diff --git a/dist/src/grpc/interfaces.js.map b/dist/src/grpc/interfaces.js.map index e97d87fcd..fd82fe38d 100644 --- a/dist/src/grpc/interfaces.js.map +++ b/dist/src/grpc/interfaces.js.map @@ -1 +1 @@ -{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/grpc/interfaces.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/grpc/interfaces.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/src/grpc/lightning.js b/dist/src/grpc/lightning.js index a2be26c70..1fc8499c5 100644 --- a/dist/src/grpc/lightning.js +++ b/dist/src/grpc/lightning.js @@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }); }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.getInvoiceHandler = exports.getChanInfo = exports.channelBalance = exports.complexBalances = exports.openChannel = exports.connectPeer = exports.pendingChannels = exports.listChannels = exports.listPeers = exports.addInvoice = exports.getInfo = exports.verifyAscii = exports.verifyMessage = exports.verifyBytes = exports.signBuffer = exports.signMessage = exports.listAllPaymentsFull = exports.listPaymentsPaginated = exports.listAllPayments = exports.listAllInvoices = exports.listInvoices = exports.signAscii = exports.keysendMessage = exports.loadRouter = exports.keysend = exports.sendPayment = exports.newAddress = exports.UNUSED_NESTED_PUBKEY_HASH = exports.UNUSED_WITNESS_PUBKEY_HASH = exports.NESTED_PUBKEY_HASH = exports.WITNESS_PUBKEY_HASH = exports.queryRoute = exports.setLock = exports.getLock = exports.getHeaders = exports.unlockWallet = exports.loadWalletUnlocker = exports.loadLightning = exports.loadMtlsCredentials = exports.loadCredentials = exports.isCLN = exports.isGL = exports.isLND = exports.SPHINX_CUSTOM_RECORD_KEY = exports.LND_KEYSEND_KEY = void 0; +exports.getInvoiceHandler = exports.getChanInfo = exports.channelBalance = exports.complexBalances = exports.openChannel = exports.connectPeer = exports.pendingChannels = exports.listChannels = exports.listPeers = exports.addInvoice = exports.getInfo = exports.verifyAscii = exports.verifyMessage = exports.verifyBytes = exports.signBuffer = exports.signMessage = exports.listAllPaymentsFull = exports.listPaymentsPaginated = exports.listAllPayments = exports.listAllInvoices = exports.listInvoices = exports.signAscii = exports.keysendMessage = exports.loadRouter = exports.keysend = exports.sendPayment = exports.newAddress = exports.UNUSED_NESTED_PUBKEY_HASH = exports.UNUSED_WITNESS_PUBKEY_HASH = exports.NESTED_PUBKEY_HASH = exports.WITNESS_PUBKEY_HASH = exports.queryRoute = exports.setLock = exports.getLock = exports.getHeaders = exports.unlockWallet = exports.loadWalletUnlocker = exports.loadLightning = exports.loadMtlsCredentials = exports.loadCredentials = exports.isCLN = exports.isGL = exports.isLND = exports.SPHINX_CUSTOM_RECORD_KEY = exports.LND_KEYSEND_KEY = exports.IS_GREENLIGHT = void 0; const fs = require("fs"); const grpc = require("@grpc/grpc-js"); const proto_1 = require("./proto"); @@ -30,7 +30,7 @@ const short = require("short-uuid"); const config = (0, config_1.loadConfig)(); const LND_IP = config.lnd_ip || 'localhost'; const IS_LND = config.lightning_provider === 'LND'; -const IS_GREENLIGHT = config.lightning_provider === 'GREENLIGHT'; +exports.IS_GREENLIGHT = config.lightning_provider === 'GREENLIGHT'; const IS_CLN = config.lightning_provider === 'CLN'; exports.LND_KEYSEND_KEY = 5482373484; exports.SPHINX_CUSTOM_RECORD_KEY = 133773310; @@ -44,7 +44,7 @@ function isLND(client) { } exports.isLND = isLND; function isGL(client) { - return IS_GREENLIGHT; + return exports.IS_GREENLIGHT; } exports.isGL = isGL; function isCLN(client) { @@ -91,7 +91,7 @@ function loadLightning(tryProxy, ownerPubkey) { if (lightningClient) { return lightningClient; } - if (IS_GREENLIGHT) { + if (exports.IS_GREENLIGHT) { const credentials = (0, exports.loadMtlsCredentials)(); const descriptor = (0, proto_1.loadProto)('greenlight'); const greenlight = descriptor.greenlight; @@ -323,8 +323,9 @@ function keysend(opts, ownerPubkey) { } try { const preimage = crypto.randomBytes(32); + const payment_hash = Buffer.from(sha.sha256.arrayBuffer(preimage)); const dest_custom_records = { - [`${exports.LND_KEYSEND_KEY}`]: preimage, + [exports.LND_KEYSEND_KEY]: preimage, }; if (opts.extra_tlv) { Object.entries(opts.extra_tlv).forEach(([k, v]) => { @@ -332,15 +333,21 @@ function keysend(opts, ownerPubkey) { }); } if (opts.data) { - dest_custom_records[`${exports.SPHINX_CUSTOM_RECORD_KEY}`] = Buffer.from(opts.data, 'utf-8'); + dest_custom_records[exports.SPHINX_CUSTOM_RECORD_KEY] = Buffer.from(opts.data, 'utf-8'); } + // feature bits: + // 9: tlv-onion + // 15: payment-addr + // 30: amp (required) + const keysend_features = [9]; + const amp_features = [9, 15, 30]; const options = { amt: Math.max(opts.amt, constants_1.default.min_sat_amount || 3), final_cltv_delta: constants_1.default.final_cltv_delta, dest: Buffer.from(opts.dest, 'hex'), dest_custom_records, - payment_hash: Buffer.from(sha.sha256.arrayBuffer(preimage)), - dest_features: [9], + payment_hash, + dest_features: keysend_features, }; // add in route hints if (opts.route_hint && opts.route_hint.includes(':')) { @@ -399,31 +406,54 @@ function keysend(opts, ownerPubkey) { }); } else { - // console.log("SEND sendPaymentV2", options) - // new sendPayment (with optional route hints) + delete options.payment_hash; + delete dest_custom_records[exports.LND_KEYSEND_KEY]; + options.dest_features = amp_features; + options.amp = true; options.fee_limit_sat = FEE_LIMIT_SAT; options.timeout_seconds = 16; const router = loadRouter(); const call = router.sendPaymentV2(options); call.on('data', function (payment) { - const state = payment.status || payment.state; - if (payment.payment_error) { - reject(payment.payment_error); - } - else { - if (state === 'IN_FLIGHT') { - // do nothing - } - else if (state === 'FAILED_NO_ROUTE') { - reject(payment.failure_reason || payment); + return __awaiter(this, void 0, void 0, function* () { + const ampState = payment.status || payment.state; + if (payment.payment_error) { + reject(payment.payment_error); } - else if (state === 'FAILED') { - reject(payment.failure_reason || payment); + else { + if (ampState === 'SUCCEEDED') { + resolve(payment); + } + else if (ampState !== 'IN_FLIGHT') { + logger_1.sphinxLogger.debug(`AMP ${ampState}, trying keysend`, logger_1.logging.Lightning); + yield new Promise((resolve, reject) => router.resetMissionControl({}, (err) => err ? reject(err) : resolve())); + // restore options + options.payment_hash = payment_hash; + options.dest_custom_records[exports.LND_KEYSEND_KEY] = preimage; + options.dest_features = keysend_features; + delete options.amp; + const call = router.sendPaymentV2(options); + call.on('data', function (payment) { + const keysendState = payment.status || payment.state; + if (payment.payment_error) { + reject(payment.payment_error); + } + else { + if (keysendState === 'SUCCEEDED') { + resolve(payment); + } + else if (keysendState !== 'IN_FLIGHT') { + logger_1.sphinxLogger.debug(`AMP ${ampState} and keysend ${keysendState}`, logger_1.logging.Lightning); + reject(payment.failure_reason || payment); + } + } + }); + call.on('error', function (err) { + reject(err); + }); + } } - else if (state === 'SUCCEEDED') { - resolve(payment); - } - } + }); }); call.on('error', function (err) { reject(err); @@ -633,7 +663,7 @@ function signBuffer(msg, ownerPubkey) { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { try { const lightning = yield loadLightning(true, ownerPubkey); // try proxy - if (IS_GREENLIGHT) { + if (exports.IS_GREENLIGHT) { const pld = interfaces.greenlightSignMessagePayload(msg); const sig = libhsmd_1.default.Handle(1024, 0, null, pld); const sigBuf = Buffer.from(sig, 'hex'); @@ -677,7 +707,7 @@ function verifyMessage(msg, sig, ownerPubkey) { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { try { const lightning = yield loadLightning(true, ownerPubkey); // try proxy - if (IS_GREENLIGHT) { + if (exports.IS_GREENLIGHT) { const fullBytes = zbase32.decode(sig); const sigBytes = fullBytes.slice(1); const recidBytes = fullBytes.slice(0, 1); @@ -964,7 +994,7 @@ function complexBalances(ownerPubkey) { logger_1.sphinxLogger.info('complexBalances', logger_1.logging.Lightning); const channelList = yield listChannels({}, ownerPubkey); const { channels } = channelList; - if (IS_GREENLIGHT) { + if (exports.IS_GREENLIGHT) { const local_balance = channels.reduce((a, chan) => a + parseInt(chan.local_balance), 0); return { reserve: 0, diff --git a/dist/src/grpc/lightning.js.map b/dist/src/grpc/lightning.js.map index 16facec50..e033bbc9c 100644 --- a/dist/src/grpc/lightning.js.map +++ b/dist/src/grpc/lightning.js.map @@ -1 +1 @@ -{"version":3,"file":"lightning.js","sourceRoot":"","sources":["../../../src/grpc/lightning.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"lightning.js","sourceRoot":"","sources":["../../../src/grpc/lightning.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yBAAwB;AACxB,sCAAqC;AACrC,mCAAmC;AAOnC,wCAAkC;AAClC,iCAAgC;AAChC,iCAAgC;AAChC,4CAAoC;AACpC,gDAA+C;AAC/C,4CAA4C;AAC5C,0CAA4D;AAC5D,4CAAuD;AACvD,2CAA0C;AAC1C,4CAA2C;AAC3C,uCAAsC;AACtC,uCAA+B;AAC/B,6CAAsD;AAEtD,oCAAmC;AAEnC,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAA;AAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,WAAW,CAAA;AAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,KAAK,KAAK,CAAA;AACrC,QAAA,aAAa,GAAG,MAAM,CAAC,kBAAkB,KAAK,YAAY,CAAA;AACvE,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,KAAK,KAAK,CAAA;AAErC,QAAA,eAAe,GAAG,UAAU,CAAA;AAC5B,QAAA,wBAAwB,GAAG,SAAS,CAAA;AAEjD,MAAM,aAAa,GAAG,KAAK,CAAA;AAE3B,IAAI,eAKS,CAAA;AACb,IAAI,cAAgD,CAAA;AACpD,IAAI,YAAsC,CAAA;AAE1C,+BAA+B;AAC/B,SAAgB,KAAK,CACnB,MAKa;IAEb,OAAO,MAAM,CAAA;AACf,CAAC;AATD,sBASC;AAED,SAAgB,IAAI,CAClB,MAKa;IAEb,OAAO,qBAAa,CAAA;AACtB,CAAC;AATD,oBASC;AAED,SAAgB,KAAK,CACnB,MAKa;IAEb,OAAO,MAAM,CAAA;AACf,CAAC;AATD,sBASC;AAED,SAAgB,eAAe,CAAC,OAAgB;IAC9C,IAAI;QACF,6CAA6C;QAC7C,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACpD,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAA;QACrC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAA;QACpC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAClC,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAChE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAClB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC1B,CAAC,CACF,CAAA;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;KAC3E;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAA;QACvC,MAAM,kCAAkC,CAAA;KACzC;AACH,CAAC;AAnBD,0CAmBC;AAEM,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAClD,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IACrD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IACvD,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;AAC5D,CAAC,CAAA;AALY,QAAA,mBAAmB,uBAK/B;AAeD,SAAsB,aAAa,CACjC,QAAkB,EAClB,WAAoB;;QAIpB,kCAAkC;QAClC,IAAI,QAAQ,IAAI,IAAA,eAAO,GAAE,IAAI,WAAW,EAAE;YACxC,+BAA+B;YAC/B,MAAM,kBAAkB,GAAG,MAAM,IAAA,0BAAkB,EAAC,WAAW,CAAC,CAAA;YAChE,IAAI,CAAC,kBAAkB,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;aACvC;YACD,OAAO,kBAAkB,CAAA;SAC1B;QACD,IAAI,eAAe,EAAE;YACnB,OAAO,eAAe,CAAA;SACvB;QAED,IAAI,qBAAa,EAAE;YACjB,MAAM,WAAW,GAAG,IAAA,2BAAmB,GAAE,CAAA;YACzC,MAAM,UAAU,GAAG,IAAA,iBAAS,EAAC,YAAY,CAAC,CAAA;YAC1C,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAA;YACxC,MAAM,OAAO,GAAG;gBACd,+BAA+B,EAAE,WAAW;aAC7C,CAAA;YACD,MAAM,GAAG,GAAG,IAAA,oCAAuB,GAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACjD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;aACvC;YACD,OAAO,CAAC,eAAe,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAA;SAC7E;QAED,IAAI,MAAM,EAAE;YACV,MAAM,WAAW,GAAG,IAAA,2BAAmB,GAAE,CAAA;YACzC,MAAM,UAAU,GAAG,IAAA,iBAAS,EAAC,UAAU,CAAC,CAAA;YACxC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAA;YAC1B,MAAM,OAAO,GAAG;gBACd,+BAA+B,EAAE,KAAK;aACvC,CAAA;YACD,OAAO,CAAC,eAAe,GAAG,IAAI,GAAG,CAAC,IAAI,CACpC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,EAC9B,WAAW,EACX,OAAO,CACR,CAAC,CAAA;SACH;QAED,MAAM;QACN,MAAM,WAAW,GAAG,eAAe,EAAE,CAAA;QACrC,MAAM,eAAe,GAAG,IAAA,iBAAS,EAAC,WAAW,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAA;QACnC,OAAO,CAAC,eAAe,GAAG,IAAI,KAAK,CAAC,SAAS,CAC3C,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,EAC9B,WAAW,CACZ,CAAC,CAAA;IACJ,CAAC;CAAA;AAvDD,sCAuDC;AAED,SAAgB,kBAAkB;IAChC,IAAI,cAAc,EAAE;QAClB,OAAO,cAAc,CAAA;KACtB;SAAM;QACL,IAAI;YACF,MAAM,WAAW,GAAG,eAAe,EAAE,CAAA;YACrC,MAAM,eAAe,GAAG,IAAA,iBAAS,EAAC,gBAAgB,CAAC,CAAA;YACnD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAA;YACnC,OAAO,CAAC,cAAc,GAAG,IAAI,KAAK,CAAC,cAAc,CAC/C,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,EAC9B,WAAW,CACZ,CAAC,CAAA;SACH;QAAC,OAAO,CAAC,EAAE;YACV,qBAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACrB,MAAM,CAAC,CAAA;SACR;KACF;AACH,CAAC;AAjBD,gDAiBC;AAED,SAAgB,YAAY,CAAC,GAAW;IACtC,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;QAC1C,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAA;QAC/B,EAAE,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;YACtE,IAAI,GAAG,EAAE;gBACP,MAAM,CAAC,GAAG,CAAC,CAAA;gBACX,OAAM;aACP;YACD,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAXD,oCAWC;AAED,SAAgB,UAAU,CAAC,GAAQ;IACjC,OAAO;QACL,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;QAC3C,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;KAC5C,CAAA;AACH,CAAC;AALD,gCAKC;AAED,IAAI,QAAQ,GAAG,KAAK,CAAA;AACpB,IAAI,WAA0C,CAAA;AAC9C,SAAgB,OAAO;IACrB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAFD,0BAEC;AACD,SAAgB,OAAO,CAAC,KAAc;IACpC,QAAQ,GAAG,KAAK,CAAA;IAChB,qBAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC/B,IAAI,WAAW;QAAE,YAAY,CAAC,WAAW,CAAC,CAAA;IAC1C,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;QAC5B,QAAQ,GAAG,KAAK,CAAA;QAChB,qBAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IACjC,CAAC,EAAE,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AACnB,CAAC;AARD,0BAQC;AAMD,SAAsB,UAAU,CAC9B,OAAe,EACf,GAAW,EACX,UAAmB,EACnB,WAAoB;;QAEpB,qBAAY,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;QAClD,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA,CAAC,YAAY;QACrE,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;YACnB,eAAe;YACf,OAAO;gBACL,YAAY,EAAE,CAAC;gBACf,MAAM,EAAE,EAAE;aACX,CAAA;SACF;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,uCAAuC;YACvC,iDAAiD;YACjD,sDAAsD;YACtD,MAAM,gBAAgB,GAAG,mBAAS,CAAC,gBAAgB,GAAG,CAAC,CAAA;YACvD,MAAM,OAAO,GAAyB;gBACpC,OAAO;gBACP,GAAG;gBACH,gBAAgB;aACjB,CAAA;YACD,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC1C,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACjC,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;gBACtB,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;gBACtB,OAAO,CAAC,WAAW,GAAG;oBACpB;wBACE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;qBAClC;iBACF,CAAA;aACF;YACD,kBAAkB;YAClB,CAAC;YAAM,SAAU,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBACvD,IAAI,GAAG,EAAE;oBACP,MAAM,CAAC,GAAG,CAAC,CAAA;oBACX,OAAM;iBACP;gBACD,OAAO,CAAC,QAAQ,CAAC,CAAA;YACnB,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AA5CD,gCA4CC;AAEY,QAAA,mBAAmB,GAAG,CAAC,CAAA;AACvB,QAAA,kBAAkB,GAAG,CAAC,CAAA;AACtB,QAAA,0BAA0B,GAAG,CAAC,CAAA;AAC9B,QAAA,yBAAyB,GAAG,CAAC,CAAA;AAE1C,SAAsB,UAAU,CAC9B,OAAuB,0BAAkB;;QAEzC,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CAAA;QACvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,kBAAkB;YAClB,CAAC;YAAM,SAAU,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBACvD,IAAI,GAAG,EAAE;oBACP,MAAM,CAAC,GAAG,CAAC,CAAA;oBACX,OAAM;iBACP;gBACD,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACnC,MAAM,CAAC,YAAY,CAAC,CAAA;oBACpB,OAAM;iBACP;gBACD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC3B,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AAlBD,gCAkBC;AAED,wCAAwC;AACxC,SAAsB,WAAW,CAC/B,eAAuB,EACvB,WAAoB;;QAEpB,qBAAY,CAAC,IAAI,CAAC,aAAa,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;QACnD,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA,CAAC,YAAY;QACrE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,IAAA,eAAO,EAAC,SAAS,CAAC,EAAE;gBACtB,MAAM,IAAI,GAAG;oBACX,eAAe;oBACf,SAAS,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;iBACpC,CAAA;gBACD,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;oBAChD,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE;wBACpB,MAAM,CAAC,GAAG,CAAC,CAAA;qBACZ;yBAAM;wBACL,IAAI,QAAQ,CAAC,aAAa,EAAE;4BAC1B,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;yBAC/B;6BAAM;4BACL,OAAO,CAAC,QAAQ,CAAC,CAAA;yBAClB;qBACF;gBACH,CAAC,CAAC,CAAA;aACH;iBAAM;gBACL,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;oBACnB,SAAS,CAAC,GAAG,CACX;wBACE,MAAM,EAAE,eAAe;wBACvB,OAAO,EAAE,EAAE;qBACZ,EACD,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;wBAChB,IAAI,GAAG,IAAI,IAAI,IAAI,QAAQ,EAAE;4BAC3B,OAAO,CAAC,UAAU,CAAC,eAAe,CAAM,QAAQ,CAAC,CAAC,CAAA;yBACnD;6BAAM;4BACL,MAAM,CAAC,GAAG,CAAC,CAAA;yBACZ;oBACH,CAAC,CACF,CAAA;iBACF;qBAAM,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE;oBAC3B,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;wBAC3D,IAAI,GAAG,IAAI,IAAI,IAAI,QAAQ,EAAE;4BAC3B,OAAO,CAAC,UAAU,CAAC,eAAe,CAAM,QAAQ,CAAC,CAAC,CAAA;yBACnD;6BAAM;4BACL,MAAM,CAAC,GAAG,CAAC,CAAA;yBACZ;oBACH,CAAC,CAAC,CAAA;iBACH;qBAAM;oBACL,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,EAAE,CAAA;oBACpC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAO,QAAQ,EAAE,EAAE;wBACjC,IAAI,QAAQ,CAAC,aAAa,EAAE;4BAC1B,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;yBAC/B;6BAAM;4BACL,OAAO,CAAC,QAAQ,CAAC,CAAA;yBAClB;oBACH,CAAC,CAAA,CAAC,CAAA;oBACF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAO,GAAG,EAAE,EAAE;wBAC7B,MAAM,CAAC,GAAG,CAAC,CAAA;oBACb,CAAC,CAAA,CAAC,CAAA;oBACF,IAAI,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC,CAAA;iBAChC;aACF;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AA9DD,kCA8DC;AASD,SAAgB,OAAO,CACrB,IAAiB,EACjB,WAAoB;IAEpB,qBAAY,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;IAC/C,OAAO,IAAI,OAAO,CAAC,UAAgB,OAAO,EAAE,MAAM;;YAChD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE;gBAC3B,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAA;aACzC;YACD,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;gBACvC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAA;gBAClE,MAAM,mBAAmB,GAAiC;oBACxD,CAAC,uBAAe,CAAC,EAAE,QAAQ;iBAC5B,CAAA;gBACD,IAAI,IAAI,CAAC,SAAS,EAAE;oBAClB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;wBAChD,mBAAmB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;oBAClD,CAAC,CAAC,CAAA;iBACH;gBACD,IAAI,IAAI,CAAC,IAAI,EAAE;oBACb,mBAAmB,CAAC,gCAAwB,CAAC,GAAG,MAAM,CAAC,IAAI,CACzD,IAAI,CAAC,IAAI,EACT,OAAO,CACR,CAAA;iBACF;gBACD,gBAAgB;gBAChB,gBAAgB;gBAChB,mBAAmB;gBACnB,qBAAqB;gBACrB,MAAM,gBAAgB,GAA2B,CAAC,CAAC,CAAC,CAAA;gBACpD,MAAM,YAAY,GAA2B,CAAC,CAAC,EAAE,EAAE,EAAE,EAAS,CAAC,CAAA;gBAC/D,MAAM,OAAO,GAA8B;oBACzC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAS,CAAC,cAAc,IAAI,CAAC,CAAC;oBACtD,gBAAgB,EAAE,mBAAS,CAAC,gBAAgB;oBAC5C,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;oBACnC,mBAAmB;oBACnB,YAAY;oBACZ,aAAa,EAAE,gBAAgB;iBAChC,CAAA;gBACD,qBAAqB;gBACrB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACpD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBACtC,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;oBACtB,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;oBACtB,OAAO,CAAC,WAAW,GAAG;wBACpB;4BACE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;yBAClC;qBACF,CAAA;iBACF;gBACD,+BAA+B;gBAC/B,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA,CAAC,YAAY;gBACrE,IAAI,IAAA,eAAO,EAAC,SAAS,CAAC,EAAE;oBACtB,+CAA+C;oBAC/C,OAAO,CAAC,SAAS,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA;oBAC5C,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;wBACnD,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE;4BACpB,MAAM,CAAC,GAAG,CAAC,CAAA;yBACZ;6BAAM;4BACL,IAAI,QAAQ,CAAC,aAAa,EAAE;gCAC1B,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;6BAC/B;iCAAM;gCACL,OAAO,CAAC,QAAQ,CAAC,CAAA;6BAClB;yBACF;oBACH,CAAC,CAAC,CAAA;iBACH;qBAAM;oBACL,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;oBACzD,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;wBACnB,MAAM,GAAG,GAAwC,CAC/C,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CACnC,CAAA;wBACD,kDAAkD;wBAClD,uEAAuE;wBACvE,wBAAwB;wBACxB,+BAA+B;wBAC/B,YAAY;wBACZ,4CAA4C;wBAC5C,+BAA+B;wBAC/B,uCAAuC;wBACvC,uBAAuB;wBACvB,gCAAgC;wBAChC,OAAO;wBACP,GAAG;wBACH,SAAS,CAAC,OAAO,CAAM,GAAG,EAAE,UAAU,GAAG,EAAE,QAAQ;4BACjD,IAAI,GAAG,IAAI,IAAI,IAAI,QAAQ,EAAE;gCAC3B,uBAAuB;gCACvB,OAAO,CAAC,UAAU,CAAC,eAAe,CAAM,QAAQ,CAAC,CAAC,CAAA;6BACnD;iCAAM;gCACL,MAAM,CAAC,GAAG,CAAC,CAAA;6BACZ;wBACH,CAAC,CAAC,CAAA;qBACH;yBAAM;wBACL,OAAO,OAAO,CAAC,YAAY,CAAA;wBAC3B,OAAO,mBAAmB,CAAC,uBAAe,CAAC,CAAA;wBAC3C,OAAO,CAAC,aAAa,GAAG,YAAY,CAAA;wBACpC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAA;wBAElB,OAAO,CAAC,aAAa,GAAG,aAAa,CAAA;wBACrC,OAAO,CAAC,eAAe,GAAG,EAAE,CAAA;wBAC5B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;wBAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;wBAC1C,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,UAAgB,OAAO;;gCACrC,MAAM,QAAQ,GAAW,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAA;gCACxD,IAAI,OAAO,CAAC,aAAa,EAAE;oCACzB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;iCAC9B;qCAAM;oCACL,IAAI,QAAQ,KAAK,WAAW,EAAE;wCAC5B,OAAO,CAAC,OAAO,CAAC,CAAA;qCACjB;yCAAM,IAAI,QAAQ,KAAK,WAAW,EAAE;wCACnC,qBAAY,CAAC,KAAK,CAChB,OAAO,QAAQ,kBAAkB,EACjC,gBAAO,CAAC,SAAS,CAClB,CAAA;wCACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAC1C,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CACrC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAC9B,CACF,CAAA;wCACD,kBAAkB;wCAClB,OAAO,CAAC,YAAY,GAAG,YAAY,CAAA;wCACnC,OAAO,CAAC,mBAAmB,CAAC,uBAAe,CAAC,GAAG,QAAQ,CAAA;wCACvD,OAAO,CAAC,aAAa,GAAG,gBAAgB,CAAA;wCACxC,OAAO,OAAO,CAAC,GAAG,CAAA;wCAClB,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;wCAC1C,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,OAAO;4CAC/B,MAAM,YAAY,GAAW,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAA;4CAC5D,IAAI,OAAO,CAAC,aAAa,EAAE;gDACzB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;6CAC9B;iDAAM;gDACL,IAAI,YAAY,KAAK,WAAW,EAAE;oDAChC,OAAO,CAAC,OAAO,CAAC,CAAA;iDACjB;qDAAM,IAAI,YAAY,KAAK,WAAW,EAAE;oDACvC,qBAAY,CAAC,KAAK,CAChB,OAAO,QAAQ,gBAAgB,YAAY,EAAE,EAC7C,gBAAO,CAAC,SAAS,CAClB,CAAA;oDACD,MAAM,CAAC,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,CAAA;iDAC1C;6CACF;wCACH,CAAC,CAAC,CAAA;wCACF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,GAAG;4CAC5B,MAAM,CAAC,GAAG,CAAC,CAAA;wCACb,CAAC,CAAC,CAAA;qCACH;iCACF;4BACH,CAAC;yBAAA,CAAC,CAAA;wBACF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,GAAG;4BAC5B,MAAM,CAAC,GAAG,CAAC,CAAA;wBACb,CAAC,CAAC,CAAA;wBACF,sBAAsB;qBACvB;iBACF;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,CAAC,CAAC,CAAC,CAAA;aACV;QACH,CAAC;KAAA,CAAC,CAAA;AACJ,CAAC;AA9JD,0BA8JC;AAED,SAAgB,UAAU;IACxB,IAAI,YAAY,EAAE;QAChB,OAAO,YAAY,CAAA;KACpB;SAAM;QACL,MAAM,WAAW,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAA;QACtD,MAAM,UAAU,GAAG,IAAA,iBAAS,EAAC,QAAQ,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAA;QACnC,OAAO,CAAC,YAAY,GAAG,IAAI,MAAM,CAAC,MAAM,CACtC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,EAC9B,WAAW,CACZ,CAAC,CAAA;KACH;AACH,CAAC;AAZD,gCAYC;AAED,MAAM,cAAc,GAAG,GAAG,CAAA,CAAC,gBAAgB;AAC3C,SAAsB,cAAc,CAClC,IAAiB,EACjB,WAAoB;;QAEpB,qBAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;QACtD,OAAO,IAAI,OAAO,CAAC,UAAgB,OAAO,EAAE,MAAM;;gBAChD,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;oBAC/C,OAAO,MAAM,CAAC,YAAY,CAAC,CAAA;iBAC5B;gBAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,cAAc,EAAE;oBACrC,IAAI;wBACF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;wBAC5C,OAAO,CAAC,GAAG,CAAC,CAAA;qBACb;oBAAC,OAAO,CAAC,EAAE;wBACV,MAAM,CAAC,CAAC,CAAC,CAAA;qBACV;oBACD,OAAM;iBACP;gBACD,gCAAgC;gBAChC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,CAAA;gBACtD,IAAI,OAAO,GAAG,KAAK,CAAA;gBACnB,IAAI,IAAI,GAAG,KAAK,CAAA;gBAChB,IAAI,GAAG,GAAQ,IAAI,CAAA;gBACnB,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;gBAC/B,6BAA6B;gBAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;oBACtD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,CAAA;oBACtE,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBAChC,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAS,CAAC,cAAc,CAAA;oBAC9D,IAAI;wBACF,GAAG,GAAG,MAAM,OAAO,iCAEZ,IAAI,KACP,GAAG,EACH,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAE9B,WAAW,CACZ,CAAA;wBACD,OAAO,GAAG,IAAI,CAAA;wBACd,MAAM,IAAA,eAAK,EAAC,GAAG,CAAC,CAAA;qBACjB;oBAAC,OAAO,CAAC,EAAE;wBACV,qBAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;wBACrB,IAAI,GAAG,IAAI,CAAA;qBACZ;iBACF;gBACD,IAAI,OAAO,IAAI,CAAC,IAAI,EAAE;oBACpB,OAAO,CAAC,GAAG,CAAC,CAAA;iBACb;qBAAM;oBACL,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;iBAC1B;YACH,CAAC;SAAA,CAAC,CAAA;IACJ,CAAC;CAAA;AArDD,wCAqDC;AAED,SAAsB,SAAS,CAC7B,KAAa,EACb,WAAoB;;QAEpB,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAA;QAChE,OAAO,GAAG,CAAA;IACZ,CAAC;CAAA;AAND,8BAMC;AAED,SAAgB,YAAY;IAC1B,qBAAY,CAAC,IAAI,CAAC,cAAc,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;IACpD,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CAEtC;QAAM,SAAU,CAAC,YAAY,CAC5B;YACE,gBAAgB,EAAE,MAAM;YACxB,QAAQ,EAAE,IAAI;SACf,EACD,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YAChB,IAAI,CAAC,GAAG,EAAE;gBACR,OAAO,CAAC,QAAQ,CAAC,CAAA;aAClB;iBAAM;gBACL,MAAM,CAAC,GAAG,CAAC,CAAA;aACZ;QACH,CAAC,CACF,CAAA;IACH,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC;AAnBD,oCAmBC;AAED,SAAsB,eAAe;;QACnC,qBAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QACzC,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAA;IAC7B,CAAC;CAAA;AAHD,0CAGC;AAED,SAAe,gBAAgB,CAC7B,KAAa,EACb,CAAC,GAAG,CAAC;;QAEL,IAAI;YACF,MAAM,CAAC,GAAG,MAAM,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC/C,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAA;YACjD,IAAI,UAAU,GAAG,CAAC,EAAE;gBAClB,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAA;aACpE;YACD,OAAO,CAAC,CAAC,QAAQ,CAAA;SAClB;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,EAAE,CAAA;SACV;IACH,CAAC;CAAA;AAED,SAAS,qBAAqB,CAC5B,KAAa,EACb,MAAc;IAEd,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CACtC;QAAkB,SAAU,CAAC,YAAY,CACxC;YACE,gBAAgB,EAAE,KAAK;YACvB,YAAY,EAAE,MAAM;YACpB,QAAQ,EAAE,IAAI;SACf,EACD,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YAChB,IAAI,CAAC,GAAG,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ;gBAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;;gBACvD,MAAM,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC,CACF,CAAA;IACH,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC;AAED,kCAAkC;AAClC,SAAsB,eAAe;;QACnC,qBAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QACzC,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAA,CAAC,UAAU;QAClD,qBAAY,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QAChD,OAAO,IAAI,CAAA;IACb,CAAC;CAAA;AALD,0CAKC;AAED,SAAe,gBAAgB,CAC7B,KAAa,EACb,CAAC,GAAG,CAAC;;QAEL,IAAI;YACF,MAAM,CAAC,GAAG,MAAM,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC/C,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAA,CAAC,oDAAoD;YACtG,IAAI,UAAU,GAAG,CAAC,EAAE;gBAClB,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAA;aACpE;YACD,OAAO,CAAC,CAAC,QAAQ,CAAA;SAClB;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,EAAE,CAAA;SACV;IACH,CAAC;CAAA;AAED,SAAgB,qBAAqB,CACnC,KAAa,EACb,MAAc;IAEd,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CACtC;QAAkB,SAAU,CAAC,YAAY,CACxC;YACE,YAAY,EAAE,KAAK;YACnB,YAAY,EAAE,MAAM;YACpB,QAAQ,EAAE,IAAI;SACf,EACD,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YAChB,IAAI,CAAC,GAAG,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ;gBAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;;gBACvD,MAAM,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC,CACF,CAAA;IACH,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC;AAlBD,sDAkBC;AAED,SAAgB,mBAAmB;IACjC,qBAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;IACzC,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CACtC;QAAkB,SAAU,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YAC/D,IAAI,CAAC,GAAG,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;gBACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;aAC3B;iBAAM;gBACL,MAAM,CAAC,GAAG,CAAC,CAAA;aACZ;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC;AAZD,kDAYC;AAED,aAAa;AACb,SAAsB,WAAW,CAC/B,GAAW,EACX,WAAoB;;QAEpB,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,WAAW,CAAC,CAAA;IACzD,CAAC;CAAA;AALD,kCAKC;AAED,SAAgB,UAAU,CAAC,GAAW,EAAE,WAAoB;IAC1D,qBAAY,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;IAClD,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,IAAI;YACF,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA,CAAC,YAAY;YACrE,IAAI,qBAAa,EAAE;gBACjB,MAAM,GAAG,GAAG,UAAU,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAA;gBACxD,MAAM,GAAG,GAAG,iBAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;gBAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;gBACvC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;gBAC1C,yDAAyD;gBACzD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;gBAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;gBACxC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;gBACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;gBAC1D,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;aAClC;iBAAM,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,IAAA,eAAO,EAAC,SAAS,CAAC,EAAE;gBACjD,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,CAAA;gBACvB,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,EAAE,GAAG;oBAC/C,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE;wBACjC,MAAM,CAAC,GAAG,CAAC,CAAA;qBACZ;yBAAM;wBACL,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;qBACvB;gBACH,CAAC,CAAC,CAAA;aACH;SACF;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAC,CAAC,CAAA;SACV;IACH,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC;AA/BD,gCA+BC;AAED,SAAsB,WAAW,CAC/B,GAAW,EACX,GAAW;;QAEX,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;QACvD,OAAO,CAAC,CAAA;IACV,CAAC;CAAA;AAND,kCAMC;AAMD,mDAAmD;AACnD,SAAgB,aAAa,CAC3B,GAAW,EACX,GAAW,EACX,WAAoB;IAEpB,qBAAY,CAAC,IAAI,CAAC,eAAe,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;IACrD,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,IAAI;YACF,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA,CAAC,YAAY;YACrE,IAAI,qBAAa,EAAE;gBACjB,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACrC,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBACnC,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBACxC,qDAAqD;gBACrD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;gBAC3D,8BAA8B;gBAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAC7B,oDAAoD,EACpD,KAAK,CACN,CAAA;gBACD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBACxC,cAAc;gBACd,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CACjC,GAAG,CAAC,MAAM,CAAC,WAAW,CACpB,MAAM,CAAC,MAAM,CACX,CAAC,WAAW,EAAE,QAAQ,CAAC,EACvB,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CACrC,CACF,CACF,CAAA;gBACD,MAAM,eAAe,GAAW,SAAS,CAAC,OAAO,CAC/C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,0BAA0B;gBAC7C,QAAQ,EAAE,oFAAoF;gBAC9F,KAAK,EAAE,8EAA8E;gBACrF,IAAI,CAAC,yJAAyJ;iBAC/J,CAAA;gBACD,OAAO,CAAiB;oBACtB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;iBACxC,CAAC,CAAA;aACH;iBAAM,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,IAAA,eAAO,EAAC,SAAS,CAAC,EAAE;gBACjD,yBAAyB;gBACzB,SAAS,CAAC,aAAa,CACrB;oBACE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC;oBAC5B,SAAS,EAAE,GAAG;iBACf,EACD,UAAU,GAAG,EAAE,GAAG;oBAChB,mBAAmB;oBACnB,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;wBAC9B,MAAM,CAAC,GAAG,CAAC,CAAA;qBACZ;yBAAM;wBACL,OAAO,CAAC,GAAG,CAAC,CAAA;qBACb;gBACH,CAAC,CACF,CAAA;aACF;SACF;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAC,CAAC,CAAA;SACV;IACH,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC;AA7DD,sCA6DC;AACD,SAAsB,WAAW,CAC/B,KAAa,EACb,GAAW,EACX,WAAoB;;QAEpB,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAA;QACrE,OAAO,CAAC,CAAA;IACV,CAAC;CAAA;AAPD,kCAOC;AAED,SAAsB,OAAO,CAC3B,QAAkB;;QAElB,iBAAiB;QACjB,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI;gBACF,YAAY;gBACZ,MAAM,SAAS,GAAG,MAAM,aAAa,CACnC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EACjC,SAAS,CACV,CAAA;gBACD,mEAAmE;gBACnE,uBAAuB;gBACvB,oDAAoD;gBACpD,aAAa;gBACb,kBAAkB;gBAClB,MAAM;gBACN,IAAI;gBACJ,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE;oBACpB,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,GAAG,EAAE,QAAQ;wBAC3C,IAAI,GAAG,IAAI,IAAI,EAAE;4BACf,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAA;yBAC9C;6BAAM;4BACL,MAAM,CAAC,GAAG,CAAC,CAAA;yBACZ;oBACH,CAAC,CAAC,CAAA;iBACH;qBAAM,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;oBAC1B,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,GAAG,EAAE,QAAQ;wBAC3C,IAAI,GAAG,IAAI,IAAI,EAAE;4BACf,SAAS;4BACT,OAAO,CACL,UAAU,CAAC,eAAe,CACxB,QAA2D,CAC5D,CACF,CAAA;yBACF;6BAAM;4BACL,MAAM,CAAC,GAAG,CAAC,CAAA;yBACZ;oBACH,CAAC,CAAC,CAAA;iBACH;qBAAM;oBACL,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,GAAG,EAAE,QAAQ;wBAC3C,IAAI,GAAG,IAAI,IAAI,EAAE;4BACf,SAAS;4BACT,OAAO,CACL,UAAU,CAAC,eAAe,CACxB,QAAiD,CAClD,CACF,CAAA;yBACF;6BAAM;4BACL,MAAM,CAAC,GAAG,CAAC,CAAA;yBACZ;oBACH,CAAC,CAAC,CAAA;iBACH;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,CAAC,CAAC,CAAC,CAAA;aACV;QACH,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC;CAAA;AAzDD,0BAyDC;AAED,SAAsB,UAAU,CAC9B,OAAqC,EACrC,WAAoB;;QAEpB,oBAAoB;QACpB,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA,CAAC,YAAY;YACrE,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,IAAA,eAAO,EAAC,SAAS,CAAC,EAAE;gBAC1C,MAAM,GAAG,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAA;gBAC1C,MAAM,GAAG,GAAG,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;gBACjD,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,EAAE,QAAQ;oBACzC,IAAI,GAAG,IAAI,IAAI,EAAE;wBACf,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAA;qBACjD;yBAAM;wBACL,MAAM,CAAC,GAAG,CAAC,CAAA;qBACZ;gBACH,CAAC,CAAC,CAAA;aACH;iBAAM,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE;gBAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;gBAC9B,SAAS,CAAC,OAAO,CACf;oBACE,WAAW,EAAE;wBACX,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,KAAe,CAAC,EAAE;qBACzD;oBACD,KAAK;oBACL,WAAW,EAAE,OAAO,CAAC,IAAI;iBAC1B,EACD,UAAU,GAAG,EAAE,QAAQ;oBACrB,IAAI,GAAG,IAAI,IAAI,EAAE;wBACf,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,KAAI,EAAE,EAAE,CAAC,CAAA;qBACrD;yBAAM;wBACL,qBAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;wBAC5C,MAAM,CAAC,GAAG,CAAC,CAAA;qBACZ;gBACH,CAAC,CACF,CAAA;aACF;QACH,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC;CAAA;AAtCD,gCAsCC;AAED,SAAsB,SAAS,CAC7B,IAA+B,EAC/B,WAAoB;;QAEpB,qBAAY,CAAC,IAAI,CAAC,cAAc,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;QACpD,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;YACxD,MAAM,IAAI,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAC7C;YAAkB,SAAU,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,EAAE,QAAQ;gBACnE,IAAI,GAAG,IAAI,IAAI,IAAI,QAAQ,EAAE;oBAC3B,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAA;iBAChD;qBAAM;oBACL,MAAM,CAAC,GAAG,CAAC,CAAA;iBACZ;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC;CAAA;AAhBD,8BAgBC;AAED,SAAsB,YAAY,CAChC,IAAkC,EAClC,WAAoB;;QAEpB,qBAAY,CAAC,IAAI,CAAC,cAAc,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;QACpD,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA,CAAC,YAAY;YACrE,MAAM,IAAI,GAAG,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;YACjD,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;gBACnB,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,EAAE,QAAQ;oBAC/C,IAAI,GAAG,IAAI,IAAI,IAAI,QAAQ,EAAE;wBAC3B,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAA;qBACnD;yBAAM;wBACL,MAAM,CAAC,GAAG,CAAC,CAAA;qBACZ;gBACH,CAAC,CAAC,CAAA;aACH;iBAAM;gBACL,kBAAkB;gBAClB,CAAC;gBAAM,SAAU,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,EAAE,QAAQ;oBAC1D,IAAI,GAAG,IAAI,IAAI,IAAI,QAAQ,EAAE;wBAC3B,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAA;qBACnD;yBAAM;wBACL,MAAM,CAAC,GAAG,CAAC,CAAA;qBACZ;gBACH,CAAC,CAAC,CAAA;aACH;QACH,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC;CAAA;AA3BD,oCA2BC;AAED,gJAAgJ;AAChJ,SAAsB,eAAe,CAAC,WAAoB;;QAOxD,qBAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;QACvD,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA,CAAC,YAAY;QACrE,MAAM,UAAU,GAAG;YACjB,mBAAmB,EAAE,GAAG;YACxB,qBAAqB,EAAE,EAAE;YACzB,wBAAwB,EAAE,EAAE;YAC5B,8BAA8B,EAAE,EAAE;YAClC,sBAAsB,EAAE,EAAE;SAC3B,CAAA;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;YACnB,OAAO,UAAU,CAAA;SAClB;QACD,IAAI,IAAA,eAAO,GAAE,EAAE;YACb,OAAO,UAAU,CAAA;SAClB;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,oCAAoC;YACpC,CAAC;YAAkB,SAAU,CAAC,eAAe,CAAC,EAAE,EAAE,UAAU,GAAG,EAAE,QAAQ;gBACvE,IAAI,GAAG,IAAI,IAAI,IAAI,QAAQ,EAAE;oBAC3B,OAAO,CAAC,QAAQ,CAAC,CAAA;iBAClB;qBAAM;oBACL,MAAM,CAAC,GAAG,CAAC,CAAA;iBACZ;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AAhCD,0CAgCC;AAED,+EAA+E;AAC/E,SAAsB,WAAW,CAC/B,IAAgC;;QAKhC,qBAAY,CAAC,IAAI,CAAC,aAAa,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;QACnD,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CAAA;YACvC,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;gBACnB,MAAM,GAAG,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;gBAC/C,SAAS,CAAC,WAAW,CACmB,GAAG,EACzC,UAAU,GAAG,EAAE,QAAQ;oBACrB,IAAI,GAAG,IAAI,IAAI,IAAI,QAAQ,EAAE;wBAC3B,OAAO,CAAC,QAAQ,CAAC,CAAA;qBAClB;yBAAM;wBACL,MAAM,CAAC,GAAG,CAAC,CAAA;qBACZ;gBACH,CAAC,CACF,CAAA;aACF;iBAAM,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE;gBAC3B,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,EAAE,QAAQ;oBACjD,IAAI,GAAG,IAAI,IAAI,IAAI,QAAQ,EAAE;wBAC3B,OAAO,EAAE,CAAA;qBACV;yBAAM;wBACL,MAAM,CAAC,GAAG,CAAC,CAAA;qBACZ;gBACH,CAAC,CAAC,CAAA;aACH;QACH,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC;CAAA;AA/BD,kCA+BC;AAqBD,sDAAsD;AACtD,SAAsB,WAAW,CAC/B,IAAqB;;QAErB,qBAAY,CAAC,IAAI,CAAC,aAAa,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;QACnD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;QACvB,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CAAA;QACvC,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;YACnB,OAAM;SACP;QACD,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE;YACpB,OAAM,CAAC,QAAQ;SAChB;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,EAAE,QAAQ;gBACrD,IAAI,GAAG,IAAI,IAAI,IAAI,QAAQ,EAAE;oBAC3B,OAAO,CAAsB,QAAQ,CAAC,CAAA;iBACvC;qBAAM;oBACL,MAAM,CAAC,GAAG,CAAC,CAAA;iBACZ;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AArBD,kCAqBC;AAQD,SAAsB,eAAe,CACnC,WAAoB;;QAEpB,qBAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;QACvD,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA;QACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAA;QAChC,IAAI,qBAAa,EAAE;YACjB,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CACnC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAC7C,CAAC,CACF,CAAA;YACD,OAAwB;gBACtB,OAAO,EAAE,CAAC;gBACV,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC;gBACxC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC;gBACnC,oBAAoB,EAAE,CAAC;aACxB,CAAA;SACF;aAAM;YACL,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,EACtD,CAAC,CACF,CAAA;YACD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CACV,CAAC;gBACD,IAAI,CAAC,GAAG,CACN,CAAC,EACD,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CACrE,EACH,CAAC,CACF,CAAA;YACD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,CAAA;YAClD,OAAwB;gBACtB,OAAO;gBACP,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE,OAAO,EAAE,gBAAgB;gBACzB,oBAAoB,EAAE,QAAQ;oBAC5B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC;oBACzC,CAAC,CAAC,CAAC;aACN,CAAA;SACF;IACH,CAAC;CAAA;AAzCD,0CAyCC;AAOD,SAAsB,cAAc,CAAC,WAAoB;;QAUvD,qBAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;QACtD,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA,CAAC,YAAY;QACrE,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;YACnB,OAAM;SACP;QACD,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE;YACpB,OAAM,CAAC,QAAQ;SAChB;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,GAAG,EAAE,QAAQ;gBAClD,IAAI,GAAG,IAAI,IAAI,IAAI,QAAQ,EAAE;oBAC3B,OAAO,CAAC,QAAQ,CAAC,CAAA;iBAClB;qBAAM;oBACL,MAAM,CAAC,GAAG,CAAC,CAAA;iBACZ;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AA3BD,wCA2BC;AAYD,kCAAkC;AAClC,SAAsB,WAAW,CAC/B,OAAe,EACf,QAAkB;;QAWlB,qBAAqB;QACrB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA,CAAC,YAAY;QACrF,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;YACnB,OAAM,CAAC,eAAe;SACvB;QACD,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE;YACpB,OAAM,CAAC,QAAQ;SAChB;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,MAAM,CAAC,YAAY,CAAC,CAAA;aAC5B;YACD,SAAS,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE,UAAU,GAAG,EAAE,QAAQ;gBACxD,IAAI,GAAG,IAAI,IAAI,IAAI,QAAQ,EAAE;oBAC3B,OAAO,CAAC,QAAQ,CAAC,CAAA;iBAClB;qBAAM;oBACL,MAAM,CAAC,GAAG,CAAC,CAAA;iBACZ;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AAjCD,kCAiCC;AAED,SAAS,aAAa,CAAC,GAAG;IACxB,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;KACf;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACtB,CAAC;AAED,SAAsB,iBAAiB,CACrC,YAAoB,EACpB,WAAoB;;QAEpB,qBAAY,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;QAClD,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;QAC3D,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI;gBACF,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;gBACxD,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;oBACnB,OAAM,CAAC,mBAAmB;iBAC3B;qBAAM,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,IAAA,eAAO,EAAC,SAAS,CAAC,EAAE;oBACjD,CAAC;oBAAM,SAAU,CAAC,aAAa,CAC7B,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAC9B,UAAU,GAAG,EAAE,QAAQ;wBACrB,IAAI,GAAG,EAAE;4BACP,qBAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;4BAC5C,MAAM,CAAC,GAAG,CAAC,CAAA;yBACZ;wBACD,IAAI,QAAQ,EAAE;4BACZ,MAAM,OAAO,GAAG;gCACd,OAAO,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO;gCAC1B,eAAe,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe;gCAC1C,YAAY,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;gCAC9C,QAAQ,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO;oCACzB,CAAC,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;oCACtC,CAAC,CAAC,EAAE;gCACN,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC;6BAC5C,CAAA;4BACD,OAAO,CAAC,OAAO,CAAC,CAAA;yBACjB;oBACH,CAAC,CACF,CAAA;iBACF;qBAAM,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE;oBAC3B,MAAM,SAAS,CAAC,YAAY,CAC1B;wBACE,YAAY,EAAE,kBAAkB;qBACjC,EACD,CAAC,GAAQ,EAAE,QAAa,EAAE,EAAE;;wBAC1B,IAAI,GAAG,EAAE;4BACP,qBAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;4BAC5C,MAAM,CAAC,GAAG,CAAC,CAAA;yBACZ;wBACD,IAAI,QAAQ,EAAE;4BACZ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gCAChC,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;gCAChC,MAAM,OAAO,GAAG;oCACd,MAAM,EAAE,gBAAgB,CACtB,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,oBAAoB,0CAAE,IAAI,KAAI,CAAC,CACrC;oCACD,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;oCAC3D,eAAe,EAAE,GAAG,CAAC,MAAM;oCAC3B,QAAQ,EACN,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM;wCACjC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC;wCACtC,CAAC,CAAC,EAAE;oCACR,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;iCAC/C,CAAA;gCACD,OAAO,CAAC,OAAO,CAAC,CAAA;6BACjB;4BACD,OAAO,CAAC,EAAE,CAAC,CAAA;yBACZ;oBACH,CAAC,CACF,CAAA;iBACF;aACF;YAAC,OAAO,KAAK,EAAE;gBACd,qBAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;gBAC9C,MAAM,KAAK,CAAA;aACZ;QACH,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC;CAAA;AAtED,8CAsEC;AAED,SAAS,gBAAgB,CAAC,MAAc;IACtC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;AAC9B,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;AAC9B,CAAC;AACD,sCAAsC;AACtC,2BAA2B;AAC3B,6BAA6B;AAC7B,aAAa;AACb,yCAAyC;AACzC,8EAA8E;AAC9E,6EAA6E;AAC7E,uCAAuC;AACvC,0FAA0F;AAC1F,6BAA6B;AAC7B,MAAM;AACN,IAAI"} \ No newline at end of file diff --git a/dist/src/grpc/subscribe.js b/dist/src/grpc/subscribe.js index d6c85cc36..d9c45e3d4 100644 --- a/dist/src/grpc/subscribe.js +++ b/dist/src/grpc/subscribe.js @@ -39,7 +39,11 @@ function subscribeInvoices(parseKeysendInvoice) { return; } // console.log("IS KEYSEND", inv.is_keysend) - if (inv.is_keysend) { + if ((inv.htlcs && + inv.htlcs[0] && + inv.htlcs[0].custom_records && + lightning_1.SPHINX_CUSTOM_RECORD_KEY in inv.htlcs[0].custom_records) || + inv.is_keysend) { parseKeysendInvoice(inv); } else { diff --git a/dist/src/grpc/subscribe.js.map b/dist/src/grpc/subscribe.js.map index 5c66a8070..798e0fcac 100644 --- a/dist/src/grpc/subscribe.js.map +++ b/dist/src/grpc/subscribe.js.map @@ -1 +1 @@ -{"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../../src/grpc/subscribe.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../../src/grpc/subscribe.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAqE;AACrE,sCAAqC;AACrC,4CAAgD;AAChD,uCAA6C;AAC7C,2CAA0C;AAC1C,0CAA4D;AAC5D,4CAAuD;AAEvD,MAAM,oBAAoB,GAAG,EAAE,CAAA;AAC/B,MAAM,uBAAuB,GAAG,CAAC,CAAA;AACjC,MAAM,sBAAsB,GAAG,EAAE,CAAA,CAAC,SAAS;AAE3C,SAAgB,iBAAiB,CAC/B,mBAA6D;IAE7D,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,IAAI,WAAW,GAAG,EAAE,CAAA;QACpB,IAAI,IAAA,eAAO,GAAE,EAAE;YACb,WAAW,GAAG,MAAM,IAAA,0BAAkB,GAAE,CAAA;SACzC;QACD,MAAM,SAAS,GAAG,MAAM,IAAA,yBAAa,EAAC,IAAI,EAAE,WAAW,CAAC,CAAA,CAAC,YAAY;QAErE,MAAM,GAAG,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAA;QACzC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAA;QAC/B,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,UAAgB,QAAQ;;gBACtC,0CAA0C;gBAC1C,MAAM,GAAG,GAAG,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;gBAClD,uCAAuC;gBACvC,kBAAkB;gBAClB,IAAI,GAAG,CAAC,KAAK,KAAK,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE;oBACjD,OAAM;iBACP;gBACD,4CAA4C;gBAC5C,IACE,CAAC,GAAG,CAAC,KAAK;oBACR,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;oBACZ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc;oBAC3B,oCAAwB,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;oBAC1D,GAAG,CAAC,UAAU,EACd;oBACA,mBAAmB,CAAC,GAAG,CAAC,CAAA;iBACzB;qBAAM;oBACL,IAAA,2BAAiB,EAAC,GAAG,CAAC,CAAA;iBACvB;YACH,CAAC;SAAA,CAAC,CAAA;QACF,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,MAAM;YAChC,qBAAY,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;YACvE,kDAAkD;YAClD,IACE,MAAM,CAAC,IAAI,IAAI,oBAAoB;gBACnC,MAAM,CAAC,IAAI,IAAI,uBAAuB,EACtC;gBACA,CAAC,GAAG,CAAC,CAAA;gBACL,gBAAgB,EAAE,CAAA;aACnB;iBAAM;gBACL,OAAO,CAAC,MAAM,CAAC,CAAA;aAChB;QACH,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,GAAG;YAC5B,qBAAY,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,EAAE,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;YAC1D,IACE,GAAG,CAAC,IAAI,IAAI,oBAAoB;gBAChC,GAAG,CAAC,IAAI,IAAI,uBAAuB,EACnC;gBACA,CAAC,GAAG,CAAC,CAAA;gBACL,gBAAgB,EAAE,CAAA;aACnB;iBAAM;gBACL,MAAM,CAAC,GAAG,CAAC,CAAA;aACZ;QACH,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;YACb,qBAAY,CAAC,IAAI,CAAC,eAAe,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;YACrD,oCAAoC;YACpC,CAAC,GAAG,CAAC,CAAA;YACL,gBAAgB,EAAE,CAAA;QACpB,CAAC,CAAC,CAAA;QACF,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,IAAI,CAAC,CAAA;QACf,CAAC,EAAE,GAAG,CAAC,CAAA;IACT,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC;AApED,8CAoEC;AAED,SAAS,gBAAgB;IACvB,UAAU,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;AACzE,CAAC;AAED,IAAI,CAAC,GAAG,CAAC,CAAA;AACT,IAAI,GAAG,GAAG,CAAC,CAAA;AACX,SAAsB,oBAAoB,CACxC,QAAgB,EAChB,QAAuC,EACvC,OAAiB;;QAEjB,GAAG,GAAG,QAAQ,CAAA;QACd,CAAC,EAAE,CAAA;QACH,qBAAY,CAAC,IAAI,CAAC,4BAA4B,CAAC,EAAE,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;QACrE,IAAI;YACF,MAAM,OAAO,CAAC,qBAAqB,EAAE,CAAA;YACrC,qBAAY,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;YAClD,IAAI,QAAQ;gBAAE,QAAQ,EAAE,CAAA;SACzB;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAsB,EAAE;gBACrC,qBAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;gBAC/C,MAAM,IAAA,uBAAc,GAAE,CAAA;aACvB;YACD,qBAAY,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,gBAAO,CAAC,SAAS,CAAC,CAAA;YACnD,UAAU,CAAC,GAAS,EAAE;gBACpB,oBAAoB;gBACpB,IAAI,GAAG,KAAK,QAAQ,EAAE;oBACpB,iDAAiD;oBACjD,MAAM,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;iBACxD;YACH,CAAC,CAAA,EAAE,IAAI,CAAC,CAAA;SACT;IACH,CAAC;CAAA;AA1BD,oDA0BC"} \ No newline at end of file diff --git a/dist/src/network/receive.js b/dist/src/network/receive.js index 5bf44cd63..a6199a69c 100644 --- a/dist/src/network/receive.js +++ b/dist/src/network/receive.js @@ -30,6 +30,7 @@ const proxy_1 = require("../utils/proxy"); const bolt11 = require("@boltz/bolt11"); const config_1 = require("../utils/config"); const logger_1 = require("../utils/logger"); +const sha = require("js-sha256"); const config = (0, config_1.loadConfig)(); /* delete type: @@ -556,14 +557,16 @@ function saveAnonymousKeysend(inv, memo, sender_pubkey, tenant) { const hashCache = {}; function parseKeysendInvoice(i) { return __awaiter(this, void 0, void 0, function* () { - try { - const hash = i.r_hash.toString('base64'); - if (hashCache[hash]) - return; - hashCache[hash] = true; - } - catch (e) { - logger_1.sphinxLogger.error('failed hash cache in parseKeysendInvoice'); + if (Lightning.IS_GREENLIGHT) { + try { + const hash = sha.sha256.hex(JSON.stringify(i)); + if (hashCache[hash]) + return; + hashCache[hash] = true; + } + catch (e) { + logger_1.sphinxLogger.error('failed hash cache in parseKeysendInvoice'); + } } const recs = i.htlcs && i.htlcs[0] && i.htlcs[0].custom_records; let dest = ''; diff --git a/dist/src/network/receive.js.map b/dist/src/network/receive.js.map index 8b7d62314..d7be22ded 100644 --- a/dist/src/network/receive.js.map +++ b/dist/src/network/receive.js.map @@ -1 +1 @@ -{"version":3,"file":"receive.js","sourceRoot":"","sources":["../../../src/network/receive.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"receive.js","sourceRoot":"","sources":["../../../src/network/receive.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/src/tests/controllers/ampPayment.test.js b/dist/src/tests/controllers/ampPayment.test.js new file mode 100644 index 000000000..c626b37fa --- /dev/null +++ b/dist/src/tests/controllers/ampPayment.test.js @@ -0,0 +1,100 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const ava_1 = require("ava"); +const msg_1 = require("../utils/msg"); +const nodes_1 = require("../nodes"); +const save_1 = require("../utils/save"); +ava_1.default.serial('ampMessage: send more sats than one channel can handle to test AMP', (t) => __awaiter(void 0, void 0, void 0, function* () { + t.true(Array.isArray(nodes_1.default)); + yield ampMessage(t, nodes_1.default); +})); +function ampMessage(t, nodes) { + return __awaiter(this, void 0, void 0, function* () { + // node accept-keysend accept-amp + // alice true true + // bob false true + // carol true false + // the 3 nodes have 3 2M channels in total with 1M sats local_balance + // + // A + // 1M / \ 1M + // / \ + // / \ + // 1M / \ 1M + // B---------C + // 1M 1M + // + // Test that alice can send a payment of 1.5M sats to bob + // With only keysend this would not work because she has 2x 1M local_balance + // The payment should be split in 2 shards of 750k sats each + // --- shard of 750k sats ---> C --- forward ---> + // A B + // --------- second shard of 750k sats ---------> + { + const node1 = nodes[0]; + const node2 = nodes[1]; + console.log(`amp payment from ${node1.alias} to ${node2.alias}`); + console.log('adding contact'); + const added = yield (0, save_1.addContact)(t, node1, node2); + t.true(added, 'n1 should add n2 as contact'); + console.log('contact added'); + console.log(`sending payment ${node1.alias} -> ${node2.alias}`); + //NODE1 SENDS PAYMENT TO NODE2 + const amount = 1500000; + const paymentText = 'AMP test 1'; + const payment = yield (0, msg_1.sendPayment)(t, node1, node2, amount, paymentText); + console.log(payment); + t.true(payment, 'payment should be sent'); + console.log(`payment sent ${node1.alias} -> ${node2.alias}`); + } + // Nodes will try to send AMP, but carol doesn't `accept-amp` + // Test a payment of 100k sats from bob to carol + { + const node1 = nodes[1]; + const node2 = nodes[2]; + console.log(`amp payment from ${node1.alias} to ${node2.alias}`); + console.log('adding contact'); + const added = yield (0, save_1.addContact)(t, node1, node2); + t.true(added, 'n1 should add n2 as contact'); + console.log('contact added'); + console.log(`sending payment ${node1.alias} -> ${node2.alias}`); + //NODE1 SENDS PAYMENT TO NODE2 + const amount = 100000; + const paymentText = 'AMP test 2'; + const payment = yield (0, msg_1.sendPayment)(t, node1, node2, amount, paymentText); + console.log(payment); + t.true(payment, 'payment should be sent'); + console.log(`payment sent ${node1.alias} -> ${node2.alias}`); + } + // Carol doesn't `accept-amp`, but that doesn't mean he can't send it + // Test a payment of 1.8M sats from carol to alice + { + const node1 = nodes[2]; + const node2 = nodes[0]; + console.log(`amp payment from ${node1.alias} to ${node2.alias}`); + console.log('adding contact'); + const added = yield (0, save_1.addContact)(t, node1, node2); + t.true(added, 'n1 should add n2 as contact'); + console.log('contact added'); + console.log(`sending payment ${node1.alias} -> ${node2.alias}`); + //NODE1 SENDS PAYMENT TO NODE2 + const amount = 1800000; + const paymentText = 'AMP test 3'; + const payment = yield (0, msg_1.sendPayment)(t, node1, node2, amount, paymentText); + console.log(payment); + t.true(payment, 'payment should be sent'); + console.log(`payment sent ${node1.alias} -> ${node2.alias}`); + } + }); +} +module.exports = ampMessage; +//# sourceMappingURL=ampPayment.test.js.map \ No newline at end of file diff --git a/dist/src/tests/controllers/ampPayment.test.js.map b/dist/src/tests/controllers/ampPayment.test.js.map new file mode 100644 index 000000000..60ea5406a --- /dev/null +++ b/dist/src/tests/controllers/ampPayment.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ampPayment.test.js","sourceRoot":"","sources":["../../../../src/tests/controllers/ampPayment.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/src/tests/utils/get/getCheckMsgs.js b/dist/src/tests/utils/get/getCheckMsgs.js index a551ac4ff..f533cc3d6 100644 --- a/dist/src/tests/utils/get/getCheckMsgs.js +++ b/dist/src/tests/utils/get/getCheckMsgs.js @@ -22,7 +22,10 @@ function getCheckMsgs(_t, node, date, limit, offset, order = 'asc') { exports.getCheckMsgs = getCheckMsgs; function timeout(i, node, date, limit, offset, order, resolve, reject) { return __awaiter(this, void 0, void 0, function* () { - const msgRes = yield http.get(`${node.external_ip}/msgs?date=${date}&limit=${limit}&offset=${offset}&order=${order}`, (0, helpers_1.makeArgs)(node)); + const msgRes = yield http.get(`${node.external_ip}/msgs?date=${date + .toISOString() + .replace(/T/, ' ') + .replace(/\..+/, '')}&limit=${limit}&offset=${offset}&order=${order}`, (0, helpers_1.makeArgs)(node)); if (msgRes.response.new_messages && msgRes.response.new_messages.length) { // console.log('===>', msgRes.response.new_messages ) return resolve(msgRes.response); diff --git a/dist/src/tests/utils/get/getCheckMsgs.js.map b/dist/src/tests/utils/get/getCheckMsgs.js.map index cea3b1243..09ebddfaf 100644 --- a/dist/src/tests/utils/get/getCheckMsgs.js.map +++ b/dist/src/tests/utils/get/getCheckMsgs.js.map @@ -1 +1 @@ -{"version":3,"file":"getCheckMsgs.js","sourceRoot":"","sources":["../../../../../src/tests/utils/get/getCheckMsgs.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAgC;AAChC,wCAAqC;AAIrC,SAAgB,YAAY,CAC1B,EAAc,EACd,IAAgB,EAChB,IAAS,EACT,KAAa,EACb,MAAc,EACd,QAAgB,KAAK;IAErB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,UAAU,CAAC,GAAS,EAAE;YACpB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAC/D,CAAC,CAAA,EAAE,IAAI,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;AACJ,CAAC;AAbD,oCAaC;AAED,SAAe,OAAO,CACpB,CAAS,EACT,IAAgB,EAChB,IAAS,EACT,KAAa,EACb,MAAc,EACd,KAAa,EACb,OAAO,EACP,MAAM;;QAEN,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAC3B,GAAG,IAAI,CAAC,WAAW,cAAc,IAAI,UAAU,KAAK,WAAW,MAAM,UAAU,KAAK,EAAE,EACtF,IAAA,kBAAQ,EAAC,IAAI,CAAC,CACf,CAAA;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE;YACvE,qDAAqD;YACrD,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;SAChC;QACD,IAAI,CAAC,GAAG,EAAE,EAAE;YACV,OAAO,MAAM,CAAC,wBAAwB,CAAC,CAAA;SACxC;QACD,UAAU,CAAC,GAAS,EAAE;YACpB,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QACnE,CAAC,CAAA,EAAE,IAAI,CAAC,CAAA;IACV,CAAC;CAAA"} \ No newline at end of file +{"version":3,"file":"getCheckMsgs.js","sourceRoot":"","sources":["../../../../../src/tests/utils/get/getCheckMsgs.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAgC;AAChC,wCAAqC;AAIrC,SAAgB,YAAY,CAC1B,EAAc,EACd,IAAgB,EAChB,IAAU,EACV,KAAa,EACb,MAAc,EACd,QAAgB,KAAK;IAErB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,UAAU,CAAC,GAAS,EAAE;YACpB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAC/D,CAAC,CAAA,EAAE,IAAI,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;AACJ,CAAC;AAbD,oCAaC;AAED,SAAe,OAAO,CACpB,CAAS,EACT,IAAgB,EAChB,IAAU,EACV,KAAa,EACb,MAAc,EACd,KAAa,EACb,OAAO,EACP,MAAM;;QAEN,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAC3B,GAAG,IAAI,CAAC,WAAW,cAAc,IAAI;aAClC,WAAW,EAAE;aACb,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;aACjB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,KAAK,WAAW,MAAM,UAAU,KAAK,EAAE,EACvE,IAAA,kBAAQ,EAAC,IAAI,CAAC,CACf,CAAA;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE;YACvE,qDAAqD;YACrD,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;SAChC;QACD,IAAI,CAAC,GAAG,EAAE,EAAE;YACV,OAAO,MAAM,CAAC,wBAAwB,CAAC,CAAA;SACxC;QACD,UAAU,CAAC,GAAS,EAAE;YACpB,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QACnE,CAAC,CAAA,EAAE,IAAI,CAAC,CAAA;IACV,CAAC;CAAA"} \ No newline at end of file diff --git a/src/grpc/interfaces.ts b/src/grpc/interfaces.ts index 63e7806a8..20e1b06b8 100644 --- a/src/grpc/interfaces.ts +++ b/src/grpc/interfaces.ts @@ -381,18 +381,20 @@ export function listPeersResponse( return {} } -type DestCustomRecords = { [k: string]: Buffer } +export type DestCustomRecords = { [k: string]: Buffer } +export type FeatureBits = NonNullable export interface KeysendRequest { amt: number final_cltv_delta: number dest: Buffer dest_custom_records: DestCustomRecords - payment_hash: Buffer - dest_features: SendRequest['dest_features'] + payment_hash?: Buffer + dest_features: FeatureBits route_hints?: RouteHint[] fee_limit?: { [k: string]: number } fee_limit_sat?: number timeout_seconds?: number + amp?: boolean } interface GreenlightHop { node_id: Buffer @@ -560,6 +562,7 @@ export interface Invoice { htlcs: InvoiceHTLC[] features: { [k: string]: any } is_keysend: boolean + is_amp: boolean } // eslint-disable-next-line @typescript-eslint/no-empty-interface export interface Payment { diff --git a/src/grpc/lightning.ts b/src/grpc/lightning.ts index 4e2be2af6..5272551dc 100644 --- a/src/grpc/lightning.ts +++ b/src/grpc/lightning.ts @@ -26,7 +26,7 @@ import * as short from 'short-uuid' const config = loadConfig() const LND_IP = config.lnd_ip || 'localhost' const IS_LND = config.lightning_provider === 'LND' -const IS_GREENLIGHT = config.lightning_provider === 'GREENLIGHT' +export const IS_GREENLIGHT = config.lightning_provider === 'GREENLIGHT' const IS_CLN = config.lightning_provider === 'CLN' export const LND_KEYSEND_KEY = 5482373484 @@ -387,8 +387,9 @@ export function keysend( } try { const preimage = crypto.randomBytes(32) - const dest_custom_records = { - [`${LND_KEYSEND_KEY}`]: preimage, + const payment_hash = Buffer.from(sha.sha256.arrayBuffer(preimage)) + const dest_custom_records: interfaces.DestCustomRecords = { + [LND_KEYSEND_KEY]: preimage, } if (opts.extra_tlv) { Object.entries(opts.extra_tlv).forEach(([k, v]) => { @@ -396,18 +397,24 @@ export function keysend( }) } if (opts.data) { - dest_custom_records[`${SPHINX_CUSTOM_RECORD_KEY}`] = Buffer.from( + dest_custom_records[SPHINX_CUSTOM_RECORD_KEY] = Buffer.from( opts.data, 'utf-8' ) } + // feature bits: + // 9: tlv-onion + // 15: payment-addr + // 30: amp (required) + const keysend_features: interfaces.FeatureBits = [9] + const amp_features: interfaces.FeatureBits = [9, 15, 30 as any] const options: interfaces.KeysendRequest = { amt: Math.max(opts.amt, constants.min_sat_amount || 3), final_cltv_delta: constants.final_cltv_delta, dest: Buffer.from(opts.dest, 'hex'), dest_custom_records, - payment_hash: Buffer.from(sha.sha256.arrayBuffer(preimage)), - dest_features: [9], + payment_hash, + dest_features: keysend_features, } // add in route hints if (opts.route_hint && opts.route_hint.includes(':')) { @@ -463,25 +470,57 @@ export function keysend( } }) } else { - // console.log("SEND sendPaymentV2", options) - // new sendPayment (with optional route hints) + delete options.payment_hash + delete dest_custom_records[LND_KEYSEND_KEY] + options.dest_features = amp_features + options.amp = true + options.fee_limit_sat = FEE_LIMIT_SAT options.timeout_seconds = 16 const router = loadRouter() const call = router.sendPaymentV2(options) - call.on('data', function (payment) { - const state = payment.status || payment.state + call.on('data', async function (payment) { + const ampState: string = payment.status || payment.state if (payment.payment_error) { reject(payment.payment_error) } else { - if (state === 'IN_FLIGHT') { - // do nothing - } else if (state === 'FAILED_NO_ROUTE') { - reject(payment.failure_reason || payment) - } else if (state === 'FAILED') { - reject(payment.failure_reason || payment) - } else if (state === 'SUCCEEDED') { + if (ampState === 'SUCCEEDED') { resolve(payment) + } else if (ampState !== 'IN_FLIGHT') { + sphinxLogger.debug( + `AMP ${ampState}, trying keysend`, + logging.Lightning + ) + await new Promise((resolve, reject) => + router.resetMissionControl({}, (err) => + err ? reject(err) : resolve() + ) + ) + // restore options + options.payment_hash = payment_hash + options.dest_custom_records[LND_KEYSEND_KEY] = preimage + options.dest_features = keysend_features + delete options.amp + const call = router.sendPaymentV2(options) + call.on('data', function (payment) { + const keysendState: string = payment.status || payment.state + if (payment.payment_error) { + reject(payment.payment_error) + } else { + if (keysendState === 'SUCCEEDED') { + resolve(payment) + } else if (keysendState !== 'IN_FLIGHT') { + sphinxLogger.debug( + `AMP ${ampState} and keysend ${keysendState}`, + logging.Lightning + ) + reject(payment.failure_reason || payment) + } + } + }) + call.on('error', function (err) { + reject(err) + }) } } }) diff --git a/src/grpc/subscribe.ts b/src/grpc/subscribe.ts index d5e9e2b43..76583c3db 100644 --- a/src/grpc/subscribe.ts +++ b/src/grpc/subscribe.ts @@ -1,4 +1,4 @@ -import { loadLightning } from './lightning' +import { loadLightning, SPHINX_CUSTOM_RECORD_KEY } from './lightning' import * as network from '../network' import { tryToUnlockLND } from '../utils/unlock' import { receiveNonKeysend } from './regular' @@ -31,7 +31,13 @@ export function subscribeInvoices( return } // console.log("IS KEYSEND", inv.is_keysend) - if (inv.is_keysend) { + if ( + (inv.htlcs && + inv.htlcs[0] && + inv.htlcs[0].custom_records && + SPHINX_CUSTOM_RECORD_KEY in inv.htlcs[0].custom_records) || + inv.is_keysend + ) { parseKeysendInvoice(inv) } else { receiveNonKeysend(inv) diff --git a/src/network/receive.ts b/src/network/receive.ts index 5c7e183d5..4d7cc54e0 100644 --- a/src/network/receive.ts +++ b/src/network/receive.ts @@ -34,6 +34,7 @@ import * as bolt11 from '@boltz/bolt11' import { loadConfig } from '../utils/config' import { sphinxLogger, logging } from '../utils/logger' import { Payload, AdminPayload } from './interfaces' +import * as sha from 'js-sha256' const config = loadConfig() /* @@ -600,12 +601,14 @@ const hashCache: { [k: string]: boolean } = {} export async function parseKeysendInvoice( i: interfaces.Invoice ): Promise { - try { - const hash = i.r_hash.toString('base64') - if (hashCache[hash]) return - hashCache[hash] = true - } catch (e) { - sphinxLogger.error('failed hash cache in parseKeysendInvoice') + if (Lightning.IS_GREENLIGHT) { + try { + const hash = sha.sha256.hex(JSON.stringify(i)) + if (hashCache[hash]) return + hashCache[hash] = true + } catch (e) { + sphinxLogger.error('failed hash cache in parseKeysendInvoice') + } } const recs = i.htlcs && i.htlcs[0] && i.htlcs[0].custom_records diff --git a/src/tests/controllers/ampPayment.test.ts b/src/tests/controllers/ampPayment.test.ts new file mode 100644 index 000000000..1401c22cc --- /dev/null +++ b/src/tests/controllers/ampPayment.test.ts @@ -0,0 +1,115 @@ +import test, { ExecutionContext } from 'ava' +import { sendPayment } from '../utils/msg' +import nodes from '../nodes' +import { addContact } from '../utils/save' +import { NodeConfig } from '../types' + +/* + npx ava src/tests/controllers/ampPayment.test.ts --verbose --serial --timeout=2m +*/ + +interface Context {} + +test.serial( + 'ampMessage: send more sats than one channel can handle to test AMP', + async (t: ExecutionContext) => { + t.true(Array.isArray(nodes)) + await ampMessage(t, nodes) + } +) + +async function ampMessage(t: ExecutionContext, nodes: NodeConfig[]) { + // node accept-keysend accept-amp + // alice true true + // bob false true + // carol true false + + // the 3 nodes have 3 2M channels in total with 1M sats local_balance + // + // A + // 1M / \ 1M + // / \ + // / \ + // 1M / \ 1M + // B---------C + // 1M 1M + // + + // Test that alice can send a payment of 1.5M sats to bob + // With only keysend this would not work because she has 2x 1M local_balance + // The payment should be split in 2 shards of 750k sats each + // --- shard of 750k sats ---> C --- forward ---> + // A B + // --------- second shard of 750k sats ---------> + + { + const node1 = nodes[0] + const node2 = nodes[1] + + console.log(`amp payment from ${node1.alias} to ${node2.alias}`) + + console.log('adding contact') + const added = await addContact(t, node1, node2) + t.true(added, 'n1 should add n2 as contact') + console.log('contact added') + + console.log(`sending payment ${node1.alias} -> ${node2.alias}`) + //NODE1 SENDS PAYMENT TO NODE2 + const amount = 1500000 + const paymentText = 'AMP test 1' + const payment = await sendPayment(t, node1, node2, amount, paymentText) + console.log(payment) + t.true(payment, 'payment should be sent') + console.log(`payment sent ${node1.alias} -> ${node2.alias}`) + } + + // Nodes will try to send AMP, but carol doesn't `accept-amp` + // Test a payment of 100k sats from bob to carol + + { + const node1 = nodes[1] + const node2 = nodes[2] + + console.log(`amp payment from ${node1.alias} to ${node2.alias}`) + + console.log('adding contact') + const added = await addContact(t, node1, node2) + t.true(added, 'n1 should add n2 as contact') + console.log('contact added') + + console.log(`sending payment ${node1.alias} -> ${node2.alias}`) + //NODE1 SENDS PAYMENT TO NODE2 + const amount = 100000 + const paymentText = 'AMP test 2' + const payment = await sendPayment(t, node1, node2, amount, paymentText) + console.log(payment) + t.true(payment, 'payment should be sent') + console.log(`payment sent ${node1.alias} -> ${node2.alias}`) + } + + // Carol doesn't `accept-amp`, but that doesn't mean he can't send it + // Test a payment of 1.8M sats from carol to alice + + { + const node1 = nodes[2] + const node2 = nodes[0] + + console.log(`amp payment from ${node1.alias} to ${node2.alias}`) + + console.log('adding contact') + const added = await addContact(t, node1, node2) + t.true(added, 'n1 should add n2 as contact') + console.log('contact added') + + console.log(`sending payment ${node1.alias} -> ${node2.alias}`) + //NODE1 SENDS PAYMENT TO NODE2 + const amount = 1800000 + const paymentText = 'AMP test 3' + const payment = await sendPayment(t, node1, node2, amount, paymentText) + console.log(payment) + t.true(payment, 'payment should be sent') + console.log(`payment sent ${node1.alias} -> ${node2.alias}`) + } +} + +module.exports = ampMessage diff --git a/src/tests/utils/get/getCheckMsgs.ts b/src/tests/utils/get/getCheckMsgs.ts index df223d047..2800e2212 100644 --- a/src/tests/utils/get/getCheckMsgs.ts +++ b/src/tests/utils/get/getCheckMsgs.ts @@ -6,7 +6,7 @@ import { Assertions } from 'ava' export function getCheckMsgs( _t: Assertions, node: NodeConfig, - date: any, + date: Date, limit: number, offset: number, order: string = 'asc' @@ -21,7 +21,7 @@ export function getCheckMsgs( async function timeout( i: number, node: NodeConfig, - date: any, + date: Date, limit: number, offset: number, order: string, @@ -29,7 +29,10 @@ async function timeout( reject ) { const msgRes = await http.get( - `${node.external_ip}/msgs?date=${date}&limit=${limit}&offset=${offset}&order=${order}`, + `${node.external_ip}/msgs?date=${date + .toISOString() + .replace(/T/, ' ') + .replace(/\..+/, '')}&limit=${limit}&offset=${offset}&order=${order}`, makeArgs(node) ) if (msgRes.response.new_messages && msgRes.response.new_messages.length) {