Skip to content

Commit 291fbe9

Browse files
committed
Merge branch 'main' into support_php_85
2 parents 8e17768 + 1c876c8 commit 291fbe9

9 files changed

Lines changed: 90 additions & 26 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,12 +234,12 @@ $bech32_public = $key->convertPublicKeyToBech32($public_key);
234234
$bech32_private = $key->convertPrivateKeyToBech32($private_key);
235235
```
236236

237-
## Run tests
237+
## Run tests with debug output
238238

239239
All tests can be found in `tests`.
240240

241241
```console
242-
$ php vendor/bin/phpunit
242+
$ php vendor/bin/phpunit --debug
243243
```
244244

245245
## Documentation

src/Encryption/Nip44.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,10 +148,10 @@ private static function unpad(string $padded): string
148148
$unpaddedLen = unpack('n', substr($padded, 0, 2))[1];
149149
$unpadded = substr($padded, 2, $unpaddedLen);
150150

151-
if ($unpaddedLen < self::MIN_PLAINTEXT_SIZE ||
152-
$unpaddedLen > self::MAX_PLAINTEXT_SIZE ||
153-
strlen($unpadded) !== $unpaddedLen ||
154-
strlen($padded) !== 2 + self::calcPaddedLen($unpaddedLen)
151+
if ($unpaddedLen < self::MIN_PLAINTEXT_SIZE
152+
|| $unpaddedLen > self::MAX_PLAINTEXT_SIZE
153+
|| strlen($unpadded) !== $unpaddedLen
154+
|| strlen($padded) !== 2 + self::calcPaddedLen($unpaddedLen)
155155
) {
156156
throw new Exception('Invalid padding');
157157
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
use swentel\nostr\Event\Event;
6+
use swentel\nostr\Filter\Filter;
7+
use swentel\nostr\Key\Key;
8+
use swentel\nostr\Message\EventMessage;
9+
use swentel\nostr\Message\RequestMessage;
10+
use swentel\nostr\Relay\Relay;
11+
use swentel\nostr\RelayResponse\RelayResponseOk;
12+
use swentel\nostr\Request\Request;
13+
use swentel\nostr\Sign\Sign;
14+
15+
require __DIR__ . '/../../vendor/autoload.php';
16+
17+
try {
18+
$event = new Event();
19+
$event->setKind(5315);
20+
$search = 'jack';
21+
$sort = 'globalPagerank';
22+
$limit = "10";
23+
$event->setTags([
24+
['param', 'search', $search],
25+
['param', 'sort', $sort],
26+
['param', 'limit', $limit],
27+
]);
28+
/**
29+
* You should use a private key here with credits from Vertex.
30+
*/
31+
$private_key = new Key();
32+
$private_key = $private_key->generatePrivateKey();
33+
$signer = new Sign();
34+
$signer->signEvent($event, $private_key);
35+
// Send search request event to relay wss://relay.vertexlab.io
36+
$relay = new Relay('wss://relay.vertexlab.io');
37+
$eventMessage = new EventMessage($event);
38+
$relay->setMessage($eventMessage);
39+
$request = new Request($relay, $eventMessage);
40+
$response = $request->send();
41+
foreach ($response as $relayUrl => $relayResponses) {
42+
foreach ($relayResponses as $relayResponse) {
43+
if ($relayResponse->isSuccess && $relayResponse instanceof RelayResponseOk) {
44+
$event_id = $relayResponse->eventId;
45+
echo $event_id . PHP_EOL;
46+
$relay = new Relay($relayUrl);
47+
$filter = new Filter();
48+
$filter->setKinds([6315, 7000]);
49+
$filter->setTags([
50+
'#e' => [$event_id],
51+
]);
52+
$filters = [$filter];
53+
$requestMessage = new RequestMessage($event_id, $filters);
54+
$request = new Request($relay, $requestMessage);
55+
$responses = $request->send();
56+
if (empty($responses)) {
57+
throw new \RuntimeException(sprintf('Response from relay %s is empty', $relay->getUrl()));
58+
}
59+
print_r($responses) . PHP_EOL;
60+
}
61+
}
62+
}
63+
} catch (Exception $e) {
64+
print 'Exception error: ' . $e->getMessage() . PHP_EOL;
65+
}

src/Nip17/DirectMessage.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -117,14 +117,14 @@ public static function decryptDirectMessage(
117117

118118
try {
119119
// Extract the encrypted content from the gift wrap
120-
$encryptedContent = method_exists($giftWrap, 'getContent') ?
121-
$giftWrap->getContent() :
122-
($giftWrap->content ?? '');
120+
$encryptedContent = method_exists($giftWrap, 'getContent')
121+
? $giftWrap->getContent()
122+
: ($giftWrap->content ?? '');
123123

124124
// Extract the gift wrap's random public key
125-
$giftWrapPubkey = method_exists($giftWrap, 'getPublicKey') ?
126-
$giftWrap->getPublicKey() :
127-
$giftWrap->pubkey;
125+
$giftWrapPubkey = method_exists($giftWrap, 'getPublicKey')
126+
? $giftWrap->getPublicKey()
127+
: $giftWrap->pubkey;
128128

129129
// Create the conversation key for the gift wrap layer
130130
// Gift wrap is encrypted using a conversation key between the recipient and the one-time random pubkey

src/Nip19/Nip19Helper.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -392,9 +392,9 @@ private function convertEventToBytes(Event $event, TLV $metadata): array
392392
$relays = Bech32::fromRelaysToBytes(
393393
$metadata->getRelays() ?? [],
394394
);
395-
$pubkey = $metadata->getAuthor() ?
396-
[Bech32::fromHexToBytes($metadata->getAuthor())] :
397-
[Bech32::fromHexToBytes($event->getPublicKey())];
395+
$pubkey = $metadata->getAuthor()
396+
? [Bech32::fromHexToBytes($metadata->getAuthor())]
397+
: [Bech32::fromHexToBytes($event->getPublicKey())];
398398
$kind = [
399399
Bech32::fromIntegerToBytes($event->getKind()),
400400
];
@@ -421,9 +421,9 @@ private function convertAddressableEventToBytes(Event $event, TLV $metadata): ar
421421
$relays = Bech32::fromRelaysToBytes(
422422
$metadata->getRelays() ?? [],
423423
);
424-
$pubkey = $metadata->getAuthor() ?
425-
[Bech32::fromHexToBytes($metadata->getAuthor())] :
426-
[Bech32::fromHexToBytes($event->getPublicKey())];
424+
$pubkey = $metadata->getAuthor()
425+
? [Bech32::fromHexToBytes($metadata->getAuthor())]
426+
: [Bech32::fromHexToBytes($event->getPublicKey())];
427427
$kind = [
428428
Bech32::fromIntegerToBytes($event->getKind()),
429429
];
@@ -437,9 +437,9 @@ private function convertAddressableEventToBytes(Event $event, TLV $metadata): ar
437437
*/
438438
private function convertProfileToBytes(Profile $profile, TLV $metadata): array
439439
{
440-
$pubkey = $metadata->getAuthor() ?
441-
[Bech32::fromHexToBytes($metadata->getAuthor())] :
442-
[Bech32::fromHexToBytes($profile->getPublicKey())];
440+
$pubkey = $metadata->getAuthor()
441+
? [Bech32::fromHexToBytes($metadata->getAuthor())]
442+
: [Bech32::fromHexToBytes($profile->getPublicKey())];
443443
$relays = Bech32::fromRelaysToBytes(
444444
$metadata->getRelays() ?? [],
445445
);

src/Relay/Relay.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ class Relay implements RelayInterface
4545
* @param string $url
4646
* The socket URL.
4747
*/
48-
public function __construct(string $url, MessageInterface|null $message = null)
48+
public function __construct(string $url, ?MessageInterface $message = null)
4949
{
5050
$this->url = $url;
5151
$this->validateUrl();

src/Request/Request.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ public function send(): array
105105
* @return array|RelayResponse
106106
* @throws \Throwable
107107
*/
108-
private function getResponseFromRelay(Relay $relay): array | RelayResponse
108+
private function getResponseFromRelay(Relay $relay): array|RelayResponse
109109
{
110110
$client = $relay->getClient();
111111
$client->setTimeout(60);

src/Sign/Sign.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ public function signEvent(EventInterface $event, string $private_key): void
5050
*/
5151
public static function serializeEvent(EventInterface $event): bool|string
5252
{
53-
$array =
54-
[
53+
$array
54+
= [
5555
0,
5656
$event->getPublicKey(),
5757
$event->getCreatedAt(),

tests/RelayListMetadataTest.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
class RelayListMetadataTest extends TestCase
1212
{
1313
private const TEST_PUBKEY = '884704bd421721e292edbec8466287dd3a3c834c2ed269822b95a85e4f8a0c47';
14-
private const TEST_RELAY_URL = 'wss://purplepag.es';
1514

1615
/**
1716
* Test that the kind number cannot be changed from 10002.

0 commit comments

Comments
 (0)