From c050de214affcc25f6ee695961552bba7513d80a Mon Sep 17 00:00:00 2001 From: hatim Date: Mon, 8 May 2023 21:31:05 +0200 Subject: [PATCH] ready for migration --- package-lock.json | 615 ++--- package.json | 5 +- proto/autogenerated/debug.txt | 2208 +++++++++++------ proto/autogenerated/ts/express_server.ts | 123 +- proto/autogenerated/ts/http_client.ts | 113 +- proto/autogenerated/ts/types.ts | 1188 ++++++--- proto/{protoc-gen-pub.exe => protoc-gen-pub} | Bin 8715776 -> 9016350 bytes proto/service/methods.proto | 66 +- proto/service/structs.proto | 75 +- src/auth.ts | 27 +- src/index.spec.ts | 7 +- src/nostrMiddleware.ts | 4 +- src/services/lnd/addInvoiceReq.ts | 2 +- src/services/lnd/index.spec.ts | 2 +- src/services/lnd/index.ts | 14 +- src/services/main/applicationManager.ts | 103 + src/services/main/index.ts | 289 +-- src/services/main/paymentManager.ts | 252 ++ .../main/{product.ts => productManager.ts} | 19 +- src/services/main/settings.ts | 2 + src/services/main/userManager.ts | 41 + src/services/nostr/handler.ts | 66 +- src/services/nostr/index.spec.ts | 4 +- src/services/serverMethods/index.ts | 91 +- src/services/storage/applicationStorage.ts | 78 + src/services/storage/db.ts | 9 +- .../entity/AddressReceivingTransaction.ts | 8 +- src/services/storage/entity/Application.ts | 26 + .../storage/entity/ApplicationUser.ts | 28 + src/services/storage/entity/Product.ts | 8 +- src/services/storage/entity/User.ts | 9 +- src/services/storage/entity/UserBasicAuth.ts | 10 +- .../storage/entity/UserEphemeralKey.ts | 8 +- .../storage/entity/UserInvoicePayment.ts | 8 +- src/services/storage/entity/UserNostrAuth.ts | 10 +- .../storage/entity/UserReceivingAddress.ts | 8 +- .../storage/entity/UserReceivingInvoice.ts | 16 +- .../storage/entity/UserToUserPayment.ts | 32 + .../storage/entity/UserTransactionPayment.ts | 8 +- src/services/storage/index.ts | 250 +- src/services/storage/paymentStorage.ts | 228 ++ src/services/storage/userStorage.ts | 105 + 42 files changed, 3903 insertions(+), 2262 deletions(-) rename proto/{protoc-gen-pub.exe => protoc-gen-pub} (52%) mode change 100644 => 100755 create mode 100644 src/services/main/applicationManager.ts create mode 100644 src/services/main/paymentManager.ts rename src/services/main/{product.ts => productManager.ts} (58%) create mode 100644 src/services/main/userManager.ts create mode 100644 src/services/storage/applicationStorage.ts create mode 100644 src/services/storage/entity/Application.ts create mode 100644 src/services/storage/entity/ApplicationUser.ts create mode 100644 src/services/storage/entity/UserToUserPayment.ts create mode 100644 src/services/storage/paymentStorage.ts create mode 100644 src/services/storage/userStorage.ts diff --git a/package-lock.json b/package-lock.json index 18e3f115..5a6c34cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,7 +28,7 @@ "grpc-tools": "^1.11.2", "jsonwebtoken": "^8.5.1", "lodash": "^4.17.21", - "nostr-tools": "^0.24.1", + "nostr-tools": "^1.9.0", "pg": "^8.4.0", "reflect-metadata": "^0.1.13", "rimraf": "^3.0.2", @@ -48,6 +48,7 @@ "@types/jsonwebtoken": "^8.5.9", "@types/lodash": "^4.14.182", "@types/node": "^16.11.10", + "@types/node-fetch": "^2.6.3", "@types/uuid": "^8.3.4", "nodemon": "^2.0.20", "ts-node": "10.7.0", @@ -130,15 +131,24 @@ "node-pre-gyp": "bin/node-pre-gyp" } }, - "node_modules/@noble/hashes": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-0.5.9.tgz", - "integrity": "sha512-7lN1Qh6d8DUGmfN36XRsbN/WcGIPNtTGhkw26vWId/DlCIGsYJJootTtPGghTLcn/AaXPx2Q0b3cacrwXa7OVw==" + "node_modules/@noble/curves": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.0.0.tgz", + "integrity": "sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "@noble/hashes": "1.3.0" + } }, - "node_modules/@noble/secp256k1": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.0.tgz", - "integrity": "sha512-kbacwGSsH/CTout0ZnZWxnW1B+jH/7r/WAAKLBtrRJ/+CUH7lgmQzl3GTrQua3SGKWNSDsS6lmjnDpIJ5Dxyaw==", + "node_modules/@noble/hashes": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.0.tgz", + "integrity": "sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg==", "funding": [ { "type": "individual", @@ -338,6 +348,48 @@ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" }, + "node_modules/@scure/base": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", + "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] + }, + "node_modules/@scure/bip32": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.0.tgz", + "integrity": "sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "@noble/curves": "~1.0.0", + "@noble/hashes": "~1.3.0", + "@scure/base": "~1.1.0" + } + }, + "node_modules/@scure/bip39": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.0.tgz", + "integrity": "sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "@noble/hashes": "~1.3.0", + "@scure/base": "~1.1.0" + } + }, "node_modules/@sqltools/formatter": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.5.tgz", @@ -472,6 +524,30 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.3.tgz", "integrity": "sha512-jh6m0QUhIRcZpNv7Z/rpN+ZWXOicUUQbSoWks7Htkbb9IjFQj4kzcX/xFCkjstCj5flMsN8FiSvt+q+Tcs4Llg==" }, + "node_modules/@types/node-fetch": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.3.tgz", + "integrity": "sha512-ETTL1mOEdq/sxUtgtOhKjyB2Irra4cjxksvcMUR5Zr4n+PxVhsCD9WS46oPbHL3et9Zde7CNRr+WUNlcHvsX+w==", + "dev": true, + "dependencies": { + "@types/node": "*", + "form-data": "^3.0.0" + } + }, + "node_modules/@types/node-fetch/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/@types/object-hash": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/@types/object-hash/-/object-hash-1.3.4.tgz", @@ -875,6 +951,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "optional": true, "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -884,27 +961,6 @@ "safe-buffer": "^5.0.1" } }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, "node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -944,19 +1000,8 @@ "node_modules/buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" - }, - "node_modules/bufferutil": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", - "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" - } + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "optional": true }, "node_modules/bytes": { "version": "3.1.2", @@ -1086,6 +1131,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "optional": true, "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -1246,6 +1292,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "optional": true, "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -1274,23 +1321,6 @@ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "devOptional": true }, - "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "dependencies": { - "node-fetch": "2.6.7" - } - }, - "node_modules/d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, "node_modules/dataloader": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz", @@ -1348,15 +1378,6 @@ "node": ">= 0.8" } }, - "node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -1546,44 +1567,11 @@ "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", "optional": true }, - "node_modules/es5-ext": { - "version": "0.10.62", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", - "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", - "hasInstallScript": true, - "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, "node_modules/es6-promise": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" }, - "node_modules/es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -1609,6 +1597,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "optional": true, "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -1655,19 +1644,6 @@ "node": ">= 0.10.0" } }, - "node_modules/ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "dependencies": { - "type": "^2.7.2" - } - }, - "node_modules/ext/node_modules/type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" - }, "node_modules/fast-glob": { "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", @@ -1962,6 +1938,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "optional": true, "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -1975,6 +1952,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "optional": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -1988,6 +1966,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "optional": true, "dependencies": { "safe-buffer": "~5.2.0" } @@ -2268,11 +2247,6 @@ "node": ">=0.12.0" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, "node_modules/isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", @@ -2476,6 +2450,7 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "optional": true, "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -2511,33 +2486,6 @@ "node": ">= 0.6" } }, - "node_modules/micro-base": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/micro-base/-/micro-base-0.10.2.tgz", - "integrity": "sha512-lqqJrT7lfJtDmmiQ4zRLZuIJBk96t0RAc5pCrrWpL9zDeH5i/SUL85mku9HqzTI/OCZ8EQ3aicbMW+eK5Nyu5w==", - "deprecated": "Switch to @scure/base for audited version of the lib & updates" - }, - "node_modules/micro-bip32": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/micro-bip32/-/micro-bip32-0.1.0.tgz", - "integrity": "sha512-HxwYJzokbObqPHUqQuzRpCEqZ3EE4uHKrGlLX5ylt0ktD6m9LeS3RkWuQ1HApXEgrGMs3XgykN5Bic2YHE0f6Q==", - "deprecated": "Switch to @scure/bip32 for audited version of the lib & updates", - "dependencies": { - "@noble/hashes": "^0.5.7", - "@noble/secp256k1": "^1.3.4", - "micro-base": "^0.10.1" - } - }, - "node_modules/micro-bip39": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/micro-bip39/-/micro-bip39-0.1.3.tgz", - "integrity": "sha512-lEaRG/MKxFQvG19lfJfPkLIG0rgT28nWud3otN+VgAbrozGqXn2PLaZuYPsy9guQjIZWBTvoLw/HDJQxmMXjMA==", - "deprecated": "Switch to @scure/bip39 for audited version of the lib & updates", - "dependencies": { - "@noble/hashes": "^0.5.5", - "micro-base": "^0.10.1" - } - }, "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -2728,11 +2676,6 @@ "node": ">= 0.6" } }, - "node_modules/next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - }, "node_modules/node-addon-api": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", @@ -2967,19 +2910,15 @@ } }, "node_modules/nostr-tools": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/nostr-tools/-/nostr-tools-0.24.1.tgz", - "integrity": "sha512-+aUWblwNTYra8ZsjmfzxStr4XSKAb0gPsehNP3oBiSouLevqD3FWngc++kh8l+zfMYEPPGS6kS0i9iaq/5ZF6A==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/nostr-tools/-/nostr-tools-1.9.0.tgz", + "integrity": "sha512-ZvFf1uiBqWLWhLBHD2nY0KsdSdNWKb3PrQUmYMWxSzfT4k48cDrDJu2qgULkOhQbFX7oty8IpaKnLvixhqefqA==", "dependencies": { - "@noble/hashes": "^0.5.7", - "@noble/secp256k1": "^1.5.2", - "browserify-cipher": ">=1", - "buffer": ">=5", - "create-hash": "^1.2.0", - "cross-fetch": "^3.1.4", - "micro-bip32": "^0.1.0", - "micro-bip39": "^0.1.3", - "websocket-polyfill": "^0.0.3" + "@noble/curves": "1.0.0", + "@noble/hashes": "1.3.0", + "@scure/base": "1.1.1", + "@scure/bip32": "1.3.0", + "@scure/bip39": "1.2.0" } }, "node_modules/npmlog": { @@ -3428,6 +3367,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "optional": true, "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -4060,16 +4000,6 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" }, - "node_modules/tstl": { - "version": "2.5.13", - "resolved": "https://registry.npmjs.org/tstl/-/tstl-2.5.13.tgz", - "integrity": "sha512-h9wayHHFI5+yqt8iau0vqH96cTNhezhZ/Fk/hrIdpfkiMu3lg9nzyvMfs5bIdX51IVzZO6DudLqhkL/rVXpT6g==" - }, - "node_modules/type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -4090,14 +4020,6 @@ "node": ">= 0.6" } }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, "node_modules/typeorm": { "version": "0.3.10", "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.3.10.tgz", @@ -4317,18 +4239,6 @@ "node": ">=8" } }, - "node_modules/utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -4369,31 +4279,6 @@ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, - "node_modules/websocket": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", - "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", - "dependencies": { - "bufferutil": "^4.0.1", - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "typedarray-to-buffer": "^3.1.5", - "utf-8-validate": "^5.0.2", - "yaeti": "^0.0.6" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/websocket-polyfill": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/websocket-polyfill/-/websocket-polyfill-0.0.3.tgz", - "integrity": "sha512-pF3kR8Uaoau78MpUmFfzbIRxXj9PeQrCuPepGE6JIsfsJ/o/iXr07Q2iQNzKSSblQJ0FiGWlS64N4pVSm+O3Dg==", - "dependencies": { - "tstl": "^2.0.7", - "websocket": "^1.0.28" - } - }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", @@ -4483,14 +4368,6 @@ "node": ">=10" } }, - "node_modules/yaeti": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==", - "engines": { - "node": ">=0.10.32" - } - }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -4590,15 +4467,18 @@ "tar": "^6.1.11" } }, - "@noble/hashes": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-0.5.9.tgz", - "integrity": "sha512-7lN1Qh6d8DUGmfN36XRsbN/WcGIPNtTGhkw26vWId/DlCIGsYJJootTtPGghTLcn/AaXPx2Q0b3cacrwXa7OVw==" + "@noble/curves": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.0.0.tgz", + "integrity": "sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw==", + "requires": { + "@noble/hashes": "1.3.0" + } }, - "@noble/secp256k1": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.0.tgz", - "integrity": "sha512-kbacwGSsH/CTout0ZnZWxnW1B+jH/7r/WAAKLBtrRJ/+CUH7lgmQzl3GTrQua3SGKWNSDsS6lmjnDpIJ5Dxyaw==" + "@noble/hashes": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.0.tgz", + "integrity": "sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg==" }, "@nodelib/fs.scandir": { "version": "2.1.5", @@ -4759,6 +4639,30 @@ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" }, + "@scure/base": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", + "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==" + }, + "@scure/bip32": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.0.tgz", + "integrity": "sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q==", + "requires": { + "@noble/curves": "~1.0.0", + "@noble/hashes": "~1.3.0", + "@scure/base": "~1.1.0" + } + }, + "@scure/bip39": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.0.tgz", + "integrity": "sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg==", + "requires": { + "@noble/hashes": "~1.3.0", + "@scure/base": "~1.1.0" + } + }, "@sqltools/formatter": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.5.tgz", @@ -4890,6 +4794,29 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.3.tgz", "integrity": "sha512-jh6m0QUhIRcZpNv7Z/rpN+ZWXOicUUQbSoWks7Htkbb9IjFQj4kzcX/xFCkjstCj5flMsN8FiSvt+q+Tcs4Llg==" }, + "@types/node-fetch": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.3.tgz", + "integrity": "sha512-ETTL1mOEdq/sxUtgtOhKjyB2Irra4cjxksvcMUR5Zr4n+PxVhsCD9WS46oPbHL3et9Zde7CNRr+WUNlcHvsX+w==", + "dev": true, + "requires": { + "@types/node": "*", + "form-data": "^3.0.0" + }, + "dependencies": { + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, "@types/object-hash": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/@types/object-hash/-/object-hash-1.3.4.tgz", @@ -5211,6 +5138,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "optional": true, "requires": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -5220,27 +5148,6 @@ "safe-buffer": "^5.0.1" } }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, "buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -5263,15 +5170,8 @@ "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" - }, - "bufferutil": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", - "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", - "requires": { - "node-gyp-build": "^4.3.0" - } + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "optional": true }, "bytes": { "version": "3.1.2", @@ -5366,6 +5266,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "optional": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -5491,6 +5392,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "optional": true, "requires": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -5519,23 +5421,6 @@ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "devOptional": true }, - "cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "requires": { - "node-fetch": "2.6.7" - } - }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, "dataloader": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz", @@ -5577,15 +5462,6 @@ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, "destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -5740,40 +5616,11 @@ "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", "optional": true }, - "es5-ext": { - "version": "0.10.62", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", - "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", - "requires": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, "es6-promise": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -5793,6 +5640,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "optional": true, "requires": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -5836,21 +5684,6 @@ "vary": "~1.1.2" } }, - "ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "requires": { - "type": "^2.7.2" - }, - "dependencies": { - "type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" - } - } - }, "fast-glob": { "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", @@ -6059,6 +5892,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "optional": true, "requires": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -6069,6 +5903,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "optional": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -6079,6 +5914,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "optional": true, "requires": { "safe-buffer": "~5.2.0" } @@ -6293,11 +6129,6 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", @@ -6480,6 +6311,7 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "optional": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -6506,30 +6338,6 @@ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" }, - "micro-base": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/micro-base/-/micro-base-0.10.2.tgz", - "integrity": "sha512-lqqJrT7lfJtDmmiQ4zRLZuIJBk96t0RAc5pCrrWpL9zDeH5i/SUL85mku9HqzTI/OCZ8EQ3aicbMW+eK5Nyu5w==" - }, - "micro-bip32": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/micro-bip32/-/micro-bip32-0.1.0.tgz", - "integrity": "sha512-HxwYJzokbObqPHUqQuzRpCEqZ3EE4uHKrGlLX5ylt0ktD6m9LeS3RkWuQ1HApXEgrGMs3XgykN5Bic2YHE0f6Q==", - "requires": { - "@noble/hashes": "^0.5.7", - "@noble/secp256k1": "^1.3.4", - "micro-base": "^0.10.1" - } - }, - "micro-bip39": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/micro-bip39/-/micro-bip39-0.1.3.tgz", - "integrity": "sha512-lEaRG/MKxFQvG19lfJfPkLIG0rgT28nWud3otN+VgAbrozGqXn2PLaZuYPsy9guQjIZWBTvoLw/HDJQxmMXjMA==", - "requires": { - "@noble/hashes": "^0.5.5", - "micro-base": "^0.10.1" - } - }, "micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -6670,11 +6478,6 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" }, - "next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - }, "node-addon-api": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", @@ -6851,19 +6654,15 @@ "dev": true }, "nostr-tools": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/nostr-tools/-/nostr-tools-0.24.1.tgz", - "integrity": "sha512-+aUWblwNTYra8ZsjmfzxStr4XSKAb0gPsehNP3oBiSouLevqD3FWngc++kh8l+zfMYEPPGS6kS0i9iaq/5ZF6A==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/nostr-tools/-/nostr-tools-1.9.0.tgz", + "integrity": "sha512-ZvFf1uiBqWLWhLBHD2nY0KsdSdNWKb3PrQUmYMWxSzfT4k48cDrDJu2qgULkOhQbFX7oty8IpaKnLvixhqefqA==", "requires": { - "@noble/hashes": "^0.5.7", - "@noble/secp256k1": "^1.5.2", - "browserify-cipher": ">=1", - "buffer": ">=5", - "create-hash": "^1.2.0", - "cross-fetch": "^3.1.4", - "micro-bip32": "^0.1.0", - "micro-bip39": "^0.1.3", - "websocket-polyfill": "^0.0.3" + "@noble/curves": "1.0.0", + "@noble/hashes": "1.3.0", + "@scure/base": "1.1.1", + "@scure/bip32": "1.3.0", + "@scure/bip39": "1.2.0" } }, "npmlog": { @@ -7194,6 +6993,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "optional": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -7672,16 +7472,6 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" }, - "tstl": { - "version": "2.5.13", - "resolved": "https://registry.npmjs.org/tstl/-/tstl-2.5.13.tgz", - "integrity": "sha512-h9wayHHFI5+yqt8iau0vqH96cTNhezhZ/Fk/hrIdpfkiMu3lg9nzyvMfs5bIdX51IVzZO6DudLqhkL/rVXpT6g==" - }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, "type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -7696,14 +7486,6 @@ "mime-types": "~2.1.24" } }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, "typeorm": { "version": "0.3.10", "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.3.10.tgz", @@ -7812,14 +7594,6 @@ "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==" }, - "utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "requires": { - "node-gyp-build": "^4.3.0" - } - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -7851,28 +7625,6 @@ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, - "websocket": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", - "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", - "requires": { - "bufferutil": "^4.0.1", - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "typedarray-to-buffer": "^3.1.5", - "utf-8-validate": "^5.0.2", - "yaeti": "^0.0.6" - } - }, - "websocket-polyfill": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/websocket-polyfill/-/websocket-polyfill-0.0.3.tgz", - "integrity": "sha512-pF3kR8Uaoau78MpUmFfzbIRxXj9PeQrCuPepGE6JIsfsJ/o/iXr07Q2iQNzKSSblQJ0FiGWlS64N4pVSm+O3Dg==", - "requires": { - "tstl": "^2.0.7", - "websocket": "^1.0.28" - } - }, "whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", @@ -7938,11 +7690,6 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" }, - "yaeti": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==" - }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", diff --git a/package.json b/package.json index 30b006c4..984ce5b2 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "grpc-tools": "^1.11.2", "jsonwebtoken": "^8.5.1", "lodash": "^4.17.21", - "nostr-tools": "^0.24.1", + "nostr-tools": "^1.9.0", "pg": "^8.4.0", "reflect-metadata": "^0.1.13", "rimraf": "^3.0.2", @@ -63,9 +63,10 @@ "@types/jsonwebtoken": "^8.5.9", "@types/lodash": "^4.14.182", "@types/node": "^16.11.10", + "@types/node-fetch": "^2.6.3", "@types/uuid": "^8.3.4", "nodemon": "^2.0.20", "ts-node": "10.7.0", "typescript": "4.5.2" } -} \ No newline at end of file +} diff --git a/proto/autogenerated/debug.txt b/proto/autogenerated/debug.txt index 367c56e9..135475c0 100644 --- a/proto/autogenerated/debug.txt +++ b/proto/autogenerated/debug.txt @@ -1,5 +1,5 @@ -([]*main.Method) (len=21 cap=32) { - (*main.Method)(0xc0000700a0)({ +([]*main.Method) (len=29 cap=32) { + (*main.Method)(0xc0002ee050)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -9,8 +9,8 @@ name: (string) (len=5) "Empty", hasZeroFields: (bool) true }, - opts: (*main.methodOptions)(0xc0002a0fc0)({ - authType: (*main.supportedAuth)(0xc000031560)({ + opts: (*main.methodOptions)(0xc0002fbaa0)({ + authType: (*main.supportedAuth)(0xc0005452c0)({ id: (string) (len=5) "guest", name: (string) (len=5) "Guest", encrypted: (bool) false, @@ -22,11 +22,10 @@ route: (string) (len=11) "/api/health", params: ([]string) }, - query: ([]string) , - nostr: (bool) false + query: ([]string) }) }), - (*main.Method)(0xc0000700f0)({ + (*main.Method)(0xc0002ee0a0)({ in: (main.MethodMessage) { name: (string) (len=25) "EncryptionExchangeRequest", hasZeroFields: (bool) false @@ -36,8 +35,8 @@ name: (string) (len=5) "Empty", hasZeroFields: (bool) true }, - opts: (*main.methodOptions)(0xc0002a1140)({ - authType: (*main.supportedAuth)(0xc000031620)({ + opts: (*main.methodOptions)(0xc0002fbc20)({ + authType: (*main.supportedAuth)(0xc0005453b0)({ id: (string) (len=5) "guest", name: (string) (len=5) "Guest", encrypted: (bool) false, @@ -49,11 +48,10 @@ route: (string) (len=24) "/api/encryption/exchange", params: ([]string) }, - query: ([]string) , - nostr: (bool) false + query: ([]string) }) }), - (*main.Method)(0xc000070140)({ + (*main.Method)(0xc0002ee460)({ in: (main.MethodMessage) { name: (string) (len=17) "LndGetInfoRequest", hasZeroFields: (bool) false @@ -63,25 +61,240 @@ name: (string) (len=18) "LndGetInfoResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc0002a12c0)({ - authType: (*main.supportedAuth)(0xc0000316b0)({ + opts: (*main.methodOptions)(0xc0002fbda0)({ + authType: (*main.supportedAuth)(0xc000545470)({ id: (string) (len=5) "admin", name: (string) (len=5) "Admin", - encrypted: (bool) true, + encrypted: (bool) false, context: (map[string]string) (len=1) { (string) (len=8) "admin_id": (string) (len=6) "string" } }), method: (string) (len=4) "post", route: (main.decodedRoute) { - route: (string) (len=16) "/api/lnd/getinfo", + route: (string) (len=22) "/api/admin/lnd/getinfo", params: ([]string) }, - query: ([]string) , - nostr: (bool) false + query: ([]string) }) }), - (*main.Method)(0xc000070190)({ + (*main.Method)(0xc0002ee6e0)({ + in: (main.MethodMessage) { + name: (string) (len=13) "AddAppRequest", + hasZeroFields: (bool) false + }, + name: (string) (len=6) "AddApp", + out: (main.MethodMessage) { + name: (string) (len=14) "AddAppResponse", + hasZeroFields: (bool) false + }, + opts: (*main.methodOptions)(0xc0002fbf20)({ + authType: (*main.supportedAuth)(0xc000545530)({ + id: (string) (len=5) "admin", + name: (string) (len=5) "Admin", + encrypted: (bool) false, + context: (map[string]string) (len=1) { + (string) (len=8) "admin_id": (string) (len=6) "string" + } + }), + method: (string) (len=4) "post", + route: (main.decodedRoute) { + route: (string) (len=18) "/api/admin/app/add", + params: ([]string) + }, + query: ([]string) + }) + }), + (*main.Method)(0xc0002ee870)({ + in: (main.MethodMessage) { + name: (string) (len=17) "AddAppUserRequest", + hasZeroFields: (bool) false + }, + name: (string) (len=10) "AddAppUser", + out: (main.MethodMessage) { + name: (string) (len=7) "AppUser", + hasZeroFields: (bool) false + }, + opts: (*main.methodOptions)(0xc0000905a0)({ + authType: (*main.supportedAuth)(0xc0005455f0)({ + id: (string) (len=3) "app", + name: (string) (len=3) "App", + encrypted: (bool) false, + context: (map[string]string) (len=1) { + (string) (len=6) "app_id": (string) (len=6) "string" + } + }), + method: (string) (len=4) "post", + route: (main.decodedRoute) { + route: (string) (len=17) "/api/app/user/add", + params: ([]string) + }, + query: ([]string) + }) + }), + (*main.Method)(0xc0002ee910)({ + in: (main.MethodMessage) { + name: (string) (len=20) "AddAppInvoiceRequest", + hasZeroFields: (bool) false + }, + name: (string) (len=13) "AddAppInvoice", + out: (main.MethodMessage) { + name: (string) (len=18) "NewInvoiceResponse", + hasZeroFields: (bool) false + }, + opts: (*main.methodOptions)(0xc000090780)({ + authType: (*main.supportedAuth)(0xc0005456b0)({ + id: (string) (len=3) "app", + name: (string) (len=3) "App", + encrypted: (bool) false, + context: (map[string]string) (len=1) { + (string) (len=6) "app_id": (string) (len=6) "string" + } + }), + method: (string) (len=4) "post", + route: (main.decodedRoute) { + route: (string) (len=20) "/api/app/add/invoice", + params: ([]string) + }, + query: ([]string) + }) + }), + (*main.Method)(0xc0002ee960)({ + in: (main.MethodMessage) { + name: (string) (len=24) "AddAppUserInvoiceRequest", + hasZeroFields: (bool) false + }, + name: (string) (len=17) "AddAppUserInvoice", + out: (main.MethodMessage) { + name: (string) (len=18) "NewInvoiceResponse", + hasZeroFields: (bool) false + }, + opts: (*main.methodOptions)(0xc000090960)({ + authType: (*main.supportedAuth)(0xc000545770)({ + id: (string) (len=3) "app", + name: (string) (len=3) "App", + encrypted: (bool) false, + context: (map[string]string) (len=1) { + (string) (len=6) "app_id": (string) (len=6) "string" + } + }), + method: (string) (len=4) "post", + route: (main.decodedRoute) { + route: (string) (len=25) "/api/app/user/add/invoice", + params: ([]string) + }, + query: ([]string) + }) + }), + (*main.Method)(0xc0002eea00)({ + in: (main.MethodMessage) { + name: (string) (len=17) "GetAppUserRequest", + hasZeroFields: (bool) false + }, + name: (string) (len=10) "GetAppUser", + out: (main.MethodMessage) { + name: (string) (len=7) "AppUser", + hasZeroFields: (bool) false + }, + opts: (*main.methodOptions)(0xc000090ae0)({ + authType: (*main.supportedAuth)(0xc000545830)({ + id: (string) (len=3) "app", + name: (string) (len=3) "App", + encrypted: (bool) false, + context: (map[string]string) (len=1) { + (string) (len=6) "app_id": (string) (len=6) "string" + } + }), + method: (string) (len=4) "post", + route: (main.decodedRoute) { + route: (string) (len=17) "/api/app/user/get", + params: ([]string) + }, + query: ([]string) + }) + }), + (*main.Method)(0xc0002eeaa0)({ + in: (main.MethodMessage) { + name: (string) (len=24) "PayAppUserInvoiceRequest", + hasZeroFields: (bool) false + }, + name: (string) (len=17) "PayAppUserInvoice", + out: (main.MethodMessage) { + name: (string) (len=25) "PayAppUserInvoiceResponse", + hasZeroFields: (bool) false + }, + opts: (*main.methodOptions)(0xc000090c60)({ + authType: (*main.supportedAuth)(0xc0005458f0)({ + id: (string) (len=3) "app", + name: (string) (len=3) "App", + encrypted: (bool) false, + context: (map[string]string) (len=1) { + (string) (len=6) "app_id": (string) (len=6) "string" + } + }), + method: (string) (len=4) "post", + route: (main.decodedRoute) { + route: (string) (len=20) "/api/app/invoice/pay", + params: ([]string) + }, + query: ([]string) + }) + }), + (*main.Method)(0xc0002eeaf0)({ + in: (main.MethodMessage) { + name: (string) (len=34) "SendAppUserToAppUserPaymentRequest", + hasZeroFields: (bool) false + }, + name: (string) (len=27) "SendAppUserToAppUserPayment", + out: (main.MethodMessage) { + name: (string) (len=5) "Empty", + hasZeroFields: (bool) true + }, + opts: (*main.methodOptions)(0xc000090e40)({ + authType: (*main.supportedAuth)(0xc0005459b0)({ + id: (string) (len=3) "app", + name: (string) (len=3) "App", + encrypted: (bool) false, + context: (map[string]string) (len=1) { + (string) (len=6) "app_id": (string) (len=6) "string" + } + }), + method: (string) (len=4) "post", + route: (main.decodedRoute) { + route: (string) (len=26) "/api/app/user/internal/pay", + params: ([]string) + }, + query: ([]string) + }) + }), + (*main.Method)(0xc0002eeb90)({ + in: (main.MethodMessage) { + name: (string) (len=30) "SendAppUserToAppPaymentRequest", + hasZeroFields: (bool) false + }, + name: (string) (len=23) "SendAppUserToAppPayment", + out: (main.MethodMessage) { + name: (string) (len=5) "Empty", + hasZeroFields: (bool) true + }, + opts: (*main.methodOptions)(0xc000091020)({ + authType: (*main.supportedAuth)(0xc000545a70)({ + id: (string) (len=3) "app", + name: (string) (len=3) "App", + encrypted: (bool) false, + context: (map[string]string) (len=1) { + (string) (len=6) "app_id": (string) (len=6) "string" + } + }), + method: (string) (len=4) "post", + route: (main.decodedRoute) { + route: (string) (len=21) "/api/app/internal/pay", + params: ([]string) + }, + query: ([]string) + }) + }), + (*main.Method)(0xc0002eebe0)({ in: (main.MethodMessage) { name: (string) (len=14) "AddUserRequest", hasZeroFields: (bool) false @@ -91,8 +304,8 @@ name: (string) (len=15) "AddUserResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc0002a1440)({ - authType: (*main.supportedAuth)(0xc000031740)({ + opts: (*main.methodOptions)(0xc000091200)({ + authType: (*main.supportedAuth)(0xc000545b30)({ id: (string) (len=5) "guest", name: (string) (len=5) "Guest", encrypted: (bool) false, @@ -104,11 +317,10 @@ route: (string) (len=13) "/api/user/add", params: ([]string) }, - query: ([]string) , - nostr: (bool) false + query: ([]string) }) }), - (*main.Method)(0xc0000701e0)({ + (*main.Method)(0xc0002eec30)({ in: (main.MethodMessage) { name: (string) (len=15) "AuthUserRequest", hasZeroFields: (bool) false @@ -118,8 +330,8 @@ name: (string) (len=16) "AuthUserResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc0002a15c0)({ - authType: (*main.supportedAuth)(0xc0000317d0)({ + opts: (*main.methodOptions)(0xc000091380)({ + authType: (*main.supportedAuth)(0xc000545bf0)({ id: (string) (len=5) "guest", name: (string) (len=5) "Guest", encrypted: (bool) false, @@ -131,11 +343,10 @@ route: (string) (len=14) "/api/user/auth", params: ([]string) }, - query: ([]string) , - nostr: (bool) false + query: ([]string) }) }), - (*main.Method)(0xc000070230)({ + (*main.Method)(0xc0002eec80)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -145,8 +356,8 @@ name: (string) (len=8) "UserInfo", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc0002a17a0)({ - authType: (*main.supportedAuth)(0xc000031890)({ + opts: (*main.methodOptions)(0xc00054c060)({ + authType: (*main.supportedAuth)(0xc000545ce0)({ id: (string) (len=4) "user", name: (string) (len=4) "User", encrypted: (bool) false, @@ -159,11 +370,10 @@ route: (string) (len=14) "/api/user/info", params: ([]string) }, - query: ([]string) , - nostr: (bool) true + query: ([]string) }) }), - (*main.Method)(0xc0000702d0)({ + (*main.Method)(0xc0002eed20)({ in: (main.MethodMessage) { name: (string) (len=17) "AddProductRequest", hasZeroFields: (bool) false @@ -173,8 +383,8 @@ name: (string) (len=7) "Product", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc0002a1980)({ - authType: (*main.supportedAuth)(0xc000031920)({ + opts: (*main.methodOptions)(0xc00054c240)({ + authType: (*main.supportedAuth)(0xc000545da0)({ id: (string) (len=4) "user", name: (string) (len=4) "User", encrypted: (bool) false, @@ -187,11 +397,10 @@ route: (string) (len=21) "/api/user/product/add", params: ([]string) }, - query: ([]string) , - nostr: (bool) true + query: ([]string) }) }), - (*main.Method)(0xc000070320)({ + (*main.Method)(0xc0002eed70)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -201,8 +410,8 @@ name: (string) (len=18) "NewInvoiceResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc0002a1e00)({ - authType: (*main.supportedAuth)(0xc000031a40)({ + opts: (*main.methodOptions)(0xc00054c6c0)({ + authType: (*main.supportedAuth)(0xc000545ef0)({ id: (string) (len=4) "user", name: (string) (len=4) "User", encrypted: (bool) false, @@ -217,11 +426,10 @@ }, query: ([]string) (len=1 cap=1) { (string) (len=2) "id" - }, - nostr: (bool) true + } }) }), - (*main.Method)(0xc000070370)({ + (*main.Method)(0xc0002eedc0)({ in: (main.MethodMessage) { name: (string) (len=24) "GetUserOperationsRequest", hasZeroFields: (bool) false @@ -231,8 +439,8 @@ name: (string) (len=25) "GetUserOperationsResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc0000360c0)({ - authType: (*main.supportedAuth)(0xc000031ad0)({ + opts: (*main.methodOptions)(0xc00054c8a0)({ + authType: (*main.supportedAuth)(0xc000545fb0)({ id: (string) (len=4) "user", name: (string) (len=4) "User", encrypted: (bool) false, @@ -245,11 +453,10 @@ route: (string) (len=20) "/api/user/operations", params: ([]string) }, - query: ([]string) , - nostr: (bool) true + query: ([]string) }) }), - (*main.Method)(0xc000070410)({ + (*main.Method)(0xc0002eee60)({ in: (main.MethodMessage) { name: (string) (len=17) "NewAddressRequest", hasZeroFields: (bool) false @@ -259,8 +466,8 @@ name: (string) (len=18) "NewAddressResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc0000362a0)({ - authType: (*main.supportedAuth)(0xc000031b60)({ + opts: (*main.methodOptions)(0xc00054ca80)({ + authType: (*main.supportedAuth)(0xc00054e090)({ id: (string) (len=4) "user", name: (string) (len=4) "User", encrypted: (bool) false, @@ -273,11 +480,10 @@ route: (string) (len=19) "/api/user/chain/new", params: ([]string) }, - query: ([]string) , - nostr: (bool) true + query: ([]string) }) }), - (*main.Method)(0xc0000704b0)({ + (*main.Method)(0xc0002eef00)({ in: (main.MethodMessage) { name: (string) (len=17) "PayAddressRequest", hasZeroFields: (bool) false @@ -287,8 +493,8 @@ name: (string) (len=18) "PayAddressResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000036480)({ - authType: (*main.supportedAuth)(0xc000031bf0)({ + opts: (*main.methodOptions)(0xc00054cc60)({ + authType: (*main.supportedAuth)(0xc00054e150)({ id: (string) (len=4) "user", name: (string) (len=4) "User", encrypted: (bool) false, @@ -301,11 +507,10 @@ route: (string) (len=19) "/api/user/chain/pay", params: ([]string) }, - query: ([]string) , - nostr: (bool) true + query: ([]string) }) }), - (*main.Method)(0xc000070550)({ + (*main.Method)(0xc0002eefa0)({ in: (main.MethodMessage) { name: (string) (len=17) "NewInvoiceRequest", hasZeroFields: (bool) false @@ -315,8 +520,8 @@ name: (string) (len=18) "NewInvoiceResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000036660)({ - authType: (*main.supportedAuth)(0xc000031c80)({ + opts: (*main.methodOptions)(0xc00054ce40)({ + authType: (*main.supportedAuth)(0xc00054e210)({ id: (string) (len=4) "user", name: (string) (len=4) "User", encrypted: (bool) false, @@ -329,11 +534,10 @@ route: (string) (len=21) "/api/user/invoice/new", params: ([]string) }, - query: ([]string) , - nostr: (bool) true + query: ([]string) }) }), - (*main.Method)(0xc0000705f0)({ + (*main.Method)(0xc0002ef040)({ in: (main.MethodMessage) { name: (string) (len=20) "DecodeInvoiceRequest", hasZeroFields: (bool) false @@ -343,8 +547,8 @@ name: (string) (len=21) "DecodeInvoiceResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000036840)({ - authType: (*main.supportedAuth)(0xc000031d10)({ + opts: (*main.methodOptions)(0xc00054d020)({ + authType: (*main.supportedAuth)(0xc00054e2d0)({ id: (string) (len=4) "user", name: (string) (len=4) "User", encrypted: (bool) false, @@ -357,11 +561,10 @@ route: (string) (len=24) "/api/user/invoice/decode", params: ([]string) }, - query: ([]string) , - nostr: (bool) true + query: ([]string) }) }), - (*main.Method)(0xc000070690)({ + (*main.Method)(0xc0002ef0e0)({ in: (main.MethodMessage) { name: (string) (len=17) "PayInvoiceRequest", hasZeroFields: (bool) false @@ -371,8 +574,8 @@ name: (string) (len=18) "PayInvoiceResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000036a20)({ - authType: (*main.supportedAuth)(0xc000031da0)({ + opts: (*main.methodOptions)(0xc00054d200)({ + authType: (*main.supportedAuth)(0xc00054e390)({ id: (string) (len=4) "user", name: (string) (len=4) "User", encrypted: (bool) false, @@ -385,11 +588,10 @@ route: (string) (len=21) "/api/user/invoice/pay", params: ([]string) }, - query: ([]string) , - nostr: (bool) true + query: ([]string) }) }), - (*main.Method)(0xc000070730)({ + (*main.Method)(0xc0002ef180)({ in: (main.MethodMessage) { name: (string) (len=18) "OpenChannelRequest", hasZeroFields: (bool) false @@ -399,8 +601,8 @@ name: (string) (len=19) "OpenChannelResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000036c00)({ - authType: (*main.supportedAuth)(0xc000031e30)({ + opts: (*main.methodOptions)(0xc00054d3e0)({ + authType: (*main.supportedAuth)(0xc00054e450)({ id: (string) (len=4) "user", name: (string) (len=4) "User", encrypted: (bool) false, @@ -413,11 +615,10 @@ route: (string) (len=22) "/api/user/open/channel", params: ([]string) }, - query: ([]string) , - nostr: (bool) true + query: ([]string) }) }), - (*main.Method)(0xc0000707d0)({ + (*main.Method)(0xc0002ef220)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -427,8 +628,8 @@ name: (string) (len=17) "LnurlLinkResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000036de0)({ - authType: (*main.supportedAuth)(0xc000031ec0)({ + opts: (*main.methodOptions)(0xc00054d5c0)({ + authType: (*main.supportedAuth)(0xc00054e510)({ id: (string) (len=4) "user", name: (string) (len=4) "User", encrypted: (bool) false, @@ -441,11 +642,10 @@ route: (string) (len=29) "/api/user/lnurl_withdraw/link", params: ([]string) }, - query: ([]string) , - nostr: (bool) true + query: ([]string) }) }), - (*main.Method)(0xc000070870)({ + (*main.Method)(0xc0002ef2c0)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -455,8 +655,8 @@ name: (string) (len=25) "LnurlWithdrawInfoResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000037140)({ - authType: (*main.supportedAuth)(0xc000422090)({ + opts: (*main.methodOptions)(0xc00054d920)({ + authType: (*main.supportedAuth)(0xc00054e660)({ id: (string) (len=5) "guest", name: (string) (len=5) "Guest", encrypted: (bool) false, @@ -470,11 +670,10 @@ }, query: ([]string) (len=1 cap=1) { (string) (len=2) "k1" - }, - nostr: (bool) false + } }) }), - (*main.Method)(0xc000070910)({ + (*main.Method)(0xc0002ef360)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -484,8 +683,8 @@ name: (string) (len=5) "Empty", hasZeroFields: (bool) true }, - opts: (*main.methodOptions)(0xc0000374a0)({ - authType: (*main.supportedAuth)(0xc0004221e0)({ + opts: (*main.methodOptions)(0xc00054dc80)({ + authType: (*main.supportedAuth)(0xc00054e7e0)({ id: (string) (len=5) "guest", name: (string) (len=5) "Guest", encrypted: (bool) false, @@ -500,11 +699,10 @@ query: ([]string) (len=2 cap=2) { (string) (len=2) "k1", (string) (len=2) "pr" - }, - nostr: (bool) false + } }) }), - (*main.Method)(0xc0000709b0)({ + (*main.Method)(0xc0002ef400)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -514,8 +712,8 @@ name: (string) (len=20) "LnurlPayInfoResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000037800)({ - authType: (*main.supportedAuth)(0xc000422300)({ + opts: (*main.methodOptions)(0xc000552000)({ + authType: (*main.supportedAuth)(0xc00054e930)({ id: (string) (len=5) "guest", name: (string) (len=5) "Guest", encrypted: (bool) false, @@ -529,11 +727,10 @@ }, query: ([]string) (len=1 cap=1) { (string) (len=2) "k1" - }, - nostr: (bool) false + } }) }), - (*main.Method)(0xc000070a50)({ + (*main.Method)(0xc0002ef4a0)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -543,8 +740,8 @@ name: (string) (len=22) "HandleLnurlPayResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000037b60)({ - authType: (*main.supportedAuth)(0xc000422450)({ + opts: (*main.methodOptions)(0xc000552360)({ + authType: (*main.supportedAuth)(0xc00054eab0)({ id: (string) (len=5) "guest", name: (string) (len=5) "Guest", encrypted: (bool) false, @@ -559,11 +756,10 @@ query: ([]string) (len=2 cap=2) { (string) (len=2) "k1", (string) (len=6) "amount" - }, - nostr: (bool) false + } }) }), - (*main.Method)(0xc000070af0)({ + (*main.Method)(0xc0002ef540)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -573,8 +769,8 @@ name: (string) (len=17) "LnurlLinkResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000037d40)({ - authType: (*main.supportedAuth)(0xc0004224e0)({ + opts: (*main.methodOptions)(0xc000552540)({ + authType: (*main.supportedAuth)(0xc00054eb70)({ id: (string) (len=4) "user", name: (string) (len=4) "User", encrypted: (bool) false, @@ -587,14 +783,13 @@ route: (string) (len=27) "/api/user/lnurl_channel/url", params: ([]string) }, - query: ([]string) , - nostr: (bool) true + query: ([]string) }) }) } ([]*main.Enum) (len=2 cap=2) { - (*main.Enum)(0xc000030de0)({ + (*main.Enum)(0xc0005449c0)({ name: (string) (len=11) "AddressType", values: ([]main.EnumValue) (len=3 cap=4) { (main.EnumValue) { @@ -611,9 +806,9 @@ } } }), - (*main.Enum)(0xc000030e40)({ + (*main.Enum)(0xc000544a20)({ name: (string) (len=17) "UserOperationType", - values: ([]main.EnumValue) (len=4 cap=4) { + values: ([]main.EnumValue) (len=6 cap=8) { (main.EnumValue) { number: (int64) 0, name: (string) (len=11) "INCOMING_TX" @@ -629,215 +824,25 @@ (main.EnumValue) { number: (int64) 3, name: (string) (len=16) "OUTGOING_INVOICE" + }, + (main.EnumValue) { + number: (int64) 4, + name: (string) (len=21) "OUTGOING_USER_TO_USER" + }, + (main.EnumValue) { + number: (int64) 5, + name: (string) (len=21) "INCOMING_USER_TO_USER" } } }) } -(map[string]*main.Message) (len=32) { - (string) (len=15) "AddUserResponse": (*main.Message)(0xc000215280)({ - fullName: (string) (len=15) "AddUserResponse", - name: (string) (len=15) "AddUserResponse", - fields: ([]*main.Field) (len=2 cap=2) { - (*main.Field)(0xc000030840)({ - name: (string) (len=6) "userId", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030870)({ - name: (string) (len=9) "authToken", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=16) "AuthUserResponse": (*main.Message)(0xc000215300)({ - fullName: (string) (len=16) "AuthUserResponse", - name: (string) (len=16) "AuthUserResponse", - fields: ([]*main.Field) (len=2 cap=2) { - (*main.Field)(0xc000030900)({ - name: (string) (len=6) "userId", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030930)({ - name: (string) (len=9) "authToken", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=25) "GetUserOperationsResponse": (*main.Message)(0xc000215440)({ - fullName: (string) (len=25) "GetUserOperationsResponse", - name: (string) (len=25) "GetUserOperationsResponse", - fields: ([]*main.Field) (len=4 cap=4) { - (*main.Field)(0xc000030bd0)({ - name: (string) (len=31) "latestOutgoingInvoiceOperations", - kind: (string) (len=14) "UserOperations", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) true, - isOptional: (bool) false - }), - (*main.Field)(0xc000030c00)({ - name: (string) (len=31) "latestIncomingInvoiceOperations", - kind: (string) (len=14) "UserOperations", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) true, - isOptional: (bool) false - }), - (*main.Field)(0xc000030c30)({ - name: (string) (len=26) "latestOutgoingTxOperations", - kind: (string) (len=14) "UserOperations", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) true, - isOptional: (bool) false - }), - (*main.Field)(0xc000030c60)({ - name: (string) (len=26) "latestIncomingTxOperations", - kind: (string) (len=14) "UserOperations", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) true, - isOptional: (bool) false - }) - } - }), - (string) (len=17) "LndGetInfoRequest": (*main.Message)(0xc000214580)({ - fullName: (string) (len=17) "LndGetInfoRequest", - name: (string) (len=17) "LndGetInfoRequest", - fields: ([]*main.Field) (len=1 cap=1) { - (*main.Field)(0xc000030090)({ - name: (string) (len=6) "nodeId", - kind: (string) (len=5) "int64", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=18) "LndGetInfoResponse": (*main.Message)(0xc0002145c0)({ - fullName: (string) (len=18) "LndGetInfoResponse", - name: (string) (len=18) "LndGetInfoResponse", - fields: ([]*main.Field) (len=1 cap=1) { - (*main.Field)(0xc0000300c0)({ - name: (string) (len=5) "alias", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=25) "LnurlWithdrawInfoResponse": (*main.Message)(0xc000214ec0)({ - fullName: (string) (len=25) "LnurlWithdrawInfoResponse", - name: (string) (len=25) "LnurlWithdrawInfoResponse", - fields: ([]*main.Field) (len=8 cap=8) { - (*main.Field)(0xc0000304e0)({ - name: (string) (len=3) "tag", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030510)({ - name: (string) (len=8) "callback", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030540)({ - name: (string) (len=2) "k1", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030570)({ - name: (string) (len=18) "defaultDescription", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc0000305a0)({ - name: (string) (len=15) "minWithdrawable", - kind: (string) (len=5) "int64", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc0000305d0)({ - name: (string) (len=15) "maxWithdrawable", - kind: (string) (len=5) "int64", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030600)({ - name: (string) (len=12) "balanceCheck", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030630)({ - name: (string) (len=7) "payLink", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=25) "GetProductBuyLinkResponse": (*main.Message)(0xc000215500)({ +(map[string]*main.Message) (len=43) { + (string) (len=25) "GetProductBuyLinkResponse": (*main.Message)(0xc00013adc0)({ fullName: (string) (len=25) "GetProductBuyLinkResponse", name: (string) (len=25) "GetProductBuyLinkResponse", fields: ([]*main.Field) (len=1 cap=1) { - (*main.Field)(0xc000030d80)({ + (*main.Field)(0xc000544960)({ name: (string) (len=4) "link", kind: (string) (len=6) "string", isMap: (bool) false, @@ -848,21 +853,12 @@ }) } }), - (string) (len=17) "PayInvoiceRequest": (*main.Message)(0xc000214c40)({ - fullName: (string) (len=17) "PayInvoiceRequest", - name: (string) (len=17) "PayInvoiceRequest", - fields: ([]*main.Field) (len=2 cap=2) { - (*main.Field)(0xc000030300)({ - name: (string) (len=7) "invoice", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030330)({ - name: (string) (len=6) "amount", + (string) (len=17) "LndGetInfoRequest": (*main.Message)(0xc00013a2c0)({ + fullName: (string) (len=17) "LndGetInfoRequest", + name: (string) (len=17) "LndGetInfoRequest", + fields: ([]*main.Field) (len=1 cap=1) { + (*main.Field)(0xc0000a5890)({ + name: (string) (len=6) "nodeId", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -872,86 +868,11 @@ }) } }), - (string) (len=14) "AddUserRequest": (*main.Message)(0xc000215240)({ - fullName: (string) (len=14) "AddUserRequest", - name: (string) (len=14) "AddUserRequest", - fields: ([]*main.Field) (len=3 cap=4) { - (*main.Field)(0xc0000307b0)({ - name: (string) (len=11) "callbackUrl", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc0000307e0)({ - name: (string) (len=4) "name", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030810)({ - name: (string) (len=6) "secret", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=13) "UserOperation": (*main.Message)(0xc0002153c0)({ - fullName: (string) (len=13) "UserOperation", - name: (string) (len=13) "UserOperation", - fields: ([]*main.Field) (len=4 cap=4) { - (*main.Field)(0xc000030a80)({ - name: (string) (len=10) "paidAtUnix", - kind: (string) (len=5) "int64", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030ab0)({ - name: (string) (len=4) "type", - kind: (string) (len=17) "UserOperationType", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) true, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030ae0)({ - name: (string) (len=7) "inbound", - kind: (string) (len=4) "bool", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030b10)({ - name: (string) (len=6) "amount", - kind: (string) (len=5) "int64", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=17) "NewAddressRequest": (*main.Message)(0xc000214880)({ + (string) (len=17) "NewAddressRequest": (*main.Message)(0xc00013a600)({ fullName: (string) (len=17) "NewAddressRequest", name: (string) (len=17) "NewAddressRequest", fields: ([]*main.Field) (len=1 cap=1) { - (*main.Field)(0xc0000300f0)({ + (*main.Field)(0xc00024acc0)({ name: (string) (len=11) "addressType", kind: (string) (len=11) "AddressType", isMap: (bool) false, @@ -962,11 +883,11 @@ }) } }), - (string) (len=18) "NewAddressResponse": (*main.Message)(0xc0002148c0)({ + (string) (len=18) "NewAddressResponse": (*main.Message)(0xc00013a640)({ fullName: (string) (len=18) "NewAddressResponse", name: (string) (len=18) "NewAddressResponse", fields: ([]*main.Field) (len=1 cap=1) { - (*main.Field)(0xc000030120)({ + (*main.Field)(0xc00024acf0)({ name: (string) (len=7) "address", kind: (string) (len=6) "string", isMap: (bool) false, @@ -977,398 +898,11 @@ }) } }), - (string) (len=18) "PayAddressResponse": (*main.Message)(0xc0002149c0)({ - fullName: (string) (len=18) "PayAddressResponse", - name: (string) (len=18) "PayAddressResponse", - fields: ([]*main.Field) (len=1 cap=1) { - (*main.Field)(0xc0000301e0)({ - name: (string) (len=4) "txId", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=21) "DecodeInvoiceResponse": (*main.Message)(0xc000214b40)({ - fullName: (string) (len=21) "DecodeInvoiceResponse", - name: (string) (len=21) "DecodeInvoiceResponse", - fields: ([]*main.Field) (len=1 cap=1) { - (*main.Field)(0xc0000302d0)({ - name: (string) (len=6) "amount", - kind: (string) (len=5) "int64", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=20) "LnurlPayInfoResponse": (*main.Message)(0xc0002150c0)({ - fullName: (string) (len=20) "LnurlPayInfoResponse", - name: (string) (len=20) "LnurlPayInfoResponse", - fields: ([]*main.Field) (len=5 cap=8) { - (*main.Field)(0xc000030660)({ - name: (string) (len=3) "tag", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030690)({ - name: (string) (len=8) "callback", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc0000306c0)({ - name: (string) (len=11) "maxSendable", - kind: (string) (len=5) "int64", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc0000306f0)({ - name: (string) (len=11) "minSendable", - kind: (string) (len=5) "int64", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030720)({ - name: (string) (len=8) "metadata", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=18) "PayInvoiceResponse": (*main.Message)(0xc000214d00)({ - fullName: (string) (len=18) "PayInvoiceResponse", - name: (string) (len=18) "PayInvoiceResponse", - fields: ([]*main.Field) (len=1 cap=1) { - (*main.Field)(0xc000030360)({ - name: (string) (len=8) "preimage", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=19) "OpenChannelResponse": (*main.Message)(0xc000214e00)({ - fullName: (string) (len=19) "OpenChannelResponse", - name: (string) (len=19) "OpenChannelResponse", - fields: ([]*main.Field) (len=1 cap=1) { - (*main.Field)(0xc000030450)({ - name: (string) (len=9) "channelId", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=8) "UserInfo": (*main.Message)(0xc000215340)({ - fullName: (string) (len=8) "UserInfo", - name: (string) (len=8) "UserInfo", - fields: ([]*main.Field) (len=2 cap=2) { - (*main.Field)(0xc000030960)({ - name: (string) (len=6) "userId", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030990)({ - name: (string) (len=7) "balance", - kind: (string) (len=5) "int64", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=24) "GetUserOperationsRequest": (*main.Message)(0xc000215380)({ - fullName: (string) (len=24) "GetUserOperationsRequest", - name: (string) (len=24) "GetUserOperationsRequest", - fields: ([]*main.Field) (len=4 cap=4) { - (*main.Field)(0xc0000309c0)({ - name: (string) (len=21) "latestIncomingInvoice", - kind: (string) (len=5) "int64", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc0000309f0)({ - name: (string) (len=21) "latestOutgoingInvoice", - kind: (string) (len=5) "int64", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030a20)({ - name: (string) (len=16) "latestIncomingTx", - kind: (string) (len=5) "int64", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030a50)({ - name: (string) (len=16) "latestOutgoingTx", - kind: (string) (len=5) "int64", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=17) "AddProductRequest": (*main.Message)(0xc000215480)({ - fullName: (string) (len=17) "AddProductRequest", - name: (string) (len=17) "AddProductRequest", - fields: ([]*main.Field) (len=2 cap=2) { - (*main.Field)(0xc000030c90)({ - name: (string) (len=4) "name", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030cc0)({ - name: (string) (len=10) "price_sats", - kind: (string) (len=5) "int64", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=7) "Product": (*main.Message)(0xc0002154c0)({ - fullName: (string) (len=7) "Product", - name: (string) (len=7) "Product", - fields: ([]*main.Field) (len=3 cap=4) { - (*main.Field)(0xc000030cf0)({ - name: (string) (len=2) "id", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030d20)({ - name: (string) (len=4) "name", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030d50)({ - name: (string) (len=10) "price_sats", - kind: (string) (len=5) "int64", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=25) "EncryptionExchangeRequest": (*main.Message)(0xc0002144c0)({ - fullName: (string) (len=25) "EncryptionExchangeRequest", - name: (string) (len=25) "EncryptionExchangeRequest", - fields: ([]*main.Field) (len=2 cap=2) { - (*main.Field)(0xc000030030)({ - name: (string) (len=9) "publicKey", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030060)({ - name: (string) (len=8) "deviceId", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=17) "NewInvoiceRequest": (*main.Message)(0xc000214a00)({ - fullName: (string) (len=17) "NewInvoiceRequest", - name: (string) (len=17) "NewInvoiceRequest", - fields: ([]*main.Field) (len=2 cap=2) { - (*main.Field)(0xc000030210)({ - name: (string) (len=10) "amountSats", - kind: (string) (len=5) "int64", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030240)({ - name: (string) (len=4) "memo", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=17) "LnurlLinkResponse": (*main.Message)(0xc000214e40)({ - fullName: (string) (len=17) "LnurlLinkResponse", - name: (string) (len=17) "LnurlLinkResponse", - fields: ([]*main.Field) (len=2 cap=2) { - (*main.Field)(0xc000030480)({ - name: (string) (len=5) "lnurl", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc0000304b0)({ - name: (string) (len=2) "k1", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=22) "HandleLnurlPayResponse": (*main.Message)(0xc000215200)({ - fullName: (string) (len=22) "HandleLnurlPayResponse", - name: (string) (len=22) "HandleLnurlPayResponse", - fields: ([]*main.Field) (len=2 cap=2) { - (*main.Field)(0xc000030750)({ - name: (string) (len=2) "pr", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030780)({ - name: (string) (len=6) "routes", - kind: (string) (len=5) "Empty", - isMap: (bool) false, - isArray: (bool) true, - isEnum: (bool) false, - isMessage: (bool) true, - isOptional: (bool) false - }) - } - }), - (string) (len=15) "AuthUserRequest": (*main.Message)(0xc0002152c0)({ - fullName: (string) (len=15) "AuthUserRequest", - name: (string) (len=15) "AuthUserRequest", - fields: ([]*main.Field) (len=2 cap=2) { - (*main.Field)(0xc0000308a0)({ - name: (string) (len=4) "name", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc0000308d0)({ - name: (string) (len=6) "secret", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }) - } - }), - (string) (len=14) "UserOperations": (*main.Message)(0xc000215400)({ - fullName: (string) (len=14) "UserOperations", - name: (string) (len=14) "UserOperations", - fields: ([]*main.Field) (len=3 cap=4) { - (*main.Field)(0xc000030b40)({ - name: (string) (len=9) "fromIndex", - kind: (string) (len=5) "int64", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030b70)({ - name: (string) (len=7) "toIndex", - kind: (string) (len=5) "int64", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false - }), - (*main.Field)(0xc000030ba0)({ - name: (string) (len=10) "operations", - kind: (string) (len=13) "UserOperation", - isMap: (bool) false, - isArray: (bool) true, - isEnum: (bool) false, - isMessage: (bool) true, - isOptional: (bool) false - }) - } - }), - (string) (len=17) "PayAddressRequest": (*main.Message)(0xc000214980)({ + (string) (len=17) "PayAddressRequest": (*main.Message)(0xc00013a680)({ fullName: (string) (len=17) "PayAddressRequest", name: (string) (len=17) "PayAddressRequest", fields: ([]*main.Field) (len=3 cap=4) { - (*main.Field)(0xc000030150)({ + (*main.Field)(0xc00024b350)({ name: (string) (len=7) "address", kind: (string) (len=6) "string", isMap: (bool) false, @@ -1377,7 +911,7 @@ isMessage: (bool) false, isOptional: (bool) false }), - (*main.Field)(0xc000030180)({ + (*main.Field)(0xc00024b380)({ name: (string) (len=9) "amoutSats", kind: (string) (len=5) "int64", isMap: (bool) false, @@ -1386,7 +920,7 @@ isMessage: (bool) false, isOptional: (bool) false }), - (*main.Field)(0xc0000301b0)({ + (*main.Field)(0xc00024b3b0)({ name: (string) (len=10) "targetConf", kind: (string) (len=5) "int64", isMap: (bool) false, @@ -1397,11 +931,673 @@ }) } }), - (string) (len=18) "OpenChannelRequest": (*main.Message)(0xc000214dc0)({ + (string) (len=8) "UserInfo": (*main.Message)(0xc00013ab80)({ + fullName: (string) (len=8) "UserInfo", + name: (string) (len=8) "UserInfo", + fields: ([]*main.Field) (len=2 cap=2) { + (*main.Field)(0xc000544480)({ + name: (string) (len=6) "userId", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc0005444b0)({ + name: (string) (len=7) "balance", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=24) "AddAppUserInvoiceRequest": (*main.Message)(0xc00013a480)({ + fullName: (string) (len=24) "AddAppUserInvoiceRequest", + name: (string) (len=24) "AddAppUserInvoiceRequest", + fields: ([]*main.Field) (len=4 cap=4) { + (*main.Field)(0xc00024a090)({ + name: (string) (len=19) "receiver_identifier", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc00024a360)({ + name: (string) (len=16) "payer_identifier", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc00024a390)({ + name: (string) (len=17) "http_callback_url", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc00024a3c0)({ + name: (string) (len=11) "invoice_req", + kind: (string) (len=17) "NewInvoiceRequest", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) true, + isOptional: (bool) false + }) + } + }), + (string) (len=17) "GetAppUserRequest": (*main.Message)(0xc00013a4c0)({ + fullName: (string) (len=17) "GetAppUserRequest", + name: (string) (len=17) "GetAppUserRequest", + fields: ([]*main.Field) (len=1 cap=1) { + (*main.Field)(0xc00024a3f0)({ + name: (string) (len=15) "user_identifier", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=15) "AuthUserRequest": (*main.Message)(0xc00013ab00)({ + fullName: (string) (len=15) "AuthUserRequest", + name: (string) (len=15) "AuthUserRequest", + fields: ([]*main.Field) (len=2 cap=2) { + (*main.Field)(0xc0005443c0)({ + name: (string) (len=4) "name", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc0005443f0)({ + name: (string) (len=6) "secret", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=14) "UserOperations": (*main.Message)(0xc00013ac80)({ + fullName: (string) (len=14) "UserOperations", + name: (string) (len=14) "UserOperations", + fields: ([]*main.Field) (len=3 cap=4) { + (*main.Field)(0xc0005446c0)({ + name: (string) (len=9) "fromIndex", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc0005446f0)({ + name: (string) (len=7) "toIndex", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544720)({ + name: (string) (len=10) "operations", + kind: (string) (len=13) "UserOperation", + isMap: (bool) false, + isArray: (bool) true, + isEnum: (bool) false, + isMessage: (bool) true, + isOptional: (bool) false + }) + } + }), + (string) (len=5) "Empty": (*main.Message)(0xc00013a240)({ + fullName: (string) (len=5) "Empty", + name: (string) (len=5) "Empty", + fields: ([]*main.Field) + }), + (string) (len=25) "PayAppUserInvoiceResponse": (*main.Message)(0xc00013a540)({ + fullName: (string) (len=25) "PayAppUserInvoiceResponse", + name: (string) (len=25) "PayAppUserInvoiceResponse", + fields: ([]*main.Field) (len=2 cap=2) { + (*main.Field)(0xc00024a600)({ + name: (string) (len=8) "preimage", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc00024a7b0)({ + name: (string) (len=11) "amount_paid", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=19) "OpenChannelResponse": (*main.Message)(0xc00013a8c0)({ + fullName: (string) (len=19) "OpenChannelResponse", + name: (string) (len=19) "OpenChannelResponse", + fields: ([]*main.Field) (len=1 cap=1) { + (*main.Field)(0xc0002f8660)({ + name: (string) (len=9) "channelId", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=15) "AddUserResponse": (*main.Message)(0xc00013aac0)({ + fullName: (string) (len=15) "AddUserResponse", + name: (string) (len=15) "AddUserResponse", + fields: ([]*main.Field) (len=2 cap=2) { + (*main.Field)(0xc000544360)({ + name: (string) (len=6) "userId", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544390)({ + name: (string) (len=9) "authToken", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=17) "PayInvoiceRequest": (*main.Message)(0xc00013a800)({ + fullName: (string) (len=17) "PayInvoiceRequest", + name: (string) (len=17) "PayInvoiceRequest", + fields: ([]*main.Field) (len=2 cap=2) { + (*main.Field)(0xc00024b980)({ + name: (string) (len=7) "invoice", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc00024b9b0)({ + name: (string) (len=6) "amount", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=18) "PayInvoiceResponse": (*main.Message)(0xc00013a840)({ + fullName: (string) (len=18) "PayInvoiceResponse", + name: (string) (len=18) "PayInvoiceResponse", + fields: ([]*main.Field) (len=2 cap=2) { + (*main.Field)(0xc00024b9e0)({ + name: (string) (len=8) "preimage", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc00024bb30)({ + name: (string) (len=11) "amount_paid", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=25) "GetUserOperationsResponse": (*main.Message)(0xc00013ad00)({ + fullName: (string) (len=25) "GetUserOperationsResponse", + name: (string) (len=25) "GetUserOperationsResponse", + fields: ([]*main.Field) (len=6 cap=8) { + (*main.Field)(0xc000544750)({ + name: (string) (len=31) "latestOutgoingInvoiceOperations", + kind: (string) (len=14) "UserOperations", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) true, + isOptional: (bool) false + }), + (*main.Field)(0xc000544780)({ + name: (string) (len=31) "latestIncomingInvoiceOperations", + kind: (string) (len=14) "UserOperations", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) true, + isOptional: (bool) false + }), + (*main.Field)(0xc0005447b0)({ + name: (string) (len=26) "latestOutgoingTxOperations", + kind: (string) (len=14) "UserOperations", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) true, + isOptional: (bool) false + }), + (*main.Field)(0xc0005447e0)({ + name: (string) (len=26) "latestIncomingTxOperations", + kind: (string) (len=14) "UserOperations", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) true, + isOptional: (bool) false + }), + (*main.Field)(0xc000544810)({ + name: (string) (len=32) "latestOutgoingUserToUserPayemnts", + kind: (string) (len=14) "UserOperations", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) true, + isOptional: (bool) false + }), + (*main.Field)(0xc000544840)({ + name: (string) (len=32) "latestIncomingUserToUserPayemnts", + kind: (string) (len=14) "UserOperations", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) true, + isOptional: (bool) false + }) + } + }), + (string) (len=18) "LndGetInfoResponse": (*main.Message)(0xc00013a300)({ + fullName: (string) (len=18) "LndGetInfoResponse", + name: (string) (len=18) "LndGetInfoResponse", + fields: ([]*main.Field) (len=1 cap=1) { + (*main.Field)(0xc0000a58c0)({ + name: (string) (len=5) "alias", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=17) "AddAppUserRequest": (*main.Message)(0xc00013a3c0)({ + fullName: (string) (len=17) "AddAppUserRequest", + name: (string) (len=17) "AddAppUserRequest", + fields: ([]*main.Field) (len=3 cap=4) { + (*main.Field)(0xc0000a5b30)({ + name: (string) (len=10) "identifier", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc0000a5b60)({ + name: (string) (len=14) "fail_if_exists", + kind: (string) (len=4) "bool", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc0000a5dd0)({ + name: (string) (len=7) "balance", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=20) "AddAppInvoiceRequest": (*main.Message)(0xc00013a440)({ + fullName: (string) (len=20) "AddAppInvoiceRequest", + name: (string) (len=20) "AddAppInvoiceRequest", + fields: ([]*main.Field) (len=3 cap=4) { + (*main.Field)(0xc00024a000)({ + name: (string) (len=16) "payer_identifier", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc00024a030)({ + name: (string) (len=17) "http_callback_url", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc00024a060)({ + name: (string) (len=11) "invoice_req", + kind: (string) (len=17) "NewInvoiceRequest", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) true, + isOptional: (bool) false + }) + } + }), + (string) (len=18) "NewInvoiceResponse": (*main.Message)(0xc00013a740)({ + fullName: (string) (len=18) "NewInvoiceResponse", + name: (string) (len=18) "NewInvoiceResponse", + fields: ([]*main.Field) (len=1 cap=1) { + (*main.Field)(0xc00024b530)({ + name: (string) (len=7) "invoice", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=20) "DecodeInvoiceRequest": (*main.Message)(0xc00013a780)({ + fullName: (string) (len=20) "DecodeInvoiceRequest", + name: (string) (len=20) "DecodeInvoiceRequest", + fields: ([]*main.Field) (len=1 cap=1) { + (*main.Field)(0xc00024b560)({ + name: (string) (len=7) "invoice", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=14) "AddUserRequest": (*main.Message)(0xc00013aa80)({ + fullName: (string) (len=14) "AddUserRequest", + name: (string) (len=14) "AddUserRequest", + fields: ([]*main.Field) (len=3 cap=4) { + (*main.Field)(0xc0005442d0)({ + name: (string) (len=11) "callbackUrl", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544300)({ + name: (string) (len=4) "name", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544330)({ + name: (string) (len=6) "secret", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=14) "AddAppResponse": (*main.Message)(0xc00013a380)({ + fullName: (string) (len=14) "AddAppResponse", + name: (string) (len=14) "AddAppResponse", + fields: ([]*main.Field) (len=3 cap=4) { + (*main.Field)(0xc0000a5920)({ + name: (string) (len=4) "name", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc0000a5ad0)({ + name: (string) (len=2) "id", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc0000a5b00)({ + name: (string) (len=10) "auth_token", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=24) "PayAppUserInvoiceRequest": (*main.Message)(0xc00013a500)({ + fullName: (string) (len=24) "PayAppUserInvoiceRequest", + name: (string) (len=24) "PayAppUserInvoiceRequest", + fields: ([]*main.Field) (len=3 cap=4) { + (*main.Field)(0xc00024a570)({ + name: (string) (len=15) "user_identifier", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc00024a5a0)({ + name: (string) (len=7) "invoice", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc00024a5d0)({ + name: (string) (len=6) "amount", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=34) "SendAppUserToAppUserPaymentRequest": (*main.Message)(0xc00013a580)({ + fullName: (string) (len=34) "SendAppUserToAppUserPaymentRequest", + name: (string) (len=34) "SendAppUserToAppUserPaymentRequest", + fields: ([]*main.Field) (len=3 cap=4) { + (*main.Field)(0xc00024a7e0)({ + name: (string) (len=20) "from_user_identifier", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc00024a810)({ + name: (string) (len=18) "to_user_identifier", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc00024a840)({ + name: (string) (len=6) "amount", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=21) "DecodeInvoiceResponse": (*main.Message)(0xc00013a7c0)({ + fullName: (string) (len=21) "DecodeInvoiceResponse", + name: (string) (len=21) "DecodeInvoiceResponse", + fields: ([]*main.Field) (len=1 cap=1) { + (*main.Field)(0xc00024b950)({ + name: (string) (len=6) "amount", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=7) "Product": (*main.Message)(0xc00013ad80)({ + fullName: (string) (len=7) "Product", + name: (string) (len=7) "Product", + fields: ([]*main.Field) (len=3 cap=4) { + (*main.Field)(0xc0005448d0)({ + name: (string) (len=2) "id", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544900)({ + name: (string) (len=4) "name", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544930)({ + name: (string) (len=10) "price_sats", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=25) "EncryptionExchangeRequest": (*main.Message)(0xc00013a280)({ + fullName: (string) (len=25) "EncryptionExchangeRequest", + name: (string) (len=25) "EncryptionExchangeRequest", + fields: ([]*main.Field) (len=2 cap=2) { + (*main.Field)(0xc0000a5830)({ + name: (string) (len=9) "publicKey", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc0000a5860)({ + name: (string) (len=8) "deviceId", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=7) "AppUser": (*main.Message)(0xc00013a400)({ + fullName: (string) (len=7) "AppUser", + name: (string) (len=7) "AppUser", + fields: ([]*main.Field) (len=3 cap=4) { + (*main.Field)(0xc0000a5e00)({ + name: (string) (len=10) "identifier", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc0000a5e30)({ + name: (string) (len=4) "info", + kind: (string) (len=8) "UserInfo", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) true, + isOptional: (bool) false + }), + (*main.Field)(0xc0000a5e60)({ + name: (string) (len=16) "max_withdrawable", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=18) "OpenChannelRequest": (*main.Message)(0xc00013a880)({ fullName: (string) (len=18) "OpenChannelRequest", name: (string) (len=18) "OpenChannelRequest", fields: ([]*main.Field) (len=4 cap=4) { - (*main.Field)(0xc000030390)({ + (*main.Field)(0xc00024bb60)({ name: (string) (len=11) "destination", kind: (string) (len=6) "string", isMap: (bool) false, @@ -1410,7 +1606,7 @@ isMessage: (bool) false, isOptional: (bool) false }), - (*main.Field)(0xc0000303c0)({ + (*main.Field)(0xc00024bb90)({ name: (string) (len=13) "fundingAmount", kind: (string) (len=5) "int64", isMap: (bool) false, @@ -1419,7 +1615,7 @@ isMessage: (bool) false, isOptional: (bool) false }), - (*main.Field)(0xc0000303f0)({ + (*main.Field)(0xc00024bbc0)({ name: (string) (len=10) "pushAmount", kind: (string) (len=5) "int64", isMap: (bool) false, @@ -1428,7 +1624,7 @@ isMessage: (bool) false, isOptional: (bool) false }), - (*main.Field)(0xc000030420)({ + (*main.Field)(0xc0002f8630)({ name: (string) (len=12) "closeAddress", kind: (string) (len=6) "string", isMap: (bool) false, @@ -1439,12 +1635,135 @@ }) } }), - (string) (len=20) "DecodeInvoiceRequest": (*main.Message)(0xc000214b00)({ - fullName: (string) (len=20) "DecodeInvoiceRequest", - name: (string) (len=20) "DecodeInvoiceRequest", - fields: ([]*main.Field) (len=1 cap=1) { - (*main.Field)(0xc0000302a0)({ - name: (string) (len=7) "invoice", + (string) (len=24) "GetUserOperationsRequest": (*main.Message)(0xc00013ac00)({ + fullName: (string) (len=24) "GetUserOperationsRequest", + name: (string) (len=24) "GetUserOperationsRequest", + fields: ([]*main.Field) (len=6 cap=8) { + (*main.Field)(0xc0005444e0)({ + name: (string) (len=21) "latestIncomingInvoice", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544510)({ + name: (string) (len=21) "latestOutgoingInvoice", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544540)({ + name: (string) (len=16) "latestIncomingTx", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544570)({ + name: (string) (len=16) "latestOutgoingTx", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc0005445a0)({ + name: (string) (len=31) "latestIncomingUserToUserPayment", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc0005445d0)({ + name: (string) (len=31) "latestOutgoingUserToUserPayment", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=25) "LnurlWithdrawInfoResponse": (*main.Message)(0xc00013a980)({ + fullName: (string) (len=25) "LnurlWithdrawInfoResponse", + name: (string) (len=25) "LnurlWithdrawInfoResponse", + fields: ([]*main.Field) (len=8 cap=8) { + (*main.Field)(0xc000544000)({ + name: (string) (len=3) "tag", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544030)({ + name: (string) (len=8) "callback", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544060)({ + name: (string) (len=2) "k1", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544090)({ + name: (string) (len=18) "defaultDescription", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc0005440c0)({ + name: (string) (len=15) "minWithdrawable", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc0005440f0)({ + name: (string) (len=15) "maxWithdrawable", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544120)({ + name: (string) (len=12) "balanceCheck", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544150)({ + name: (string) (len=7) "payLink", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -1454,29 +1773,276 @@ }) } }), - (string) (len=5) "Empty": (*main.Message)(0xc000214440)({ - fullName: (string) (len=5) "Empty", - name: (string) (len=5) "Empty", - fields: ([]*main.Field) - }), - (string) (len=18) "NewInvoiceResponse": (*main.Message)(0xc000214ac0)({ - fullName: (string) (len=18) "NewInvoiceResponse", - name: (string) (len=18) "NewInvoiceResponse", - fields: ([]*main.Field) (len=1 cap=1) { - (*main.Field)(0xc000030270)({ - name: (string) (len=7) "invoice", + (string) (len=20) "LnurlPayInfoResponse": (*main.Message)(0xc00013aa00)({ + fullName: (string) (len=20) "LnurlPayInfoResponse", + name: (string) (len=20) "LnurlPayInfoResponse", + fields: ([]*main.Field) (len=5 cap=8) { + (*main.Field)(0xc000544180)({ + name: (string) (len=3) "tag", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false + }), + (*main.Field)(0xc0005441b0)({ + name: (string) (len=8) "callback", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc0005441e0)({ + name: (string) (len=11) "maxSendable", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544210)({ + name: (string) (len=11) "minSendable", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544240)({ + name: (string) (len=8) "metadata", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=22) "HandleLnurlPayResponse": (*main.Message)(0xc00013aa40)({ + fullName: (string) (len=22) "HandleLnurlPayResponse", + name: (string) (len=22) "HandleLnurlPayResponse", + fields: ([]*main.Field) (len=2 cap=2) { + (*main.Field)(0xc000544270)({ + name: (string) (len=2) "pr", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc0005442a0)({ + name: (string) (len=6) "routes", + kind: (string) (len=5) "Empty", + isMap: (bool) false, + isArray: (bool) true, + isEnum: (bool) false, + isMessage: (bool) true, + isOptional: (bool) false + }) + } + }), + (string) (len=13) "AddAppRequest": (*main.Message)(0xc00013a340)({ + fullName: (string) (len=13) "AddAppRequest", + name: (string) (len=13) "AddAppRequest", + fields: ([]*main.Field) (len=1 cap=1) { + (*main.Field)(0xc0000a58f0)({ + name: (string) (len=4) "name", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=30) "SendAppUserToAppPaymentRequest": (*main.Message)(0xc00013a5c0)({ + fullName: (string) (len=30) "SendAppUserToAppPaymentRequest", + name: (string) (len=30) "SendAppUserToAppPaymentRequest", + fields: ([]*main.Field) (len=2 cap=2) { + (*main.Field)(0xc00024ac60)({ + name: (string) (len=20) "from_user_identifier", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc00024ac90)({ + name: (string) (len=6) "amount", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=18) "PayAddressResponse": (*main.Message)(0xc00013a6c0)({ + fullName: (string) (len=18) "PayAddressResponse", + name: (string) (len=18) "PayAddressResponse", + fields: ([]*main.Field) (len=1 cap=1) { + (*main.Field)(0xc00024b3e0)({ + name: (string) (len=4) "txId", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=17) "NewInvoiceRequest": (*main.Message)(0xc00013a700)({ + fullName: (string) (len=17) "NewInvoiceRequest", + name: (string) (len=17) "NewInvoiceRequest", + fields: ([]*main.Field) (len=2 cap=2) { + (*main.Field)(0xc00024b4d0)({ + name: (string) (len=10) "amountSats", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc00024b500)({ + name: (string) (len=4) "memo", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=17) "LnurlLinkResponse": (*main.Message)(0xc00013a900)({ + fullName: (string) (len=17) "LnurlLinkResponse", + name: (string) (len=17) "LnurlLinkResponse", + fields: ([]*main.Field) (len=2 cap=2) { + (*main.Field)(0xc0002f9e90)({ + name: (string) (len=5) "lnurl", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc0002f9ec0)({ + name: (string) (len=2) "k1", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=16) "AuthUserResponse": (*main.Message)(0xc00013ab40)({ + fullName: (string) (len=16) "AuthUserResponse", + name: (string) (len=16) "AuthUserResponse", + fields: ([]*main.Field) (len=2 cap=2) { + (*main.Field)(0xc000544420)({ + name: (string) (len=6) "userId", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544450)({ + name: (string) (len=9) "authToken", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=13) "UserOperation": (*main.Message)(0xc00013ac40)({ + fullName: (string) (len=13) "UserOperation", + name: (string) (len=13) "UserOperation", + fields: ([]*main.Field) (len=4 cap=4) { + (*main.Field)(0xc000544600)({ + name: (string) (len=10) "paidAtUnix", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544630)({ + name: (string) (len=4) "type", + kind: (string) (len=17) "UserOperationType", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) true, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544660)({ + name: (string) (len=7) "inbound", + kind: (string) (len=4) "bool", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc000544690)({ + name: (string) (len=6) "amount", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }) + } + }), + (string) (len=17) "AddProductRequest": (*main.Message)(0xc00013ad40)({ + fullName: (string) (len=17) "AddProductRequest", + name: (string) (len=17) "AddProductRequest", + fields: ([]*main.Field) (len=2 cap=2) { + (*main.Field)(0xc000544870)({ + name: (string) (len=4) "name", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false + }), + (*main.Field)(0xc0005448a0)({ + name: (string) (len=10) "price_sats", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false }) } }) } -parsing file: structs 32 +parsing file: structs 43 parsing file: methods 2 --> [{guest Guest false map[]} {user User false map[user_id:string]} {admin Admin true map[admin_id:string]}] +-> [{guest Guest false map[]} {user User false map[user_id:string]} {admin Admin false map[admin_id:string]} {app App false map[app_id:string]}] diff --git a/proto/autogenerated/ts/express_server.ts b/proto/autogenerated/ts/express_server.ts index ab26395e..443db085 100644 --- a/proto/autogenerated/ts/express_server.ts +++ b/proto/autogenerated/ts/express_server.ts @@ -7,12 +7,13 @@ export type Logger = { log: (v: any) => void, error: (v: any) => void } export type ServerOptions = { allowCors?: true staticFiles?: string - allowNotImplementedMethods?: true + allowNotImplementedMethods?: number logger?: Logger throwErrors?: true GuestAuthGuard: (authorizationHeader?: string) => Promise UserAuthGuard: (authorizationHeader?: string) => Promise AdminAuthGuard: (authorizationHeader?: string) => Promise + AppAuthGuard: (authorizationHeader?: string) => Promise decryptCallback: (encryptionDeviceId: string, body: any) => Promise encryptCallback: (encryptionDeviceId: string, plain: any) => Promise } @@ -51,19 +52,129 @@ export default (methods: Types.ServerMethods, opts: ServerOptions) => { } catch (ex) { const e = ex as any; logErrorAndReturnResponse(e, e.message || e, res, logger); if (opts.throwErrors) throw e } }) if (!opts.allowNotImplementedMethods && !methods.LndGetInfo) throw new Error('method: LndGetInfo is not implemented') - app.post('/api/lnd/getinfo', async (req, res) => { + app.post('/api/admin/lnd/getinfo', async (req, res) => { try { if (!methods.LndGetInfo) throw new Error('method: LndGetInfo is not implemented') const authContext = await opts.AdminAuthGuard(req.headers['authorization']) - const encryptionDeviceId = req.headers['x-e2ee-device-id-x'] - if (typeof encryptionDeviceId !== 'string' || encryptionDeviceId === '') throw new Error('invalid encryption header provided') - const request = await opts.decryptCallback(encryptionDeviceId, req.body) + const request = req.body const error = Types.LndGetInfoRequestValidate(request) if (error !== null) return logErrorAndReturnResponse(error, 'invalid request body', res, logger) const query = req.query const params = req.params const response = await methods.LndGetInfo({ ...authContext, ...query, ...params }, request) - res.json({status: 'OK', ...await opts.encryptCallback(encryptionDeviceId, response)}) + res.json({status: 'OK', ...response}) + } catch (ex) { const e = ex as any; logErrorAndReturnResponse(e, e.message || e, res, logger); if (opts.throwErrors) throw e } + }) + if (!opts.allowNotImplementedMethods && !methods.AddApp) throw new Error('method: AddApp is not implemented') + app.post('/api/admin/app/add', async (req, res) => { + try { + if (!methods.AddApp) throw new Error('method: AddApp is not implemented') + const authContext = await opts.AdminAuthGuard(req.headers['authorization']) + const request = req.body + const error = Types.AddAppRequestValidate(request) + if (error !== null) return logErrorAndReturnResponse(error, 'invalid request body', res, logger) + const query = req.query + const params = req.params + const response = await methods.AddApp({ ...authContext, ...query, ...params }, request) + res.json({status: 'OK', ...response}) + } catch (ex) { const e = ex as any; logErrorAndReturnResponse(e, e.message || e, res, logger); if (opts.throwErrors) throw e } + }) + if (!opts.allowNotImplementedMethods && !methods.AddAppUser) throw new Error('method: AddAppUser is not implemented') + app.post('/api/app/user/add', async (req, res) => { + try { + if (!methods.AddAppUser) throw new Error('method: AddAppUser is not implemented') + const authContext = await opts.AppAuthGuard(req.headers['authorization']) + const request = req.body + const error = Types.AddAppUserRequestValidate(request) + if (error !== null) return logErrorAndReturnResponse(error, 'invalid request body', res, logger) + const query = req.query + const params = req.params + const response = await methods.AddAppUser({ ...authContext, ...query, ...params }, request) + res.json({status: 'OK', ...response}) + } catch (ex) { const e = ex as any; logErrorAndReturnResponse(e, e.message || e, res, logger); if (opts.throwErrors) throw e } + }) + if (!opts.allowNotImplementedMethods && !methods.AddAppInvoice) throw new Error('method: AddAppInvoice is not implemented') + app.post('/api/app/add/invoice', async (req, res) => { + try { + if (!methods.AddAppInvoice) throw new Error('method: AddAppInvoice is not implemented') + const authContext = await opts.AppAuthGuard(req.headers['authorization']) + const request = req.body + const error = Types.AddAppInvoiceRequestValidate(request) + if (error !== null) return logErrorAndReturnResponse(error, 'invalid request body', res, logger) + const query = req.query + const params = req.params + const response = await methods.AddAppInvoice({ ...authContext, ...query, ...params }, request) + res.json({status: 'OK', ...response}) + } catch (ex) { const e = ex as any; logErrorAndReturnResponse(e, e.message || e, res, logger); if (opts.throwErrors) throw e } + }) + if (!opts.allowNotImplementedMethods && !methods.AddAppUserInvoice) throw new Error('method: AddAppUserInvoice is not implemented') + app.post('/api/app/user/add/invoice', async (req, res) => { + try { + if (!methods.AddAppUserInvoice) throw new Error('method: AddAppUserInvoice is not implemented') + const authContext = await opts.AppAuthGuard(req.headers['authorization']) + const request = req.body + const error = Types.AddAppUserInvoiceRequestValidate(request) + if (error !== null) return logErrorAndReturnResponse(error, 'invalid request body', res, logger) + const query = req.query + const params = req.params + const response = await methods.AddAppUserInvoice({ ...authContext, ...query, ...params }, request) + res.json({status: 'OK', ...response}) + } catch (ex) { const e = ex as any; logErrorAndReturnResponse(e, e.message || e, res, logger); if (opts.throwErrors) throw e } + }) + if (!opts.allowNotImplementedMethods && !methods.GetAppUser) throw new Error('method: GetAppUser is not implemented') + app.post('/api/app/user/get', async (req, res) => { + try { + if (!methods.GetAppUser) throw new Error('method: GetAppUser is not implemented') + const authContext = await opts.AppAuthGuard(req.headers['authorization']) + const request = req.body + const error = Types.GetAppUserRequestValidate(request) + if (error !== null) return logErrorAndReturnResponse(error, 'invalid request body', res, logger) + const query = req.query + const params = req.params + const response = await methods.GetAppUser({ ...authContext, ...query, ...params }, request) + res.json({status: 'OK', ...response}) + } catch (ex) { const e = ex as any; logErrorAndReturnResponse(e, e.message || e, res, logger); if (opts.throwErrors) throw e } + }) + if (!opts.allowNotImplementedMethods && !methods.PayAppUserInvoice) throw new Error('method: PayAppUserInvoice is not implemented') + app.post('/api/app/invoice/pay', async (req, res) => { + try { + if (!methods.PayAppUserInvoice) throw new Error('method: PayAppUserInvoice is not implemented') + const authContext = await opts.AppAuthGuard(req.headers['authorization']) + const request = req.body + const error = Types.PayAppUserInvoiceRequestValidate(request) + if (error !== null) return logErrorAndReturnResponse(error, 'invalid request body', res, logger) + const query = req.query + const params = req.params + const response = await methods.PayAppUserInvoice({ ...authContext, ...query, ...params }, request) + res.json({status: 'OK', ...response}) + } catch (ex) { const e = ex as any; logErrorAndReturnResponse(e, e.message || e, res, logger); if (opts.throwErrors) throw e } + }) + if (!opts.allowNotImplementedMethods && !methods.SendAppUserToAppUserPayment) throw new Error('method: SendAppUserToAppUserPayment is not implemented') + app.post('/api/app/user/internal/pay', async (req, res) => { + try { + if (!methods.SendAppUserToAppUserPayment) throw new Error('method: SendAppUserToAppUserPayment is not implemented') + const authContext = await opts.AppAuthGuard(req.headers['authorization']) + const request = req.body + const error = Types.SendAppUserToAppUserPaymentRequestValidate(request) + if (error !== null) return logErrorAndReturnResponse(error, 'invalid request body', res, logger) + const query = req.query + const params = req.params + await methods.SendAppUserToAppUserPayment({ ...authContext, ...query, ...params }, request) + res.json({status: 'OK'}) + } catch (ex) { const e = ex as any; logErrorAndReturnResponse(e, e.message || e, res, logger); if (opts.throwErrors) throw e } + }) + if (!opts.allowNotImplementedMethods && !methods.SendAppUserToAppPayment) throw new Error('method: SendAppUserToAppPayment is not implemented') + app.post('/api/app/internal/pay', async (req, res) => { + try { + if (!methods.SendAppUserToAppPayment) throw new Error('method: SendAppUserToAppPayment is not implemented') + const authContext = await opts.AppAuthGuard(req.headers['authorization']) + const request = req.body + const error = Types.SendAppUserToAppPaymentRequestValidate(request) + if (error !== null) return logErrorAndReturnResponse(error, 'invalid request body', res, logger) + const query = req.query + const params = req.params + await methods.SendAppUserToAppPayment({ ...authContext, ...query, ...params }, request) + res.json({status: 'OK'}) } catch (ex) { const e = ex as any; logErrorAndReturnResponse(e, e.message || e, res, logger); if (opts.throwErrors) throw e } }) if (!opts.allowNotImplementedMethods && !methods.AddUser) throw new Error('method: AddUser is not implemented') diff --git a/proto/autogenerated/ts/http_client.ts b/proto/autogenerated/ts/http_client.ts index 844a5355..0beaaad8 100644 --- a/proto/autogenerated/ts/http_client.ts +++ b/proto/autogenerated/ts/http_client.ts @@ -8,6 +8,7 @@ export type ClientParams = { retrieveGuestAuth: () => Promise retrieveUserAuth: () => Promise retrieveAdminAuth: () => Promise + retrieveAppAuth: () => Promise encryptCallback: (plain: any) => Promise decryptCallback: (encrypted: any) => Promise deviceId: string @@ -39,17 +40,123 @@ export default (params: ClientParams) => ({ LndGetInfo: async (request: Types.LndGetInfoRequest): Promise => { const auth = await params.retrieveAdminAuth() if (auth === null) throw new Error('retrieveAdminAuth() returned null') - let finalRoute = '/api/lnd/getinfo' - const { data } = await axios.post(params.baseUrl + finalRoute, await params.encryptCallback(request), { headers: { 'authorization': auth, 'x-e2ee-device-id-x': params.deviceId } }) + let finalRoute = '/api/admin/lnd/getinfo' + const { data } = await axios.post(params.baseUrl + finalRoute, request, { headers: { 'authorization': auth } }) if (data.status === 'ERROR' && typeof data.reason === 'string') return data if (data.status === 'OK') { - const result = await params.decryptCallback(data) + const result = data if(!params.checkResult) return { status: 'OK', ...result } const error = Types.LndGetInfoResponseValidate(result) if (error === null) { return { status: 'OK', ...result } } else return { status: 'ERROR', reason: error.message } } return { status: 'ERROR', reason: 'invalid response' } }, + AddApp: async (request: Types.AddAppRequest): Promise => { + const auth = await params.retrieveAdminAuth() + if (auth === null) throw new Error('retrieveAdminAuth() returned null') + let finalRoute = '/api/admin/app/add' + const { data } = await axios.post(params.baseUrl + finalRoute, request, { headers: { 'authorization': auth } }) + if (data.status === 'ERROR' && typeof data.reason === 'string') return data + if (data.status === 'OK') { + const result = data + if(!params.checkResult) return { status: 'OK', ...result } + const error = Types.AddAppResponseValidate(result) + if (error === null) { return { status: 'OK', ...result } } else return { status: 'ERROR', reason: error.message } + } + return { status: 'ERROR', reason: 'invalid response' } + }, + AddAppUser: async (request: Types.AddAppUserRequest): Promise => { + const auth = await params.retrieveAppAuth() + if (auth === null) throw new Error('retrieveAppAuth() returned null') + let finalRoute = '/api/app/user/add' + const { data } = await axios.post(params.baseUrl + finalRoute, request, { headers: { 'authorization': auth } }) + if (data.status === 'ERROR' && typeof data.reason === 'string') return data + if (data.status === 'OK') { + const result = data + if(!params.checkResult) return { status: 'OK', ...result } + const error = Types.AppUserValidate(result) + if (error === null) { return { status: 'OK', ...result } } else return { status: 'ERROR', reason: error.message } + } + return { status: 'ERROR', reason: 'invalid response' } + }, + AddAppInvoice: async (request: Types.AddAppInvoiceRequest): Promise => { + const auth = await params.retrieveAppAuth() + if (auth === null) throw new Error('retrieveAppAuth() returned null') + let finalRoute = '/api/app/add/invoice' + const { data } = await axios.post(params.baseUrl + finalRoute, request, { headers: { 'authorization': auth } }) + if (data.status === 'ERROR' && typeof data.reason === 'string') return data + if (data.status === 'OK') { + const result = data + if(!params.checkResult) return { status: 'OK', ...result } + const error = Types.NewInvoiceResponseValidate(result) + if (error === null) { return { status: 'OK', ...result } } else return { status: 'ERROR', reason: error.message } + } + return { status: 'ERROR', reason: 'invalid response' } + }, + AddAppUserInvoice: async (request: Types.AddAppUserInvoiceRequest): Promise => { + const auth = await params.retrieveAppAuth() + if (auth === null) throw new Error('retrieveAppAuth() returned null') + let finalRoute = '/api/app/user/add/invoice' + const { data } = await axios.post(params.baseUrl + finalRoute, request, { headers: { 'authorization': auth } }) + if (data.status === 'ERROR' && typeof data.reason === 'string') return data + if (data.status === 'OK') { + const result = data + if(!params.checkResult) return { status: 'OK', ...result } + const error = Types.NewInvoiceResponseValidate(result) + if (error === null) { return { status: 'OK', ...result } } else return { status: 'ERROR', reason: error.message } + } + return { status: 'ERROR', reason: 'invalid response' } + }, + GetAppUser: async (request: Types.GetAppUserRequest): Promise => { + const auth = await params.retrieveAppAuth() + if (auth === null) throw new Error('retrieveAppAuth() returned null') + let finalRoute = '/api/app/user/get' + const { data } = await axios.post(params.baseUrl + finalRoute, request, { headers: { 'authorization': auth } }) + if (data.status === 'ERROR' && typeof data.reason === 'string') return data + if (data.status === 'OK') { + const result = data + if(!params.checkResult) return { status: 'OK', ...result } + const error = Types.AppUserValidate(result) + if (error === null) { return { status: 'OK', ...result } } else return { status: 'ERROR', reason: error.message } + } + return { status: 'ERROR', reason: 'invalid response' } + }, + PayAppUserInvoice: async (request: Types.PayAppUserInvoiceRequest): Promise => { + const auth = await params.retrieveAppAuth() + if (auth === null) throw new Error('retrieveAppAuth() returned null') + let finalRoute = '/api/app/invoice/pay' + const { data } = await axios.post(params.baseUrl + finalRoute, request, { headers: { 'authorization': auth } }) + if (data.status === 'ERROR' && typeof data.reason === 'string') return data + if (data.status === 'OK') { + const result = data + if(!params.checkResult) return { status: 'OK', ...result } + const error = Types.PayAppUserInvoiceResponseValidate(result) + if (error === null) { return { status: 'OK', ...result } } else return { status: 'ERROR', reason: error.message } + } + return { status: 'ERROR', reason: 'invalid response' } + }, + SendAppUserToAppUserPayment: async (request: Types.SendAppUserToAppUserPaymentRequest): Promise => { + const auth = await params.retrieveAppAuth() + if (auth === null) throw new Error('retrieveAppAuth() returned null') + let finalRoute = '/api/app/user/internal/pay' + const { data } = await axios.post(params.baseUrl + finalRoute, request, { headers: { 'authorization': auth } }) + if (data.status === 'ERROR' && typeof data.reason === 'string') return data + if (data.status === 'OK') { + return data + } + return { status: 'ERROR', reason: 'invalid response' } + }, + SendAppUserToAppPayment: async (request: Types.SendAppUserToAppPaymentRequest): Promise => { + const auth = await params.retrieveAppAuth() + if (auth === null) throw new Error('retrieveAppAuth() returned null') + let finalRoute = '/api/app/internal/pay' + const { data } = await axios.post(params.baseUrl + finalRoute, request, { headers: { 'authorization': auth } }) + if (data.status === 'ERROR' && typeof data.reason === 'string') return data + if (data.status === 'OK') { + return data + } + return { status: 'ERROR', reason: 'invalid response' } + }, AddUser: async (request: Types.AddUserRequest): Promise => { const auth = await params.retrieveGuestAuth() if (auth === null) throw new Error('retrieveGuestAuth() returned null') diff --git a/proto/autogenerated/ts/types.ts b/proto/autogenerated/ts/types.ts index 7c03210c..dc2f61a7 100644 --- a/proto/autogenerated/ts/types.ts +++ b/proto/autogenerated/ts/types.ts @@ -8,7 +8,10 @@ export type UserContext = { export type AdminContext = { admin_id: string } -export type AuthContext = GuestContext | UserContext | AdminContext +export type AppContext = { + app_id: string +} +export type AuthContext = GuestContext | UserContext | AdminContext | AppContext export type Health_Query = { } @@ -25,6 +28,46 @@ export type LndGetInfo_Query = { export type LndGetInfo_RouteParams = { } export type LndGetInfo_Context = LndGetInfo_Query & LndGetInfo_RouteParams & AdminContext +export type AddApp_Query = { +} +export type AddApp_RouteParams = { +} +export type AddApp_Context = AddApp_Query & AddApp_RouteParams & AdminContext +export type AddAppUser_Query = { +} +export type AddAppUser_RouteParams = { +} +export type AddAppUser_Context = AddAppUser_Query & AddAppUser_RouteParams & AppContext +export type AddAppInvoice_Query = { +} +export type AddAppInvoice_RouteParams = { +} +export type AddAppInvoice_Context = AddAppInvoice_Query & AddAppInvoice_RouteParams & AppContext +export type AddAppUserInvoice_Query = { +} +export type AddAppUserInvoice_RouteParams = { +} +export type AddAppUserInvoice_Context = AddAppUserInvoice_Query & AddAppUserInvoice_RouteParams & AppContext +export type GetAppUser_Query = { +} +export type GetAppUser_RouteParams = { +} +export type GetAppUser_Context = GetAppUser_Query & GetAppUser_RouteParams & AppContext +export type PayAppUserInvoice_Query = { +} +export type PayAppUserInvoice_RouteParams = { +} +export type PayAppUserInvoice_Context = PayAppUserInvoice_Query & PayAppUserInvoice_RouteParams & AppContext +export type SendAppUserToAppUserPayment_Query = { +} +export type SendAppUserToAppUserPayment_RouteParams = { +} +export type SendAppUserToAppUserPayment_Context = SendAppUserToAppUserPayment_Query & SendAppUserToAppUserPayment_RouteParams & AppContext +export type SendAppUserToAppPayment_Query = { +} +export type SendAppUserToAppPayment_RouteParams = { +} +export type SendAppUserToAppPayment_Context = SendAppUserToAppPayment_Query & SendAppUserToAppPayment_RouteParams & AppContext export type AddUser_Query = { } export type AddUser_RouteParams = { @@ -126,6 +169,14 @@ export type ServerMethods = { Health?: (ctx: Health_Context) => Promise EncryptionExchange?: (ctx: EncryptionExchange_Context, req: EncryptionExchangeRequest) => Promise LndGetInfo?: (ctx: LndGetInfo_Context, req: LndGetInfoRequest) => Promise + AddApp?: (ctx: AddApp_Context, req: AddAppRequest) => Promise + AddAppUser?: (ctx: AddAppUser_Context, req: AddAppUserRequest) => Promise + AddAppInvoice?: (ctx: AddAppInvoice_Context, req: AddAppInvoiceRequest) => Promise + AddAppUserInvoice?: (ctx: AddAppUserInvoice_Context, req: AddAppUserInvoiceRequest) => Promise + GetAppUser?: (ctx: GetAppUser_Context, req: GetAppUserRequest) => Promise + PayAppUserInvoice?: (ctx: PayAppUserInvoice_Context, req: PayAppUserInvoiceRequest) => Promise + SendAppUserToAppUserPayment?: (ctx: SendAppUserToAppUserPayment_Context, req: SendAppUserToAppUserPaymentRequest) => Promise + SendAppUserToAppPayment?: (ctx: SendAppUserToAppPayment_Context, req: SendAppUserToAppPaymentRequest) => Promise AddUser?: (ctx: AddUser_Context, req: AddUserRequest) => Promise AuthUser?: (ctx: AuthUser_Context, req: AuthUserRequest) => Promise GetUserInfo?: (ctx: GetUserInfo_Context) => Promise @@ -160,6 +211,8 @@ export enum UserOperationType { OUTGOING_TX = 'OUTGOING_TX', INCOMING_INVOICE = 'INCOMING_INVOICE', OUTGOING_INVOICE = 'OUTGOING_INVOICE', + OUTGOING_USER_TO_USER = 'OUTGOING_USER_TO_USER', + INCOMING_USER_TO_USER = 'INCOMING_USER_TO_USER', } const enumCheckUserOperationType = (e?: UserOperationType): boolean => { for (const v in UserOperationType) if (e === v) return true @@ -170,6 +223,338 @@ export type OptionsBaseMessage = { allOptionalsAreSet?: true } +export type AddUserRequest = { + callbackUrl: string + name: string + secret: string +} +export const AddUserRequestOptionalFields: [] = [] +export type AddUserRequestOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + callbackUrl_CustomCheck?: (v: string) => boolean + name_CustomCheck?: (v: string) => boolean + secret_CustomCheck?: (v: string) => boolean +} +export const AddUserRequestValidate = (o?: AddUserRequest, opts: AddUserRequestOptions = {}, path: string = 'AddUserRequest::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.callbackUrl !== 'string') return new Error(`${path}.callbackUrl: is not a string`) + if (opts.callbackUrl_CustomCheck && !opts.callbackUrl_CustomCheck(o.callbackUrl)) return new Error(`${path}.callbackUrl: custom check failed`) + + if (typeof o.name !== 'string') return new Error(`${path}.name: is not a string`) + if (opts.name_CustomCheck && !opts.name_CustomCheck(o.name)) return new Error(`${path}.name: custom check failed`) + + if (typeof o.secret !== 'string') return new Error(`${path}.secret: is not a string`) + if (opts.secret_CustomCheck && !opts.secret_CustomCheck(o.secret)) return new Error(`${path}.secret: custom check failed`) + + return null +} + +export type DecodeInvoiceResponse = { + amount: number +} +export const DecodeInvoiceResponseOptionalFields: [] = [] +export type DecodeInvoiceResponseOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + amount_CustomCheck?: (v: number) => boolean +} +export const DecodeInvoiceResponseValidate = (o?: DecodeInvoiceResponse, opts: DecodeInvoiceResponseOptions = {}, path: string = 'DecodeInvoiceResponse::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) + if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) + + return null +} + +export type Product = { + id: string + name: string + price_sats: number +} +export const ProductOptionalFields: [] = [] +export type ProductOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + id_CustomCheck?: (v: string) => boolean + name_CustomCheck?: (v: string) => boolean + price_sats_CustomCheck?: (v: number) => boolean +} +export const ProductValidate = (o?: Product, opts: ProductOptions = {}, path: string = 'Product::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.id !== 'string') return new Error(`${path}.id: is not a string`) + if (opts.id_CustomCheck && !opts.id_CustomCheck(o.id)) return new Error(`${path}.id: custom check failed`) + + if (typeof o.name !== 'string') return new Error(`${path}.name: is not a string`) + if (opts.name_CustomCheck && !opts.name_CustomCheck(o.name)) return new Error(`${path}.name: custom check failed`) + + if (typeof o.price_sats !== 'number') return new Error(`${path}.price_sats: is not a number`) + if (opts.price_sats_CustomCheck && !opts.price_sats_CustomCheck(o.price_sats)) return new Error(`${path}.price_sats: custom check failed`) + + return null +} + +export type AddAppResponse = { + name: string + id: string + auth_token: string +} +export const AddAppResponseOptionalFields: [] = [] +export type AddAppResponseOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + name_CustomCheck?: (v: string) => boolean + id_CustomCheck?: (v: string) => boolean + auth_token_CustomCheck?: (v: string) => boolean +} +export const AddAppResponseValidate = (o?: AddAppResponse, opts: AddAppResponseOptions = {}, path: string = 'AddAppResponse::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.name !== 'string') return new Error(`${path}.name: is not a string`) + if (opts.name_CustomCheck && !opts.name_CustomCheck(o.name)) return new Error(`${path}.name: custom check failed`) + + if (typeof o.id !== 'string') return new Error(`${path}.id: is not a string`) + if (opts.id_CustomCheck && !opts.id_CustomCheck(o.id)) return new Error(`${path}.id: custom check failed`) + + if (typeof o.auth_token !== 'string') return new Error(`${path}.auth_token: is not a string`) + if (opts.auth_token_CustomCheck && !opts.auth_token_CustomCheck(o.auth_token)) return new Error(`${path}.auth_token: custom check failed`) + + return null +} + +export type PayAppUserInvoiceRequest = { + user_identifier: string + invoice: string + amount: number +} +export const PayAppUserInvoiceRequestOptionalFields: [] = [] +export type PayAppUserInvoiceRequestOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + user_identifier_CustomCheck?: (v: string) => boolean + invoice_CustomCheck?: (v: string) => boolean + amount_CustomCheck?: (v: number) => boolean +} +export const PayAppUserInvoiceRequestValidate = (o?: PayAppUserInvoiceRequest, opts: PayAppUserInvoiceRequestOptions = {}, path: string = 'PayAppUserInvoiceRequest::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.user_identifier !== 'string') return new Error(`${path}.user_identifier: is not a string`) + if (opts.user_identifier_CustomCheck && !opts.user_identifier_CustomCheck(o.user_identifier)) return new Error(`${path}.user_identifier: custom check failed`) + + if (typeof o.invoice !== 'string') return new Error(`${path}.invoice: is not a string`) + if (opts.invoice_CustomCheck && !opts.invoice_CustomCheck(o.invoice)) return new Error(`${path}.invoice: custom check failed`) + + if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) + if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) + + return null +} + +export type SendAppUserToAppUserPaymentRequest = { + from_user_identifier: string + to_user_identifier: string + amount: number +} +export const SendAppUserToAppUserPaymentRequestOptionalFields: [] = [] +export type SendAppUserToAppUserPaymentRequestOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + from_user_identifier_CustomCheck?: (v: string) => boolean + to_user_identifier_CustomCheck?: (v: string) => boolean + amount_CustomCheck?: (v: number) => boolean +} +export const SendAppUserToAppUserPaymentRequestValidate = (o?: SendAppUserToAppUserPaymentRequest, opts: SendAppUserToAppUserPaymentRequestOptions = {}, path: string = 'SendAppUserToAppUserPaymentRequest::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.from_user_identifier !== 'string') return new Error(`${path}.from_user_identifier: is not a string`) + if (opts.from_user_identifier_CustomCheck && !opts.from_user_identifier_CustomCheck(o.from_user_identifier)) return new Error(`${path}.from_user_identifier: custom check failed`) + + if (typeof o.to_user_identifier !== 'string') return new Error(`${path}.to_user_identifier: is not a string`) + if (opts.to_user_identifier_CustomCheck && !opts.to_user_identifier_CustomCheck(o.to_user_identifier)) return new Error(`${path}.to_user_identifier: custom check failed`) + + if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) + if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) + + return null +} + +export type GetUserOperationsRequest = { + latestIncomingInvoice: number + latestOutgoingInvoice: number + latestIncomingTx: number + latestOutgoingTx: number + latestIncomingUserToUserPayment: number + latestOutgoingUserToUserPayment: number +} +export const GetUserOperationsRequestOptionalFields: [] = [] +export type GetUserOperationsRequestOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + latestIncomingInvoice_CustomCheck?: (v: number) => boolean + latestOutgoingInvoice_CustomCheck?: (v: number) => boolean + latestIncomingTx_CustomCheck?: (v: number) => boolean + latestOutgoingTx_CustomCheck?: (v: number) => boolean + latestIncomingUserToUserPayment_CustomCheck?: (v: number) => boolean + latestOutgoingUserToUserPayment_CustomCheck?: (v: number) => boolean +} +export const GetUserOperationsRequestValidate = (o?: GetUserOperationsRequest, opts: GetUserOperationsRequestOptions = {}, path: string = 'GetUserOperationsRequest::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.latestIncomingInvoice !== 'number') return new Error(`${path}.latestIncomingInvoice: is not a number`) + if (opts.latestIncomingInvoice_CustomCheck && !opts.latestIncomingInvoice_CustomCheck(o.latestIncomingInvoice)) return new Error(`${path}.latestIncomingInvoice: custom check failed`) + + if (typeof o.latestOutgoingInvoice !== 'number') return new Error(`${path}.latestOutgoingInvoice: is not a number`) + if (opts.latestOutgoingInvoice_CustomCheck && !opts.latestOutgoingInvoice_CustomCheck(o.latestOutgoingInvoice)) return new Error(`${path}.latestOutgoingInvoice: custom check failed`) + + if (typeof o.latestIncomingTx !== 'number') return new Error(`${path}.latestIncomingTx: is not a number`) + if (opts.latestIncomingTx_CustomCheck && !opts.latestIncomingTx_CustomCheck(o.latestIncomingTx)) return new Error(`${path}.latestIncomingTx: custom check failed`) + + if (typeof o.latestOutgoingTx !== 'number') return new Error(`${path}.latestOutgoingTx: is not a number`) + if (opts.latestOutgoingTx_CustomCheck && !opts.latestOutgoingTx_CustomCheck(o.latestOutgoingTx)) return new Error(`${path}.latestOutgoingTx: custom check failed`) + + if (typeof o.latestIncomingUserToUserPayment !== 'number') return new Error(`${path}.latestIncomingUserToUserPayment: is not a number`) + if (opts.latestIncomingUserToUserPayment_CustomCheck && !opts.latestIncomingUserToUserPayment_CustomCheck(o.latestIncomingUserToUserPayment)) return new Error(`${path}.latestIncomingUserToUserPayment: custom check failed`) + + if (typeof o.latestOutgoingUserToUserPayment !== 'number') return new Error(`${path}.latestOutgoingUserToUserPayment: is not a number`) + if (opts.latestOutgoingUserToUserPayment_CustomCheck && !opts.latestOutgoingUserToUserPayment_CustomCheck(o.latestOutgoingUserToUserPayment)) return new Error(`${path}.latestOutgoingUserToUserPayment: custom check failed`) + + return null +} + +export type EncryptionExchangeRequest = { + publicKey: string + deviceId: string +} +export const EncryptionExchangeRequestOptionalFields: [] = [] +export type EncryptionExchangeRequestOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + publicKey_CustomCheck?: (v: string) => boolean + deviceId_CustomCheck?: (v: string) => boolean +} +export const EncryptionExchangeRequestValidate = (o?: EncryptionExchangeRequest, opts: EncryptionExchangeRequestOptions = {}, path: string = 'EncryptionExchangeRequest::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.publicKey !== 'string') return new Error(`${path}.publicKey: is not a string`) + if (opts.publicKey_CustomCheck && !opts.publicKey_CustomCheck(o.publicKey)) return new Error(`${path}.publicKey: custom check failed`) + + if (typeof o.deviceId !== 'string') return new Error(`${path}.deviceId: is not a string`) + if (opts.deviceId_CustomCheck && !opts.deviceId_CustomCheck(o.deviceId)) return new Error(`${path}.deviceId: custom check failed`) + + return null +} + +export type AppUser = { + identifier: string + info: UserInfo + max_withdrawable: number +} +export const AppUserOptionalFields: [] = [] +export type AppUserOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + identifier_CustomCheck?: (v: string) => boolean + info_Options?: UserInfoOptions + max_withdrawable_CustomCheck?: (v: number) => boolean +} +export const AppUserValidate = (o?: AppUser, opts: AppUserOptions = {}, path: string = 'AppUser::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.identifier !== 'string') return new Error(`${path}.identifier: is not a string`) + if (opts.identifier_CustomCheck && !opts.identifier_CustomCheck(o.identifier)) return new Error(`${path}.identifier: custom check failed`) + + const infoErr = UserInfoValidate(o.info, opts.info_Options, `${path}.info`) + if (infoErr !== null) return infoErr + + + if (typeof o.max_withdrawable !== 'number') return new Error(`${path}.max_withdrawable: is not a number`) + if (opts.max_withdrawable_CustomCheck && !opts.max_withdrawable_CustomCheck(o.max_withdrawable)) return new Error(`${path}.max_withdrawable: custom check failed`) + + return null +} + +export type OpenChannelRequest = { + destination: string + fundingAmount: number + pushAmount: number + closeAddress: string +} +export const OpenChannelRequestOptionalFields: [] = [] +export type OpenChannelRequestOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + destination_CustomCheck?: (v: string) => boolean + fundingAmount_CustomCheck?: (v: number) => boolean + pushAmount_CustomCheck?: (v: number) => boolean + closeAddress_CustomCheck?: (v: string) => boolean +} +export const OpenChannelRequestValidate = (o?: OpenChannelRequest, opts: OpenChannelRequestOptions = {}, path: string = 'OpenChannelRequest::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.destination !== 'string') return new Error(`${path}.destination: is not a string`) + if (opts.destination_CustomCheck && !opts.destination_CustomCheck(o.destination)) return new Error(`${path}.destination: custom check failed`) + + if (typeof o.fundingAmount !== 'number') return new Error(`${path}.fundingAmount: is not a number`) + if (opts.fundingAmount_CustomCheck && !opts.fundingAmount_CustomCheck(o.fundingAmount)) return new Error(`${path}.fundingAmount: custom check failed`) + + if (typeof o.pushAmount !== 'number') return new Error(`${path}.pushAmount: is not a number`) + if (opts.pushAmount_CustomCheck && !opts.pushAmount_CustomCheck(o.pushAmount)) return new Error(`${path}.pushAmount: custom check failed`) + + if (typeof o.closeAddress !== 'string') return new Error(`${path}.closeAddress: is not a string`) + if (opts.closeAddress_CustomCheck && !opts.closeAddress_CustomCheck(o.closeAddress)) return new Error(`${path}.closeAddress: custom check failed`) + + return null +} + +export type NewInvoiceRequest = { + amountSats: number + memo: string +} +export const NewInvoiceRequestOptionalFields: [] = [] +export type NewInvoiceRequestOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + amountSats_CustomCheck?: (v: number) => boolean + memo_CustomCheck?: (v: string) => boolean +} +export const NewInvoiceRequestValidate = (o?: NewInvoiceRequest, opts: NewInvoiceRequestOptions = {}, path: string = 'NewInvoiceRequest::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.amountSats !== 'number') return new Error(`${path}.amountSats: is not a number`) + if (opts.amountSats_CustomCheck && !opts.amountSats_CustomCheck(o.amountSats)) return new Error(`${path}.amountSats: custom check failed`) + + if (typeof o.memo !== 'string') return new Error(`${path}.memo: is not a string`) + if (opts.memo_CustomCheck && !opts.memo_CustomCheck(o.memo)) return new Error(`${path}.memo: custom check failed`) + + return null +} + +export type LnurlLinkResponse = { + lnurl: string + k1: string +} +export const LnurlLinkResponseOptionalFields: [] = [] +export type LnurlLinkResponseOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + lnurl_CustomCheck?: (v: string) => boolean + k1_CustomCheck?: (v: string) => boolean +} +export const LnurlLinkResponseValidate = (o?: LnurlLinkResponse, opts: LnurlLinkResponseOptions = {}, path: string = 'LnurlLinkResponse::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.lnurl !== 'string') return new Error(`${path}.lnurl: is not a string`) + if (opts.lnurl_CustomCheck && !opts.lnurl_CustomCheck(o.lnurl)) return new Error(`${path}.lnurl: custom check failed`) + + if (typeof o.k1 !== 'string') return new Error(`${path}.k1: is not a string`) + if (opts.k1_CustomCheck && !opts.k1_CustomCheck(o.k1)) return new Error(`${path}.k1: custom check failed`) + + return null +} + export type LnurlWithdrawInfoResponse = { tag: string callback: string @@ -223,180 +608,6 @@ export const LnurlWithdrawInfoResponseValidate = (o?: LnurlWithdrawInfoResponse, return null } -export type GetProductBuyLinkResponse = { - link: string -} -export const GetProductBuyLinkResponseOptionalFields: [] = [] -export type GetProductBuyLinkResponseOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - link_CustomCheck?: (v: string) => boolean -} -export const GetProductBuyLinkResponseValidate = (o?: GetProductBuyLinkResponse, opts: GetProductBuyLinkResponseOptions = {}, path: string = 'GetProductBuyLinkResponse::root.'): Error | null => { - if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') - if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - - if (typeof o.link !== 'string') return new Error(`${path}.link: is not a string`) - if (opts.link_CustomCheck && !opts.link_CustomCheck(o.link)) return new Error(`${path}.link: custom check failed`) - - return null -} - -export type NewAddressRequest = { - addressType: AddressType -} -export const NewAddressRequestOptionalFields: [] = [] -export type NewAddressRequestOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - addressType_CustomCheck?: (v: AddressType) => boolean -} -export const NewAddressRequestValidate = (o?: NewAddressRequest, opts: NewAddressRequestOptions = {}, path: string = 'NewAddressRequest::root.'): Error | null => { - if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') - if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - - if (!enumCheckAddressType(o.addressType)) return new Error(`${path}.addressType: is not a valid AddressType`) - if (opts.addressType_CustomCheck && !opts.addressType_CustomCheck(o.addressType)) return new Error(`${path}.addressType: custom check failed`) - - return null -} - -export type NewAddressResponse = { - address: string -} -export const NewAddressResponseOptionalFields: [] = [] -export type NewAddressResponseOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - address_CustomCheck?: (v: string) => boolean -} -export const NewAddressResponseValidate = (o?: NewAddressResponse, opts: NewAddressResponseOptions = {}, path: string = 'NewAddressResponse::root.'): Error | null => { - if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') - if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - - if (typeof o.address !== 'string') return new Error(`${path}.address: is not a string`) - if (opts.address_CustomCheck && !opts.address_CustomCheck(o.address)) return new Error(`${path}.address: custom check failed`) - - return null -} - -export type PayInvoiceRequest = { - invoice: string - amount: number -} -export const PayInvoiceRequestOptionalFields: [] = [] -export type PayInvoiceRequestOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - invoice_CustomCheck?: (v: string) => boolean - amount_CustomCheck?: (v: number) => boolean -} -export const PayInvoiceRequestValidate = (o?: PayInvoiceRequest, opts: PayInvoiceRequestOptions = {}, path: string = 'PayInvoiceRequest::root.'): Error | null => { - if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') - if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - - if (typeof o.invoice !== 'string') return new Error(`${path}.invoice: is not a string`) - if (opts.invoice_CustomCheck && !opts.invoice_CustomCheck(o.invoice)) return new Error(`${path}.invoice: custom check failed`) - - if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) - if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) - - return null -} - -export type AddUserRequest = { - callbackUrl: string - name: string - secret: string -} -export const AddUserRequestOptionalFields: [] = [] -export type AddUserRequestOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - callbackUrl_CustomCheck?: (v: string) => boolean - name_CustomCheck?: (v: string) => boolean - secret_CustomCheck?: (v: string) => boolean -} -export const AddUserRequestValidate = (o?: AddUserRequest, opts: AddUserRequestOptions = {}, path: string = 'AddUserRequest::root.'): Error | null => { - if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') - if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - - if (typeof o.callbackUrl !== 'string') return new Error(`${path}.callbackUrl: is not a string`) - if (opts.callbackUrl_CustomCheck && !opts.callbackUrl_CustomCheck(o.callbackUrl)) return new Error(`${path}.callbackUrl: custom check failed`) - - if (typeof o.name !== 'string') return new Error(`${path}.name: is not a string`) - if (opts.name_CustomCheck && !opts.name_CustomCheck(o.name)) return new Error(`${path}.name: custom check failed`) - - if (typeof o.secret !== 'string') return new Error(`${path}.secret: is not a string`) - if (opts.secret_CustomCheck && !opts.secret_CustomCheck(o.secret)) return new Error(`${path}.secret: custom check failed`) - - return null -} - -export type UserOperation = { - paidAtUnix: number - type: UserOperationType - inbound: boolean - amount: number -} -export const UserOperationOptionalFields: [] = [] -export type UserOperationOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - paidAtUnix_CustomCheck?: (v: number) => boolean - type_CustomCheck?: (v: UserOperationType) => boolean - inbound_CustomCheck?: (v: boolean) => boolean - amount_CustomCheck?: (v: number) => boolean -} -export const UserOperationValidate = (o?: UserOperation, opts: UserOperationOptions = {}, path: string = 'UserOperation::root.'): Error | null => { - if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') - if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - - if (typeof o.paidAtUnix !== 'number') return new Error(`${path}.paidAtUnix: is not a number`) - if (opts.paidAtUnix_CustomCheck && !opts.paidAtUnix_CustomCheck(o.paidAtUnix)) return new Error(`${path}.paidAtUnix: custom check failed`) - - if (!enumCheckUserOperationType(o.type)) return new Error(`${path}.type: is not a valid UserOperationType`) - if (opts.type_CustomCheck && !opts.type_CustomCheck(o.type)) return new Error(`${path}.type: custom check failed`) - - if (typeof o.inbound !== 'boolean') return new Error(`${path}.inbound: is not a boolean`) - if (opts.inbound_CustomCheck && !opts.inbound_CustomCheck(o.inbound)) return new Error(`${path}.inbound: custom check failed`) - - if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) - if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) - - return null -} - -export type PayAddressResponse = { - txId: string -} -export const PayAddressResponseOptionalFields: [] = [] -export type PayAddressResponseOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - txId_CustomCheck?: (v: string) => boolean -} -export const PayAddressResponseValidate = (o?: PayAddressResponse, opts: PayAddressResponseOptions = {}, path: string = 'PayAddressResponse::root.'): Error | null => { - if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') - if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - - if (typeof o.txId !== 'string') return new Error(`${path}.txId: is not a string`) - if (opts.txId_CustomCheck && !opts.txId_CustomCheck(o.txId)) return new Error(`${path}.txId: custom check failed`) - - return null -} - -export type DecodeInvoiceResponse = { - amount: number -} -export const DecodeInvoiceResponseOptionalFields: [] = [] -export type DecodeInvoiceResponseOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - amount_CustomCheck?: (v: number) => boolean -} -export const DecodeInvoiceResponseValidate = (o?: DecodeInvoiceResponse, opts: DecodeInvoiceResponseOptions = {}, path: string = 'DecodeInvoiceResponse::root.'): Error | null => { - if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') - if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - - if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) - if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) - - return null -} - export type LnurlPayInfoResponse = { tag: string callback: string @@ -435,168 +646,145 @@ export const LnurlPayInfoResponseValidate = (o?: LnurlPayInfoResponse, opts: Lnu return null } -export type Product = { - id: string - name: string - price_sats: number +export type HandleLnurlPayResponse = { + pr: string + routes: Empty[] } -export const ProductOptionalFields: [] = [] -export type ProductOptions = OptionsBaseMessage & { +export const HandleLnurlPayResponseOptionalFields: [] = [] +export type HandleLnurlPayResponseOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - id_CustomCheck?: (v: string) => boolean - name_CustomCheck?: (v: string) => boolean - price_sats_CustomCheck?: (v: number) => boolean + pr_CustomCheck?: (v: string) => boolean + routes_ItemOptions?: EmptyOptions + routes_CustomCheck?: (v: Empty[]) => boolean } -export const ProductValidate = (o?: Product, opts: ProductOptions = {}, path: string = 'Product::root.'): Error | null => { +export const HandleLnurlPayResponseValidate = (o?: HandleLnurlPayResponse, opts: HandleLnurlPayResponseOptions = {}, path: string = 'HandleLnurlPayResponse::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.id !== 'string') return new Error(`${path}.id: is not a string`) - if (opts.id_CustomCheck && !opts.id_CustomCheck(o.id)) return new Error(`${path}.id: custom check failed`) + if (typeof o.pr !== 'string') return new Error(`${path}.pr: is not a string`) + if (opts.pr_CustomCheck && !opts.pr_CustomCheck(o.pr)) return new Error(`${path}.pr: custom check failed`) + + if (!Array.isArray(o.routes)) return new Error(`${path}.routes: is not an array`) + for (let index = 0; index < o.routes.length; index++) { + const routesErr = EmptyValidate(o.routes[index], opts.routes_ItemOptions, `${path}.routes[${index}]`) + if (routesErr !== null) return routesErr + } + if (opts.routes_CustomCheck && !opts.routes_CustomCheck(o.routes)) return new Error(`${path}.routes: custom check failed`) + + return null +} + +export type AddAppRequest = { + name: string +} +export const AddAppRequestOptionalFields: [] = [] +export type AddAppRequestOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + name_CustomCheck?: (v: string) => boolean +} +export const AddAppRequestValidate = (o?: AddAppRequest, opts: AddAppRequestOptions = {}, path: string = 'AddAppRequest::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') if (typeof o.name !== 'string') return new Error(`${path}.name: is not a string`) if (opts.name_CustomCheck && !opts.name_CustomCheck(o.name)) return new Error(`${path}.name: custom check failed`) - if (typeof o.price_sats !== 'number') return new Error(`${path}.price_sats: is not a number`) - if (opts.price_sats_CustomCheck && !opts.price_sats_CustomCheck(o.price_sats)) return new Error(`${path}.price_sats: custom check failed`) - return null } -export type EncryptionExchangeRequest = { - publicKey: string - deviceId: string +export type SendAppUserToAppPaymentRequest = { + from_user_identifier: string + amount: number } -export const EncryptionExchangeRequestOptionalFields: [] = [] -export type EncryptionExchangeRequestOptions = OptionsBaseMessage & { +export const SendAppUserToAppPaymentRequestOptionalFields: [] = [] +export type SendAppUserToAppPaymentRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - publicKey_CustomCheck?: (v: string) => boolean - deviceId_CustomCheck?: (v: string) => boolean + from_user_identifier_CustomCheck?: (v: string) => boolean + amount_CustomCheck?: (v: number) => boolean } -export const EncryptionExchangeRequestValidate = (o?: EncryptionExchangeRequest, opts: EncryptionExchangeRequestOptions = {}, path: string = 'EncryptionExchangeRequest::root.'): Error | null => { +export const SendAppUserToAppPaymentRequestValidate = (o?: SendAppUserToAppPaymentRequest, opts: SendAppUserToAppPaymentRequestOptions = {}, path: string = 'SendAppUserToAppPaymentRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.publicKey !== 'string') return new Error(`${path}.publicKey: is not a string`) - if (opts.publicKey_CustomCheck && !opts.publicKey_CustomCheck(o.publicKey)) return new Error(`${path}.publicKey: custom check failed`) + if (typeof o.from_user_identifier !== 'string') return new Error(`${path}.from_user_identifier: is not a string`) + if (opts.from_user_identifier_CustomCheck && !opts.from_user_identifier_CustomCheck(o.from_user_identifier)) return new Error(`${path}.from_user_identifier: custom check failed`) - if (typeof o.deviceId !== 'string') return new Error(`${path}.deviceId: is not a string`) - if (opts.deviceId_CustomCheck && !opts.deviceId_CustomCheck(o.deviceId)) return new Error(`${path}.deviceId: custom check failed`) + if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) + if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) return null } -export type NewInvoiceRequest = { - amountSats: number - memo: string +export type PayAddressResponse = { + txId: string } -export const NewInvoiceRequestOptionalFields: [] = [] -export type NewInvoiceRequestOptions = OptionsBaseMessage & { +export const PayAddressResponseOptionalFields: [] = [] +export type PayAddressResponseOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - amountSats_CustomCheck?: (v: number) => boolean - memo_CustomCheck?: (v: string) => boolean + txId_CustomCheck?: (v: string) => boolean } -export const NewInvoiceRequestValidate = (o?: NewInvoiceRequest, opts: NewInvoiceRequestOptions = {}, path: string = 'NewInvoiceRequest::root.'): Error | null => { +export const PayAddressResponseValidate = (o?: PayAddressResponse, opts: PayAddressResponseOptions = {}, path: string = 'PayAddressResponse::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.amountSats !== 'number') return new Error(`${path}.amountSats: is not a number`) - if (opts.amountSats_CustomCheck && !opts.amountSats_CustomCheck(o.amountSats)) return new Error(`${path}.amountSats: custom check failed`) - - if (typeof o.memo !== 'string') return new Error(`${path}.memo: is not a string`) - if (opts.memo_CustomCheck && !opts.memo_CustomCheck(o.memo)) return new Error(`${path}.memo: custom check failed`) + if (typeof o.txId !== 'string') return new Error(`${path}.txId: is not a string`) + if (opts.txId_CustomCheck && !opts.txId_CustomCheck(o.txId)) return new Error(`${path}.txId: custom check failed`) return null } -export type PayInvoiceResponse = { - preimage: string -} -export const PayInvoiceResponseOptionalFields: [] = [] -export type PayInvoiceResponseOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - preimage_CustomCheck?: (v: string) => boolean -} -export const PayInvoiceResponseValidate = (o?: PayInvoiceResponse, opts: PayInvoiceResponseOptions = {}, path: string = 'PayInvoiceResponse::root.'): Error | null => { - if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') - if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - - if (typeof o.preimage !== 'string') return new Error(`${path}.preimage: is not a string`) - if (opts.preimage_CustomCheck && !opts.preimage_CustomCheck(o.preimage)) return new Error(`${path}.preimage: custom check failed`) - - return null -} - -export type OpenChannelResponse = { - channelId: string -} -export const OpenChannelResponseOptionalFields: [] = [] -export type OpenChannelResponseOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - channelId_CustomCheck?: (v: string) => boolean -} -export const OpenChannelResponseValidate = (o?: OpenChannelResponse, opts: OpenChannelResponseOptions = {}, path: string = 'OpenChannelResponse::root.'): Error | null => { - if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') - if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - - if (typeof o.channelId !== 'string') return new Error(`${path}.channelId: is not a string`) - if (opts.channelId_CustomCheck && !opts.channelId_CustomCheck(o.channelId)) return new Error(`${path}.channelId: custom check failed`) - - return null -} - -export type UserInfo = { +export type AuthUserResponse = { userId: string - balance: number + authToken: string } -export const UserInfoOptionalFields: [] = [] -export type UserInfoOptions = OptionsBaseMessage & { +export const AuthUserResponseOptionalFields: [] = [] +export type AuthUserResponseOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] userId_CustomCheck?: (v: string) => boolean - balance_CustomCheck?: (v: number) => boolean + authToken_CustomCheck?: (v: string) => boolean } -export const UserInfoValidate = (o?: UserInfo, opts: UserInfoOptions = {}, path: string = 'UserInfo::root.'): Error | null => { +export const AuthUserResponseValidate = (o?: AuthUserResponse, opts: AuthUserResponseOptions = {}, path: string = 'AuthUserResponse::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') if (typeof o.userId !== 'string') return new Error(`${path}.userId: is not a string`) if (opts.userId_CustomCheck && !opts.userId_CustomCheck(o.userId)) return new Error(`${path}.userId: custom check failed`) - if (typeof o.balance !== 'number') return new Error(`${path}.balance: is not a number`) - if (opts.balance_CustomCheck && !opts.balance_CustomCheck(o.balance)) return new Error(`${path}.balance: custom check failed`) + if (typeof o.authToken !== 'string') return new Error(`${path}.authToken: is not a string`) + if (opts.authToken_CustomCheck && !opts.authToken_CustomCheck(o.authToken)) return new Error(`${path}.authToken: custom check failed`) return null } -export type GetUserOperationsRequest = { - latestIncomingInvoice: number - latestOutgoingInvoice: number - latestIncomingTx: number - latestOutgoingTx: number +export type UserOperation = { + paidAtUnix: number + type: UserOperationType + inbound: boolean + amount: number } -export const GetUserOperationsRequestOptionalFields: [] = [] -export type GetUserOperationsRequestOptions = OptionsBaseMessage & { +export const UserOperationOptionalFields: [] = [] +export type UserOperationOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - latestIncomingInvoice_CustomCheck?: (v: number) => boolean - latestOutgoingInvoice_CustomCheck?: (v: number) => boolean - latestIncomingTx_CustomCheck?: (v: number) => boolean - latestOutgoingTx_CustomCheck?: (v: number) => boolean + paidAtUnix_CustomCheck?: (v: number) => boolean + type_CustomCheck?: (v: UserOperationType) => boolean + inbound_CustomCheck?: (v: boolean) => boolean + amount_CustomCheck?: (v: number) => boolean } -export const GetUserOperationsRequestValidate = (o?: GetUserOperationsRequest, opts: GetUserOperationsRequestOptions = {}, path: string = 'GetUserOperationsRequest::root.'): Error | null => { +export const UserOperationValidate = (o?: UserOperation, opts: UserOperationOptions = {}, path: string = 'UserOperation::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.latestIncomingInvoice !== 'number') return new Error(`${path}.latestIncomingInvoice: is not a number`) - if (opts.latestIncomingInvoice_CustomCheck && !opts.latestIncomingInvoice_CustomCheck(o.latestIncomingInvoice)) return new Error(`${path}.latestIncomingInvoice: custom check failed`) + if (typeof o.paidAtUnix !== 'number') return new Error(`${path}.paidAtUnix: is not a number`) + if (opts.paidAtUnix_CustomCheck && !opts.paidAtUnix_CustomCheck(o.paidAtUnix)) return new Error(`${path}.paidAtUnix: custom check failed`) - if (typeof o.latestOutgoingInvoice !== 'number') return new Error(`${path}.latestOutgoingInvoice: is not a number`) - if (opts.latestOutgoingInvoice_CustomCheck && !opts.latestOutgoingInvoice_CustomCheck(o.latestOutgoingInvoice)) return new Error(`${path}.latestOutgoingInvoice: custom check failed`) + if (!enumCheckUserOperationType(o.type)) return new Error(`${path}.type: is not a valid UserOperationType`) + if (opts.type_CustomCheck && !opts.type_CustomCheck(o.type)) return new Error(`${path}.type: custom check failed`) - if (typeof o.latestIncomingTx !== 'number') return new Error(`${path}.latestIncomingTx: is not a number`) - if (opts.latestIncomingTx_CustomCheck && !opts.latestIncomingTx_CustomCheck(o.latestIncomingTx)) return new Error(`${path}.latestIncomingTx: custom check failed`) + if (typeof o.inbound !== 'boolean') return new Error(`${path}.inbound: is not a boolean`) + if (opts.inbound_CustomCheck && !opts.inbound_CustomCheck(o.inbound)) return new Error(`${path}.inbound: custom check failed`) - if (typeof o.latestOutgoingTx !== 'number') return new Error(`${path}.latestOutgoingTx: is not a number`) - if (opts.latestOutgoingTx_CustomCheck && !opts.latestOutgoingTx_CustomCheck(o.latestOutgoingTx)) return new Error(`${path}.latestOutgoingTx: custom check failed`) + if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) + if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) return null } @@ -652,109 +840,97 @@ export const PayAddressRequestValidate = (o?: PayAddressRequest, opts: PayAddres return null } -export type OpenChannelRequest = { - destination: string - fundingAmount: number - pushAmount: number - closeAddress: string +export type UserInfo = { + userId: string + balance: number } -export const OpenChannelRequestOptionalFields: [] = [] -export type OpenChannelRequestOptions = OptionsBaseMessage & { +export const UserInfoOptionalFields: [] = [] +export type UserInfoOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - destination_CustomCheck?: (v: string) => boolean - fundingAmount_CustomCheck?: (v: number) => boolean - pushAmount_CustomCheck?: (v: number) => boolean - closeAddress_CustomCheck?: (v: string) => boolean + userId_CustomCheck?: (v: string) => boolean + balance_CustomCheck?: (v: number) => boolean } -export const OpenChannelRequestValidate = (o?: OpenChannelRequest, opts: OpenChannelRequestOptions = {}, path: string = 'OpenChannelRequest::root.'): Error | null => { +export const UserInfoValidate = (o?: UserInfo, opts: UserInfoOptions = {}, path: string = 'UserInfo::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.destination !== 'string') return new Error(`${path}.destination: is not a string`) - if (opts.destination_CustomCheck && !opts.destination_CustomCheck(o.destination)) return new Error(`${path}.destination: custom check failed`) + if (typeof o.userId !== 'string') return new Error(`${path}.userId: is not a string`) + if (opts.userId_CustomCheck && !opts.userId_CustomCheck(o.userId)) return new Error(`${path}.userId: custom check failed`) - if (typeof o.fundingAmount !== 'number') return new Error(`${path}.fundingAmount: is not a number`) - if (opts.fundingAmount_CustomCheck && !opts.fundingAmount_CustomCheck(o.fundingAmount)) return new Error(`${path}.fundingAmount: custom check failed`) - - if (typeof o.pushAmount !== 'number') return new Error(`${path}.pushAmount: is not a number`) - if (opts.pushAmount_CustomCheck && !opts.pushAmount_CustomCheck(o.pushAmount)) return new Error(`${path}.pushAmount: custom check failed`) - - if (typeof o.closeAddress !== 'string') return new Error(`${path}.closeAddress: is not a string`) - if (opts.closeAddress_CustomCheck && !opts.closeAddress_CustomCheck(o.closeAddress)) return new Error(`${path}.closeAddress: custom check failed`) + if (typeof o.balance !== 'number') return new Error(`${path}.balance: is not a number`) + if (opts.balance_CustomCheck && !opts.balance_CustomCheck(o.balance)) return new Error(`${path}.balance: custom check failed`) return null } -export type LnurlLinkResponse = { - lnurl: string - k1: string +export type GetProductBuyLinkResponse = { + link: string } -export const LnurlLinkResponseOptionalFields: [] = [] -export type LnurlLinkResponseOptions = OptionsBaseMessage & { +export const GetProductBuyLinkResponseOptionalFields: [] = [] +export type GetProductBuyLinkResponseOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - lnurl_CustomCheck?: (v: string) => boolean - k1_CustomCheck?: (v: string) => boolean + link_CustomCheck?: (v: string) => boolean } -export const LnurlLinkResponseValidate = (o?: LnurlLinkResponse, opts: LnurlLinkResponseOptions = {}, path: string = 'LnurlLinkResponse::root.'): Error | null => { +export const GetProductBuyLinkResponseValidate = (o?: GetProductBuyLinkResponse, opts: GetProductBuyLinkResponseOptions = {}, path: string = 'GetProductBuyLinkResponse::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.lnurl !== 'string') return new Error(`${path}.lnurl: is not a string`) - if (opts.lnurl_CustomCheck && !opts.lnurl_CustomCheck(o.lnurl)) return new Error(`${path}.lnurl: custom check failed`) - - if (typeof o.k1 !== 'string') return new Error(`${path}.k1: is not a string`) - if (opts.k1_CustomCheck && !opts.k1_CustomCheck(o.k1)) return new Error(`${path}.k1: custom check failed`) + if (typeof o.link !== 'string') return new Error(`${path}.link: is not a string`) + if (opts.link_CustomCheck && !opts.link_CustomCheck(o.link)) return new Error(`${path}.link: custom check failed`) return null } -export type HandleLnurlPayResponse = { - pr: string - routes: Empty[] +export type LndGetInfoRequest = { + nodeId: number } -export const HandleLnurlPayResponseOptionalFields: [] = [] -export type HandleLnurlPayResponseOptions = OptionsBaseMessage & { +export const LndGetInfoRequestOptionalFields: [] = [] +export type LndGetInfoRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - pr_CustomCheck?: (v: string) => boolean - routes_ItemOptions?: EmptyOptions - routes_CustomCheck?: (v: Empty[]) => boolean + nodeId_CustomCheck?: (v: number) => boolean } -export const HandleLnurlPayResponseValidate = (o?: HandleLnurlPayResponse, opts: HandleLnurlPayResponseOptions = {}, path: string = 'HandleLnurlPayResponse::root.'): Error | null => { +export const LndGetInfoRequestValidate = (o?: LndGetInfoRequest, opts: LndGetInfoRequestOptions = {}, path: string = 'LndGetInfoRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.pr !== 'string') return new Error(`${path}.pr: is not a string`) - if (opts.pr_CustomCheck && !opts.pr_CustomCheck(o.pr)) return new Error(`${path}.pr: custom check failed`) - - if (!Array.isArray(o.routes)) return new Error(`${path}.routes: is not an array`) - for (let index = 0; index < o.routes.length; index++) { - const routesErr = EmptyValidate(o.routes[index], opts.routes_ItemOptions, `${path}.routes[${index}]`) - if (routesErr !== null) return routesErr - } - if (opts.routes_CustomCheck && !opts.routes_CustomCheck(o.routes)) return new Error(`${path}.routes: custom check failed`) + if (typeof o.nodeId !== 'number') return new Error(`${path}.nodeId: is not a number`) + if (opts.nodeId_CustomCheck && !opts.nodeId_CustomCheck(o.nodeId)) return new Error(`${path}.nodeId: custom check failed`) return null } -export type AuthUserRequest = { - name: string - secret: string +export type NewAddressRequest = { + addressType: AddressType } -export const AuthUserRequestOptionalFields: [] = [] -export type AuthUserRequestOptions = OptionsBaseMessage & { +export const NewAddressRequestOptionalFields: [] = [] +export type NewAddressRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - name_CustomCheck?: (v: string) => boolean - secret_CustomCheck?: (v: string) => boolean + addressType_CustomCheck?: (v: AddressType) => boolean } -export const AuthUserRequestValidate = (o?: AuthUserRequest, opts: AuthUserRequestOptions = {}, path: string = 'AuthUserRequest::root.'): Error | null => { +export const NewAddressRequestValidate = (o?: NewAddressRequest, opts: NewAddressRequestOptions = {}, path: string = 'NewAddressRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.name !== 'string') return new Error(`${path}.name: is not a string`) - if (opts.name_CustomCheck && !opts.name_CustomCheck(o.name)) return new Error(`${path}.name: custom check failed`) + if (!enumCheckAddressType(o.addressType)) return new Error(`${path}.addressType: is not a valid AddressType`) + if (opts.addressType_CustomCheck && !opts.addressType_CustomCheck(o.addressType)) return new Error(`${path}.addressType: custom check failed`) - if (typeof o.secret !== 'string') return new Error(`${path}.secret: is not a string`) - if (opts.secret_CustomCheck && !opts.secret_CustomCheck(o.secret)) return new Error(`${path}.secret: custom check failed`) + return null +} + +export type NewAddressResponse = { + address: string +} +export const NewAddressResponseOptionalFields: [] = [] +export type NewAddressResponseOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + address_CustomCheck?: (v: string) => boolean +} +export const NewAddressResponseValidate = (o?: NewAddressResponse, opts: NewAddressResponseOptions = {}, path: string = 'NewAddressResponse::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.address !== 'string') return new Error(`${path}.address: is not a string`) + if (opts.address_CustomCheck && !opts.address_CustomCheck(o.address)) return new Error(`${path}.address: custom check failed`) return null } @@ -792,6 +968,104 @@ export const UserOperationsValidate = (o?: UserOperations, opts: UserOperationsO return null } +export type AddAppUserInvoiceRequest = { + receiver_identifier: string + payer_identifier: string + http_callback_url: string + invoice_req: NewInvoiceRequest +} +export const AddAppUserInvoiceRequestOptionalFields: [] = [] +export type AddAppUserInvoiceRequestOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + receiver_identifier_CustomCheck?: (v: string) => boolean + payer_identifier_CustomCheck?: (v: string) => boolean + http_callback_url_CustomCheck?: (v: string) => boolean + invoice_req_Options?: NewInvoiceRequestOptions +} +export const AddAppUserInvoiceRequestValidate = (o?: AddAppUserInvoiceRequest, opts: AddAppUserInvoiceRequestOptions = {}, path: string = 'AddAppUserInvoiceRequest::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.receiver_identifier !== 'string') return new Error(`${path}.receiver_identifier: is not a string`) + if (opts.receiver_identifier_CustomCheck && !opts.receiver_identifier_CustomCheck(o.receiver_identifier)) return new Error(`${path}.receiver_identifier: custom check failed`) + + if (typeof o.payer_identifier !== 'string') return new Error(`${path}.payer_identifier: is not a string`) + if (opts.payer_identifier_CustomCheck && !opts.payer_identifier_CustomCheck(o.payer_identifier)) return new Error(`${path}.payer_identifier: custom check failed`) + + if (typeof o.http_callback_url !== 'string') return new Error(`${path}.http_callback_url: is not a string`) + if (opts.http_callback_url_CustomCheck && !opts.http_callback_url_CustomCheck(o.http_callback_url)) return new Error(`${path}.http_callback_url: custom check failed`) + + const invoice_reqErr = NewInvoiceRequestValidate(o.invoice_req, opts.invoice_req_Options, `${path}.invoice_req`) + if (invoice_reqErr !== null) return invoice_reqErr + + + return null +} + +export type GetAppUserRequest = { + user_identifier: string +} +export const GetAppUserRequestOptionalFields: [] = [] +export type GetAppUserRequestOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + user_identifier_CustomCheck?: (v: string) => boolean +} +export const GetAppUserRequestValidate = (o?: GetAppUserRequest, opts: GetAppUserRequestOptions = {}, path: string = 'GetAppUserRequest::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.user_identifier !== 'string') return new Error(`${path}.user_identifier: is not a string`) + if (opts.user_identifier_CustomCheck && !opts.user_identifier_CustomCheck(o.user_identifier)) return new Error(`${path}.user_identifier: custom check failed`) + + return null +} + +export type AuthUserRequest = { + name: string + secret: string +} +export const AuthUserRequestOptionalFields: [] = [] +export type AuthUserRequestOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + name_CustomCheck?: (v: string) => boolean + secret_CustomCheck?: (v: string) => boolean +} +export const AuthUserRequestValidate = (o?: AuthUserRequest, opts: AuthUserRequestOptions = {}, path: string = 'AuthUserRequest::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.name !== 'string') return new Error(`${path}.name: is not a string`) + if (opts.name_CustomCheck && !opts.name_CustomCheck(o.name)) return new Error(`${path}.name: custom check failed`) + + if (typeof o.secret !== 'string') return new Error(`${path}.secret: is not a string`) + if (opts.secret_CustomCheck && !opts.secret_CustomCheck(o.secret)) return new Error(`${path}.secret: custom check failed`) + + return null +} + +export type AddUserResponse = { + userId: string + authToken: string +} +export const AddUserResponseOptionalFields: [] = [] +export type AddUserResponseOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + userId_CustomCheck?: (v: string) => boolean + authToken_CustomCheck?: (v: string) => boolean +} +export const AddUserResponseValidate = (o?: AddUserResponse, opts: AddUserResponseOptions = {}, path: string = 'AddUserResponse::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.userId !== 'string') return new Error(`${path}.userId: is not a string`) + if (opts.userId_CustomCheck && !opts.userId_CustomCheck(o.userId)) return new Error(`${path}.userId: custom check failed`) + + if (typeof o.authToken !== 'string') return new Error(`${path}.authToken: is not a string`) + if (opts.authToken_CustomCheck && !opts.authToken_CustomCheck(o.authToken)) return new Error(`${path}.authToken: custom check failed`) + + return null +} + export type Empty = { } export const EmptyOptionalFields: [] = [] @@ -805,6 +1079,47 @@ export const EmptyValidate = (o?: Empty, opts: EmptyOptions = {}, path: string = return null } +export type PayAppUserInvoiceResponse = { + preimage: string + amount_paid: number +} +export const PayAppUserInvoiceResponseOptionalFields: [] = [] +export type PayAppUserInvoiceResponseOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + preimage_CustomCheck?: (v: string) => boolean + amount_paid_CustomCheck?: (v: number) => boolean +} +export const PayAppUserInvoiceResponseValidate = (o?: PayAppUserInvoiceResponse, opts: PayAppUserInvoiceResponseOptions = {}, path: string = 'PayAppUserInvoiceResponse::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.preimage !== 'string') return new Error(`${path}.preimage: is not a string`) + if (opts.preimage_CustomCheck && !opts.preimage_CustomCheck(o.preimage)) return new Error(`${path}.preimage: custom check failed`) + + if (typeof o.amount_paid !== 'number') return new Error(`${path}.amount_paid: is not a number`) + if (opts.amount_paid_CustomCheck && !opts.amount_paid_CustomCheck(o.amount_paid)) return new Error(`${path}.amount_paid: custom check failed`) + + return null +} + +export type OpenChannelResponse = { + channelId: string +} +export const OpenChannelResponseOptionalFields: [] = [] +export type OpenChannelResponseOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + channelId_CustomCheck?: (v: string) => boolean +} +export const OpenChannelResponseValidate = (o?: OpenChannelResponse, opts: OpenChannelResponseOptions = {}, path: string = 'OpenChannelResponse::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.channelId !== 'string') return new Error(`${path}.channelId: is not a string`) + if (opts.channelId_CustomCheck && !opts.channelId_CustomCheck(o.channelId)) return new Error(`${path}.channelId: custom check failed`) + + return null +} + export type NewInvoiceResponse = { invoice: string } @@ -841,20 +1156,97 @@ export const DecodeInvoiceRequestValidate = (o?: DecodeInvoiceRequest, opts: Dec return null } -export type LndGetInfoRequest = { - nodeId: number +export type PayInvoiceRequest = { + invoice: string + amount: number } -export const LndGetInfoRequestOptionalFields: [] = [] -export type LndGetInfoRequestOptions = OptionsBaseMessage & { +export const PayInvoiceRequestOptionalFields: [] = [] +export type PayInvoiceRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - nodeId_CustomCheck?: (v: number) => boolean + invoice_CustomCheck?: (v: string) => boolean + amount_CustomCheck?: (v: number) => boolean } -export const LndGetInfoRequestValidate = (o?: LndGetInfoRequest, opts: LndGetInfoRequestOptions = {}, path: string = 'LndGetInfoRequest::root.'): Error | null => { +export const PayInvoiceRequestValidate = (o?: PayInvoiceRequest, opts: PayInvoiceRequestOptions = {}, path: string = 'PayInvoiceRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.nodeId !== 'number') return new Error(`${path}.nodeId: is not a number`) - if (opts.nodeId_CustomCheck && !opts.nodeId_CustomCheck(o.nodeId)) return new Error(`${path}.nodeId: custom check failed`) + if (typeof o.invoice !== 'string') return new Error(`${path}.invoice: is not a string`) + if (opts.invoice_CustomCheck && !opts.invoice_CustomCheck(o.invoice)) return new Error(`${path}.invoice: custom check failed`) + + if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) + if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) + + return null +} + +export type PayInvoiceResponse = { + preimage: string + amount_paid: number +} +export const PayInvoiceResponseOptionalFields: [] = [] +export type PayInvoiceResponseOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + preimage_CustomCheck?: (v: string) => boolean + amount_paid_CustomCheck?: (v: number) => boolean +} +export const PayInvoiceResponseValidate = (o?: PayInvoiceResponse, opts: PayInvoiceResponseOptions = {}, path: string = 'PayInvoiceResponse::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.preimage !== 'string') return new Error(`${path}.preimage: is not a string`) + if (opts.preimage_CustomCheck && !opts.preimage_CustomCheck(o.preimage)) return new Error(`${path}.preimage: custom check failed`) + + if (typeof o.amount_paid !== 'number') return new Error(`${path}.amount_paid: is not a number`) + if (opts.amount_paid_CustomCheck && !opts.amount_paid_CustomCheck(o.amount_paid)) return new Error(`${path}.amount_paid: custom check failed`) + + return null +} + +export type GetUserOperationsResponse = { + latestOutgoingInvoiceOperations: UserOperations + latestIncomingInvoiceOperations: UserOperations + latestOutgoingTxOperations: UserOperations + latestIncomingTxOperations: UserOperations + latestOutgoingUserToUserPayemnts: UserOperations + latestIncomingUserToUserPayemnts: UserOperations +} +export const GetUserOperationsResponseOptionalFields: [] = [] +export type GetUserOperationsResponseOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + latestOutgoingInvoiceOperations_Options?: UserOperationsOptions + latestIncomingInvoiceOperations_Options?: UserOperationsOptions + latestOutgoingTxOperations_Options?: UserOperationsOptions + latestIncomingTxOperations_Options?: UserOperationsOptions + latestOutgoingUserToUserPayemnts_Options?: UserOperationsOptions + latestIncomingUserToUserPayemnts_Options?: UserOperationsOptions +} +export const GetUserOperationsResponseValidate = (o?: GetUserOperationsResponse, opts: GetUserOperationsResponseOptions = {}, path: string = 'GetUserOperationsResponse::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + const latestOutgoingInvoiceOperationsErr = UserOperationsValidate(o.latestOutgoingInvoiceOperations, opts.latestOutgoingInvoiceOperations_Options, `${path}.latestOutgoingInvoiceOperations`) + if (latestOutgoingInvoiceOperationsErr !== null) return latestOutgoingInvoiceOperationsErr + + + const latestIncomingInvoiceOperationsErr = UserOperationsValidate(o.latestIncomingInvoiceOperations, opts.latestIncomingInvoiceOperations_Options, `${path}.latestIncomingInvoiceOperations`) + if (latestIncomingInvoiceOperationsErr !== null) return latestIncomingInvoiceOperationsErr + + + const latestOutgoingTxOperationsErr = UserOperationsValidate(o.latestOutgoingTxOperations, opts.latestOutgoingTxOperations_Options, `${path}.latestOutgoingTxOperations`) + if (latestOutgoingTxOperationsErr !== null) return latestOutgoingTxOperationsErr + + + const latestIncomingTxOperationsErr = UserOperationsValidate(o.latestIncomingTxOperations, opts.latestIncomingTxOperations_Options, `${path}.latestIncomingTxOperations`) + if (latestIncomingTxOperationsErr !== null) return latestIncomingTxOperationsErr + + + const latestOutgoingUserToUserPayemntsErr = UserOperationsValidate(o.latestOutgoingUserToUserPayemnts, opts.latestOutgoingUserToUserPayemnts_Options, `${path}.latestOutgoingUserToUserPayemnts`) + if (latestOutgoingUserToUserPayemntsErr !== null) return latestOutgoingUserToUserPayemntsErr + + + const latestIncomingUserToUserPayemntsErr = UserOperationsValidate(o.latestIncomingUserToUserPayemnts, opts.latestIncomingUserToUserPayemnts_Options, `${path}.latestIncomingUserToUserPayemnts`) + if (latestIncomingUserToUserPayemntsErr !== null) return latestIncomingUserToUserPayemntsErr + return null } @@ -877,84 +1269,58 @@ export const LndGetInfoResponseValidate = (o?: LndGetInfoResponse, opts: LndGetI return null } -export type AddUserResponse = { - userId: string - authToken: string +export type AddAppUserRequest = { + identifier: string + fail_if_exists: boolean + balance: number } -export const AddUserResponseOptionalFields: [] = [] -export type AddUserResponseOptions = OptionsBaseMessage & { +export const AddAppUserRequestOptionalFields: [] = [] +export type AddAppUserRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - userId_CustomCheck?: (v: string) => boolean - authToken_CustomCheck?: (v: string) => boolean + identifier_CustomCheck?: (v: string) => boolean + fail_if_exists_CustomCheck?: (v: boolean) => boolean + balance_CustomCheck?: (v: number) => boolean } -export const AddUserResponseValidate = (o?: AddUserResponse, opts: AddUserResponseOptions = {}, path: string = 'AddUserResponse::root.'): Error | null => { +export const AddAppUserRequestValidate = (o?: AddAppUserRequest, opts: AddAppUserRequestOptions = {}, path: string = 'AddAppUserRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.userId !== 'string') return new Error(`${path}.userId: is not a string`) - if (opts.userId_CustomCheck && !opts.userId_CustomCheck(o.userId)) return new Error(`${path}.userId: custom check failed`) + if (typeof o.identifier !== 'string') return new Error(`${path}.identifier: is not a string`) + if (opts.identifier_CustomCheck && !opts.identifier_CustomCheck(o.identifier)) return new Error(`${path}.identifier: custom check failed`) - if (typeof o.authToken !== 'string') return new Error(`${path}.authToken: is not a string`) - if (opts.authToken_CustomCheck && !opts.authToken_CustomCheck(o.authToken)) return new Error(`${path}.authToken: custom check failed`) + if (typeof o.fail_if_exists !== 'boolean') return new Error(`${path}.fail_if_exists: is not a boolean`) + if (opts.fail_if_exists_CustomCheck && !opts.fail_if_exists_CustomCheck(o.fail_if_exists)) return new Error(`${path}.fail_if_exists: custom check failed`) + + if (typeof o.balance !== 'number') return new Error(`${path}.balance: is not a number`) + if (opts.balance_CustomCheck && !opts.balance_CustomCheck(o.balance)) return new Error(`${path}.balance: custom check failed`) return null } -export type AuthUserResponse = { - userId: string - authToken: string +export type AddAppInvoiceRequest = { + payer_identifier: string + http_callback_url: string + invoice_req: NewInvoiceRequest } -export const AuthUserResponseOptionalFields: [] = [] -export type AuthUserResponseOptions = OptionsBaseMessage & { +export const AddAppInvoiceRequestOptionalFields: [] = [] +export type AddAppInvoiceRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - userId_CustomCheck?: (v: string) => boolean - authToken_CustomCheck?: (v: string) => boolean + payer_identifier_CustomCheck?: (v: string) => boolean + http_callback_url_CustomCheck?: (v: string) => boolean + invoice_req_Options?: NewInvoiceRequestOptions } -export const AuthUserResponseValidate = (o?: AuthUserResponse, opts: AuthUserResponseOptions = {}, path: string = 'AuthUserResponse::root.'): Error | null => { +export const AddAppInvoiceRequestValidate = (o?: AddAppInvoiceRequest, opts: AddAppInvoiceRequestOptions = {}, path: string = 'AddAppInvoiceRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.userId !== 'string') return new Error(`${path}.userId: is not a string`) - if (opts.userId_CustomCheck && !opts.userId_CustomCheck(o.userId)) return new Error(`${path}.userId: custom check failed`) + if (typeof o.payer_identifier !== 'string') return new Error(`${path}.payer_identifier: is not a string`) + if (opts.payer_identifier_CustomCheck && !opts.payer_identifier_CustomCheck(o.payer_identifier)) return new Error(`${path}.payer_identifier: custom check failed`) - if (typeof o.authToken !== 'string') return new Error(`${path}.authToken: is not a string`) - if (opts.authToken_CustomCheck && !opts.authToken_CustomCheck(o.authToken)) return new Error(`${path}.authToken: custom check failed`) + if (typeof o.http_callback_url !== 'string') return new Error(`${path}.http_callback_url: is not a string`) + if (opts.http_callback_url_CustomCheck && !opts.http_callback_url_CustomCheck(o.http_callback_url)) return new Error(`${path}.http_callback_url: custom check failed`) - return null -} - -export type GetUserOperationsResponse = { - latestOutgoingInvoiceOperations: UserOperations - latestIncomingInvoiceOperations: UserOperations - latestOutgoingTxOperations: UserOperations - latestIncomingTxOperations: UserOperations -} -export const GetUserOperationsResponseOptionalFields: [] = [] -export type GetUserOperationsResponseOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - latestOutgoingInvoiceOperations_Options?: UserOperationsOptions - latestIncomingInvoiceOperations_Options?: UserOperationsOptions - latestOutgoingTxOperations_Options?: UserOperationsOptions - latestIncomingTxOperations_Options?: UserOperationsOptions -} -export const GetUserOperationsResponseValidate = (o?: GetUserOperationsResponse, opts: GetUserOperationsResponseOptions = {}, path: string = 'GetUserOperationsResponse::root.'): Error | null => { - if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') - if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - - const latestOutgoingInvoiceOperationsErr = UserOperationsValidate(o.latestOutgoingInvoiceOperations, opts.latestOutgoingInvoiceOperations_Options, `${path}.latestOutgoingInvoiceOperations`) - if (latestOutgoingInvoiceOperationsErr !== null) return latestOutgoingInvoiceOperationsErr - - - const latestIncomingInvoiceOperationsErr = UserOperationsValidate(o.latestIncomingInvoiceOperations, opts.latestIncomingInvoiceOperations_Options, `${path}.latestIncomingInvoiceOperations`) - if (latestIncomingInvoiceOperationsErr !== null) return latestIncomingInvoiceOperationsErr - - - const latestOutgoingTxOperationsErr = UserOperationsValidate(o.latestOutgoingTxOperations, opts.latestOutgoingTxOperations_Options, `${path}.latestOutgoingTxOperations`) - if (latestOutgoingTxOperationsErr !== null) return latestOutgoingTxOperationsErr - - - const latestIncomingTxOperationsErr = UserOperationsValidate(o.latestIncomingTxOperations, opts.latestIncomingTxOperations_Options, `${path}.latestIncomingTxOperations`) - if (latestIncomingTxOperationsErr !== null) return latestIncomingTxOperationsErr + const invoice_reqErr = NewInvoiceRequestValidate(o.invoice_req, opts.invoice_req_Options, `${path}.invoice_req`) + if (invoice_reqErr !== null) return invoice_reqErr return null diff --git a/proto/protoc-gen-pub.exe b/proto/protoc-gen-pub old mode 100644 new mode 100755 similarity index 52% rename from proto/protoc-gen-pub.exe rename to proto/protoc-gen-pub index d2d94ec462d4ac7aa4e5dcf55dc8012c0c097827..fe77f4330efbe744be167ca13180c7d3fcc4c425 GIT binary patch literal 9016350 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%0A@tzg`J?NdcpD! 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