Skip to content

Commit 083fed6

Browse files
committed
chore: 🤖 use superjson for serialisation
1 parent 5ae5b01 commit 083fed6

File tree

18 files changed

+53
-18
lines changed

18 files changed

+53
-18
lines changed

‎examples/client/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@
2525
"@libp2p/interfaces": "^3.3.2",
2626
"luxon": "^3.3.0"
2727
},
28+
"dependencies": {
29+
"superjson": "^1.13.1"
30+
},
2831
"eslintConfig": {
2932
"extends": [
3033
"react-app"

‎examples/client/src/components/MakeDeal.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { useState, useCallback, useEffect } from 'react';
2-
import { Hash, stringify } from 'viem';
2+
import { Hash } from 'viem';
3+
import { stringify } from 'superjson';
34
import { ClientDealsManager } from '@windingtree/sdk-client';
45
import { OfferData } from '@windingtree/sdk-types';
56
import { RequestQuery, OfferOptions } from 'wtmp-protocol-examples-shared-files';

‎examples/client/src/components/Offers.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { useState, useEffect } from 'react';
2-
import { stringify } from 'viem';
2+
import { stringify } from 'superjson';
33
import { isExpired } from '@windingtree/sdk-utils';
44
import { OfferData } from '@windingtree/sdk-types';
55
import { RequestQuery, OfferOptions } from 'wtmp-protocol-examples-shared-files';

‎examples/client/src/components/Requests.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { ClientRequestRecord } from '@windingtree/sdk-client';
33
import { OfferData } from '@windingtree/sdk-types';
44
import { RequestQuery, OfferOptions } from 'wtmp-protocol-examples-shared-files';
55
import { centerEllipsis } from '@windingtree/sdk-react/utils';
6+
import { stringify } from 'superjson';
67

78
export type RequestsRegistryRecord = Required<
89
ClientRequestRecord<RequestQuery, OfferOptions>
@@ -49,7 +50,7 @@ export const Requests = ({
4950
<tr key={index}>
5051
<td>{r.data.topic}</td>
5152
<td>{centerEllipsis(r.data.id)}</td>
52-
<td>{JSON.stringify(r.data.query)}</td>
53+
<td>{stringify(r.data.query)}</td>
5354
<td>{subscribed && subscribed(r.data.id) ? '✅' : 'no'}</td>
5455
<td>{isExpired(r.data.expire) ? '✅' : 'no'}</td>
5556
<td>

‎examples/manager/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@
2727
"dependencies": {
2828
"@windingtree/contracts": "1.0.0-beta.12",
2929
"@windingtree/sdk-types": "workspace:*",
30-
"@windingtree/sdk-utils": "workspace:*"
30+
"@windingtree/sdk-utils": "workspace:*",
31+
"superjson": "^1.13.1"
3132
},
3233
"eslintConfig": {
3334
"extends": [

‎examples/manager/src/components/DealSeek.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { useCallback, useState } from 'react';
22
import { DateTime } from 'luxon';
3-
import { Hash, stringify } from 'viem';
3+
import { Hash } from 'viem';
4+
import { stringify } from 'superjson';
45
import { useConfig, useNode } from '@windingtree/sdk-react/providers';
56
import { DealRecord, DealStatus, GenericOfferOptions, GenericQuery } from '@windingtree/sdk-types';
67
import { formatBalance } from '@windingtree/sdk-react/utils';

‎examples/manager/src/components/Deals.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { useCallback, useEffect, useState } from 'react';
22
import { DateTime } from 'luxon';
3-
import { stringify } from 'viem';
3+
import { stringify } from 'superjson';
44
import { useConfig, useNode } from '@windingtree/sdk-react/providers';
55
import { DealRecord, DealStatus, GenericOfferOptions, GenericQuery } from '@windingtree/sdk-types';
66
import { centerEllipsis, formatBalance } from '@windingtree/sdk-react/utils';

‎packages/client/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
"@windingtree/sdk-types": "workspace:*",
5050
"@windingtree/sdk-utils": "workspace:*",
5151
"libp2p": "^0.45.9",
52+
"superjson": "^1.13.1",
5253
"viem": "^1.3.0"
5354
},
5455
"scripts": {

‎packages/client/src/index.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ import { multiaddr, Multiaddr } from '@multiformats/multiaddr';
99
import { peerIdFromString } from '@libp2p/peer-id';
1010
import { PeerId } from '@libp2p/interface-peer-id';
1111
import { OPEN } from '@libp2p/interface-connection/status';
12-
import { stringify } from 'viem';
12+
import { stringify, parse } from 'superjson';
13+
1314
import {
1415
OfferData,
1516
GenericOfferOptions,
@@ -283,7 +284,7 @@ export class Client<
283284

284285
try {
285286
/** Check is the message is an offer */
286-
const offer = JSON.parse(decodeText(detail.data)) as OfferData<
287+
const offer = parse(decodeText(detail.data)) as OfferData<
287288
CustomRequestQuery,
288289
CustomOfferOptions
289290
>;

‎packages/contracts-manger/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
"@windingtree/contracts": "1.0.0-beta.12",
3232
"@windingtree/sdk-logger": "workspace:*",
3333
"@windingtree/sdk-types": "workspace:*",
34+
"superjson": "^1.13.1",
3435
"viem": "^1.3.0"
3536
},
3637
"scripts": {

‎packages/contracts-manger/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ import {
1515
stringToHex,
1616
getAddress,
1717
zeroAddress,
18-
stringify,
1918
} from 'viem';
19+
import { stringify } from 'superjson';
2020
import {
2121
marketABI,
2222
erc20_18ABI,

‎packages/node/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
"@windingtree/sdk-types": "workspace:*",
4848
"@windingtree/sdk-utils": "workspace:*",
4949
"libp2p": "^0.45.9",
50+
"superjson": "^1.13.1",
5051
"viem": "^1.3.0"
5152
},
5253
"scripts": {

‎packages/node/src/index.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ import { OPEN } from '@libp2p/interface-connection/status';
99
import { multiaddr, Multiaddr } from '@multiformats/multiaddr';
1010
import { PeerId } from '@libp2p/interface-peer-id';
1111
import { peerIdFromString } from '@libp2p/peer-id';
12-
import { Hex, Hash, Chain, stringify } from 'viem';
12+
import { Hex, Hash, Chain } from 'viem';
13+
import { stringify } from 'superjson';
14+
1315
import { mnemonicToAccount, privateKeyToAccount } from 'viem/accounts';
1416
import {
1517
Contracts,

‎packages/node/src/requestManager.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
} from '@windingtree/sdk-types';
77
import { isExpired, nowSec, parseSeconds } from '@windingtree/sdk-utils';
88
import { createLogger } from '@windingtree/sdk-logger';
9+
import { parse } from 'superjson';
910

1011
const logger = createLogger('NodeRequestManager');
1112

@@ -112,7 +113,7 @@ export class NodeRequestManager<
112113
*/
113114
add(requestTopic: string, data: string) {
114115
try {
115-
const requestData = JSON.parse(data) as RequestData<CustomRequestQuery>;
116+
const requestData = parse<RequestData<CustomRequestQuery>>(data);
116117

117118
// TODO: Implement validation of `data` type and `requestTopic`
118119

‎packages/node/test/requestManager.spec.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { stringify } from 'viem';
1+
import { parse, stringify } from 'superjson';
22
import { describe, expect, it, beforeEach } from '@windingtree/sdk-test-utils';
33
import { NodeRequestManager } from '../src/index.js';
44

@@ -138,7 +138,7 @@ describe('Node.NodeRequestManager', () => {
138138
'request',
139139
(event) => {
140140
expect(event.detail.topic).to.equal(requestTopic);
141-
expect(event.detail.data).to.deep.equal(JSON.parse(data));
141+
expect(event.detail.data).to.deep.equal(parse(data));
142142
done(true);
143143
},
144144
{ once: true },
@@ -151,12 +151,12 @@ describe('Node.NodeRequestManager', () => {
151151
describe('#prune', () => {
152152
it('should remove expired requests from cache', () => {
153153
const requestTopic = 'testTopic';
154-
const data1 = JSON.stringify({
154+
const data1 = stringify({
155155
id: '1',
156156
nonce: 1,
157157
expire: Math.floor(Date.now() / 1000) + 20,
158158
});
159-
const data2 = JSON.stringify({
159+
const data2 = stringify({
160160
id: '2',
161161
nonce: 1,
162162
expire: Math.floor(Date.now() / 1000) - 20,
@@ -174,7 +174,7 @@ describe('Node.NodeRequestManager', () => {
174174
describe('#clear', () => {
175175
it('should clear the cache', () => {
176176
const requestTopic = 'testTopic';
177-
const data = JSON.stringify({
177+
const data = stringify({
178178
id: '1',
179179
nonce: 1,
180180
expire: Math.floor(Date.now() / 1000) + 20,

‎packages/pubsub/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@
3838
"@windingtree/sdk-storage": "workspace:*",
3939
"@windingtree/sdk-types": "workspace:*",
4040
"@windingtree/sdk-utils": "workspace:*",
41-
"multiformats": "^12.0.1"
41+
"multiformats": "^12.0.1",
42+
"superjson": "^1.13.1"
4243
},
4344
"scripts": {
4445
"build": "tsup",

‎packages/pubsub/src/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { GenericMessage } from '@windingtree/sdk-types';
1818
import { decodeText } from '@windingtree/sdk-utils';
1919
import { CashedMessageEntry, MessagesCache } from './cache.js';
2020
import { createLogger } from '@windingtree/sdk-logger';
21+
import { parse } from 'superjson';
2122

2223
const logger = createLogger('CenterSub');
2324

@@ -102,7 +103,7 @@ export class CenterSub extends GossipSub {
102103
this.isClient = !!isClient;
103104
this.messageTransformer = messageTransformer
104105
? messageTransformer
105-
: (message) => JSON.parse(decodeText(message)) as GenericMessage;
106+
: (message) => parse(decodeText(message));
106107
this.addEventListener(
107108
'gossipsub:heartbeat',
108109
this.handleHeartbeat.bind(this),

‎pnpm-lock.yaml

Lines changed: 19 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)