This commit is contained in:
pablof7z
2023-06-29 16:55:23 +02:00
parent 45e4f615a8
commit 59556e673b
4 changed files with 79 additions and 72 deletions

View File

@@ -35,7 +35,7 @@
"dependencies": {
"@inquirer/password": "^1.1.2",
"@inquirer/prompts": "^1.2.3",
"@nostr-dev-kit/ndk": "^0.6.0",
"@nostr-dev-kit/ndk": "^0.6.5",
"@prisma/client": "^4.16.1",
"@scure/base": "^1.1.1",
"@types/yargs": "^17.0.24",

116
pnpm-lock.yaml generated
View File

@@ -12,8 +12,8 @@ dependencies:
specifier: ^1.2.3
version: 1.2.3
'@nostr-dev-kit/ndk':
specifier: ^0.6.0
version: 0.6.0(typescript@5.1.3)
specifier: ^0.6.5
version: 0.6.5(typescript@5.1.3)
'@prisma/client':
specifier: ^4.16.1
version: 4.16.1(prisma@4.16.1)
@@ -23,12 +23,6 @@ dependencies:
'@types/yargs':
specifier: ^17.0.24
version: 17.0.24
'@typescript-eslint/eslint-plugin':
specifier: ^5.60.0
version: 5.60.0(@typescript-eslint/parser@5.60.0)(eslint@8.43.0)(typescript@5.1.3)
'@typescript-eslint/parser':
specifier: ^5.60.0
version: 5.60.0(eslint@8.43.0)(typescript@5.1.3)
dotenv:
specifier: ^16.3.1
version: 16.3.1
@@ -37,7 +31,7 @@ dependencies:
version: 8.8.0(eslint@8.43.0)
eslint-plugin-import:
specifier: ^2.27.5
version: 2.27.5(@typescript-eslint/parser@5.60.0)(eslint@8.43.0)
version: 2.27.5(@typescript-eslint/parser@5.60.1)(eslint@8.43.0)
eventemitter3:
specifier: ^5.0.1
version: 5.0.1
@@ -67,6 +61,11 @@ devDependencies:
packages:
/@aashutoshrathi/word-wrap@1.2.6:
resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
engines: {node: '>=0.10.0'}
dev: false
/@babel/code-frame@7.22.5:
resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==}
engines: {node: '>=6.9.0'}
@@ -545,20 +544,20 @@ packages:
fastq: 1.15.0
dev: false
/@nostr-dev-kit/ndk@0.6.0(typescript@5.1.3):
resolution: {integrity: sha512-0ptE6OIZhFW+aRRIXAI8PvUIoVU6iQLpiwFtJj48XAUO2EC3WiSuqKLshjg6wj1bbo9qGs1PyFS9AUhUlWWJtg==}
/@nostr-dev-kit/ndk@0.6.5(typescript@5.1.3):
resolution: {integrity: sha512-D95sDEonyFJhdTM1YswPOAYKaScnOlvZcxoyt9SlXnibT+gC9AGLtwAmpziK9zPC2h5Hh2GX44BnYXUGolLjZw==}
dependencies:
'@noble/hashes': 1.3.1
'@noble/secp256k1': 2.0.0
'@scure/base': 1.1.1
'@typescript-eslint/eslint-plugin': 5.60.0(@typescript-eslint/parser@5.60.0)(eslint@8.43.0)(typescript@5.1.3)
'@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@5.1.3)
'@typescript-eslint/eslint-plugin': 5.60.1(@typescript-eslint/parser@5.60.1)(eslint@8.43.0)(typescript@5.1.3)
'@typescript-eslint/parser': 5.60.1(eslint@8.43.0)(typescript@5.1.3)
debug: 4.3.4
esbuild: 0.17.19
esbuild-plugin-alias: 0.2.1
eslint: 8.43.0
eslint-config-prettier: 8.8.0(eslint@8.43.0)
eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.60.0)(eslint@8.43.0)
eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.60.1)(eslint@8.43.0)
esm-loader-typescript: 1.0.4
eventemitter3: 5.0.1
light-bolt11-decoder: 3.0.0
@@ -694,8 +693,8 @@ packages:
'@types/yargs-parser': 21.0.0
dev: false
/@typescript-eslint/eslint-plugin@5.60.0(@typescript-eslint/parser@5.60.0)(eslint@8.43.0)(typescript@5.1.3):
resolution: {integrity: sha512-78B+anHLF1TI8Jn/cD0Q00TBYdMgjdOn980JfAVa9yw5sop8nyTfVOQAv6LWywkOGLclDBtv5z3oxN4w7jxyNg==}
/@typescript-eslint/eslint-plugin@5.60.1(@typescript-eslint/parser@5.60.1)(eslint@8.43.0)(typescript@5.1.3):
resolution: {integrity: sha512-KSWsVvsJsLJv3c4e73y/Bzt7OpqMCADUO846bHcuWYSYM19bldbAeDv7dYyV0jwkbMfJ2XdlzwjhXtuD7OY6bw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
'@typescript-eslint/parser': ^5.0.0
@@ -706,10 +705,10 @@ packages:
optional: true
dependencies:
'@eslint-community/regexpp': 4.5.1
'@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@5.1.3)
'@typescript-eslint/scope-manager': 5.60.0
'@typescript-eslint/type-utils': 5.60.0(eslint@8.43.0)(typescript@5.1.3)
'@typescript-eslint/utils': 5.60.0(eslint@8.43.0)(typescript@5.1.3)
'@typescript-eslint/parser': 5.60.1(eslint@8.43.0)(typescript@5.1.3)
'@typescript-eslint/scope-manager': 5.60.1
'@typescript-eslint/type-utils': 5.60.1(eslint@8.43.0)(typescript@5.1.3)
'@typescript-eslint/utils': 5.60.1(eslint@8.43.0)(typescript@5.1.3)
debug: 4.3.4
eslint: 8.43.0
grapheme-splitter: 1.0.4
@@ -722,8 +721,8 @@ packages:
- supports-color
dev: false
/@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.1.3):
resolution: {integrity: sha512-jBONcBsDJ9UoTWrARkRRCgDz6wUggmH5RpQVlt7BimSwaTkTjwypGzKORXbR4/2Hqjk9hgwlon2rVQAjWNpkyQ==}
/@typescript-eslint/parser@5.60.1(eslint@8.43.0)(typescript@5.1.3):
resolution: {integrity: sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
@@ -732,9 +731,9 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/scope-manager': 5.60.0
'@typescript-eslint/types': 5.60.0
'@typescript-eslint/typescript-estree': 5.60.0(typescript@5.1.3)
'@typescript-eslint/scope-manager': 5.60.1
'@typescript-eslint/types': 5.60.1
'@typescript-eslint/typescript-estree': 5.60.1(typescript@5.1.3)
debug: 4.3.4
eslint: 8.43.0
typescript: 5.1.3
@@ -742,16 +741,16 @@ packages:
- supports-color
dev: false
/@typescript-eslint/scope-manager@5.60.0:
resolution: {integrity: sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==}
/@typescript-eslint/scope-manager@5.60.1:
resolution: {integrity: sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.60.0
'@typescript-eslint/visitor-keys': 5.60.0
'@typescript-eslint/types': 5.60.1
'@typescript-eslint/visitor-keys': 5.60.1
dev: false
/@typescript-eslint/type-utils@5.60.0(eslint@8.43.0)(typescript@5.1.3):
resolution: {integrity: sha512-X7NsRQddORMYRFH7FWo6sA9Y/zbJ8s1x1RIAtnlj6YprbToTiQnM6vxcMu7iYhdunmoC0rUWlca13D5DVHkK2g==}
/@typescript-eslint/type-utils@5.60.1(eslint@8.43.0)(typescript@5.1.3):
resolution: {integrity: sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '*'
@@ -760,8 +759,8 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/typescript-estree': 5.60.0(typescript@5.1.3)
'@typescript-eslint/utils': 5.60.0(eslint@8.43.0)(typescript@5.1.3)
'@typescript-eslint/typescript-estree': 5.60.1(typescript@5.1.3)
'@typescript-eslint/utils': 5.60.1(eslint@8.43.0)(typescript@5.1.3)
debug: 4.3.4
eslint: 8.43.0
tsutils: 3.21.0(typescript@5.1.3)
@@ -770,13 +769,13 @@ packages:
- supports-color
dev: false
/@typescript-eslint/types@5.60.0:
resolution: {integrity: sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==}
/@typescript-eslint/types@5.60.1:
resolution: {integrity: sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: false
/@typescript-eslint/typescript-estree@5.60.0(typescript@5.1.3):
resolution: {integrity: sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==}
/@typescript-eslint/typescript-estree@5.60.1(typescript@5.1.3):
resolution: {integrity: sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
typescript: '*'
@@ -784,8 +783,8 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/types': 5.60.0
'@typescript-eslint/visitor-keys': 5.60.0
'@typescript-eslint/types': 5.60.1
'@typescript-eslint/visitor-keys': 5.60.1
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
@@ -796,8 +795,8 @@ packages:
- supports-color
dev: false
/@typescript-eslint/utils@5.60.0(eslint@8.43.0)(typescript@5.1.3):
resolution: {integrity: sha512-ba51uMqDtfLQ5+xHtwlO84vkdjrqNzOnqrnwbMHMRY8Tqeme8C2Q8Fc7LajfGR+e3/4LoYiWXUM6BpIIbHJ4hQ==}
/@typescript-eslint/utils@5.60.1(eslint@8.43.0)(typescript@5.1.3):
resolution: {integrity: sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
@@ -805,9 +804,9 @@ packages:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0)
'@types/json-schema': 7.0.12
'@types/semver': 7.5.0
'@typescript-eslint/scope-manager': 5.60.0
'@typescript-eslint/types': 5.60.0
'@typescript-eslint/typescript-estree': 5.60.0(typescript@5.1.3)
'@typescript-eslint/scope-manager': 5.60.1
'@typescript-eslint/types': 5.60.1
'@typescript-eslint/typescript-estree': 5.60.1(typescript@5.1.3)
eslint: 8.43.0
eslint-scope: 5.1.1
semver: 7.5.3
@@ -816,11 +815,11 @@ packages:
- typescript
dev: false
/@typescript-eslint/visitor-keys@5.60.0:
resolution: {integrity: sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==}
/@typescript-eslint/visitor-keys@5.60.1:
resolution: {integrity: sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.60.0
'@typescript-eslint/types': 5.60.1
eslint-visitor-keys: 3.4.1
dev: false
@@ -1379,7 +1378,7 @@ packages:
- supports-color
dev: false
/eslint-module-utils@2.8.0(@typescript-eslint/parser@5.60.0)(eslint-import-resolver-node@0.3.7)(eslint@8.43.0):
/eslint-module-utils@2.8.0(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.7)(eslint@8.43.0):
resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
engines: {node: '>=4'}
peerDependencies:
@@ -1400,7 +1399,7 @@ packages:
eslint-import-resolver-webpack:
optional: true
dependencies:
'@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@5.1.3)
'@typescript-eslint/parser': 5.60.1(eslint@8.43.0)(typescript@5.1.3)
debug: 3.2.7
eslint: 8.43.0
eslint-import-resolver-node: 0.3.7
@@ -1408,7 +1407,7 @@ packages:
- supports-color
dev: false
/eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.60.0)(eslint@8.43.0):
/eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.60.1)(eslint@8.43.0):
resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==}
engines: {node: '>=4'}
peerDependencies:
@@ -1418,7 +1417,7 @@ packages:
'@typescript-eslint/parser':
optional: true
dependencies:
'@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@5.1.3)
'@typescript-eslint/parser': 5.60.1(eslint@8.43.0)(typescript@5.1.3)
array-includes: 3.1.6
array.prototype.flat: 1.3.1
array.prototype.flatmap: 1.3.1
@@ -1426,7 +1425,7 @@ packages:
doctrine: 2.1.0
eslint: 8.43.0
eslint-import-resolver-node: 0.3.7
eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.60.0)(eslint-import-resolver-node@0.3.7)(eslint@8.43.0)
eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.7)(eslint@8.43.0)
has: 1.0.3
is-core-module: 2.12.1
is-glob: 4.0.3
@@ -1506,7 +1505,7 @@ packages:
lodash.merge: 4.6.2
minimatch: 3.1.2
natural-compare: 1.4.0
optionator: 0.9.1
optionator: 0.9.3
strip-ansi: 6.0.1
strip-json-comments: 3.1.1
text-table: 0.2.0
@@ -2373,16 +2372,16 @@ packages:
wrappy: 1.0.2
dev: false
/optionator@0.9.1:
resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
/optionator@0.9.3:
resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
engines: {node: '>= 0.8.0'}
dependencies:
'@aashutoshrathi/word-wrap': 1.2.6
deep-is: 0.1.4
fast-levenshtein: 2.0.6
levn: 0.4.1
prelude-ls: 1.2.1
type-check: 0.4.0
word-wrap: 1.2.3
dev: false
/os-tmpdir@1.0.2:
@@ -3079,11 +3078,6 @@ packages:
isexe: 2.0.0
dev: false
/word-wrap@1.2.3:
resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
engines: {node: '>=0.10.0'}
dev: false
/wrap-ansi@6.2.0:
resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
engines: {node: '>=8'}

Binary file not shown.

View File

@@ -62,18 +62,29 @@ async function setupSkeletonProfile(key: NDKPrivateKeySigner) {
});
await ndk.connect(2500);
user.ndk = ndk;
user.profile = {
let event = new NDKEvent(ndk, {
kind: 0,
content: JSON.stringify({
name: 'New User via nsecBunker',
bio: 'This is a skeleton profile. You should edit it.',
website: 'https://nsecbunkerd.com',
};
user.ndk = ndk;
}),
pubkey: user.hexpubkey(),
} as NostrEvent);
await event.sign(key);
await event.publish();
await user.publish();
const pablo = new NDKUser({npub: 'npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft'});
await user.follow(pablo);
event = new NDKEvent(ndk, {
kind: 3,
tags: [
['p', 'fa984bd7dbb282f07e16e7ae87b26a2a7b9b90b7246a44771f0cf5ae58018f52'],
],
pubkey: user.hexpubkey(),
} as NostrEvent);
await event.sign(key);
await event.publish();
const relays = new NDKEvent(ndk, {
kind: 10002,
@@ -83,7 +94,9 @@ async function setupSkeletonProfile(key: NDKPrivateKeySigner) {
['r', 'wss://relay.snort.social'],
['r', 'wss://relay.damus.io'],
['r', 'wss://relay.damus.io'],
]
],
pubkey: user.hexpubkey(),
} as NostrEvent);
await relays.sign(key);
await relays.publish();
}