@nervosnetwork/fiber-js 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -0
- package/dist/db.worker.d.ts +5 -0
- package/dist/db.worker.d.ts.map +1 -0
- package/dist/fiber.worker.d.ts +5 -0
- package/dist/fiber.worker.d.ts.map +1 -0
- package/dist/index.d.ts +67 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +7 -0
- package/dist/types/channel.d.ts +83 -0
- package/dist/types/channel.d.ts.map +1 -0
- package/dist/types/general.d.ts +30 -0
- package/dist/types/general.d.ts.map +1 -0
- package/dist/types/graph.d.ts +73 -0
- package/dist/types/graph.d.ts.map +1 -0
- package/dist/types/info.d.ts +23 -0
- package/dist/types/info.d.ts.map +1 -0
- package/dist/types/invoice.d.ts +66 -0
- package/dist/types/invoice.d.ts.map +1 -0
- package/dist/types/payment.d.ts +77 -0
- package/dist/types/payment.d.ts.map +1 -0
- package/dist/types/peer.d.ts +17 -0
- package/dist/types/peer.d.ts.map +1 -0
- package/esbuild.config.mjs +25 -0
- package/package.json +30 -0
- package/src/db.worker.ts +15 -0
- package/src/fiber.worker.ts +46 -0
- package/src/index.ts +193 -0
- package/src/types/channel.ts +100 -0
- package/src/types/general.ts +34 -0
- package/src/types/graph.ts +101 -0
- package/src/types/info.ts +25 -0
- package/src/types/invoice.ts +75 -0
- package/src/types/payment.ts +91 -0
- package/src/types/peer.ts +29 -0
- package/src/worker.d.ts +13 -0
- package/tsconfig.json +34 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { HexString } from "./general";
|
|
2
|
+
interface Script {
|
|
3
|
+
code_hash: HexString;
|
|
4
|
+
hash_type: "data" | "type" | "data1" | "data2";
|
|
5
|
+
args: string;
|
|
6
|
+
}
|
|
7
|
+
interface OpenChannelParams {
|
|
8
|
+
peer_id: string;
|
|
9
|
+
funding_amount: HexString;
|
|
10
|
+
public?: boolean;
|
|
11
|
+
funding_udt_type_script?: Script;
|
|
12
|
+
shutdown_script?: Script;
|
|
13
|
+
commitment_delay_epoch?: HexString;
|
|
14
|
+
commitment_fee_rate?: HexString;
|
|
15
|
+
funding_fee_rate?: HexString;
|
|
16
|
+
tlc_expiry_delta?: HexString;
|
|
17
|
+
tlc_min_value?: HexString;
|
|
18
|
+
tlc_fee_proportional_millionths?: HexString;
|
|
19
|
+
max_tlc_value_in_flight?: HexString;
|
|
20
|
+
max_tlc_number_in_flight?: HexString;
|
|
21
|
+
}
|
|
22
|
+
interface OpenChannelResult {
|
|
23
|
+
temporary_channel_id: HexString;
|
|
24
|
+
}
|
|
25
|
+
interface AbandonChannelParams {
|
|
26
|
+
channel_id: HexString;
|
|
27
|
+
}
|
|
28
|
+
interface AcceptChannelParams {
|
|
29
|
+
temporary_channel_id: HexString;
|
|
30
|
+
funding_amount: HexString;
|
|
31
|
+
shutdown_script?: Script;
|
|
32
|
+
max_tlc_value_in_flight?: HexString;
|
|
33
|
+
max_tlc_number_in_flight?: HexString;
|
|
34
|
+
tlc_min_value?: HexString;
|
|
35
|
+
tlc_fee_proportional_millionths?: HexString;
|
|
36
|
+
tlc_expiry_delta?: HexString;
|
|
37
|
+
}
|
|
38
|
+
interface AcceptChannelResult {
|
|
39
|
+
channel_id: HexString;
|
|
40
|
+
}
|
|
41
|
+
interface ListChannelsParams {
|
|
42
|
+
peer_id?: string;
|
|
43
|
+
include_closed?: boolean;
|
|
44
|
+
}
|
|
45
|
+
interface ChannelState {
|
|
46
|
+
state_name: string;
|
|
47
|
+
state_flags: string;
|
|
48
|
+
}
|
|
49
|
+
interface Channel {
|
|
50
|
+
channel_id: HexString;
|
|
51
|
+
is_public: boolean;
|
|
52
|
+
channel_outpoint: HexString;
|
|
53
|
+
peer_id: HexString;
|
|
54
|
+
funding_udt_type_script?: Script;
|
|
55
|
+
state: ChannelState;
|
|
56
|
+
local_balance: HexString;
|
|
57
|
+
offered_tlc_balance: HexString;
|
|
58
|
+
remote_balance: HexString;
|
|
59
|
+
received_tlc_balance: HexString;
|
|
60
|
+
latest_commitment_transaction_hash?: HexString;
|
|
61
|
+
created_at: HexString;
|
|
62
|
+
enabled: boolean;
|
|
63
|
+
tlc_expiry_delta: HexString;
|
|
64
|
+
tlc_fee_proportional_millionths: HexString;
|
|
65
|
+
}
|
|
66
|
+
interface ShutdownChannelParams {
|
|
67
|
+
channel_id: HexString;
|
|
68
|
+
close_script?: Script;
|
|
69
|
+
fee_rate?: HexString;
|
|
70
|
+
force?: boolean;
|
|
71
|
+
}
|
|
72
|
+
interface UpdateChannelParams {
|
|
73
|
+
channel_id: HexString;
|
|
74
|
+
enabled?: boolean;
|
|
75
|
+
tlc_expiry_delta?: HexString;
|
|
76
|
+
tlc_minimum_value?: HexString;
|
|
77
|
+
tlc_fee_proportional_millionths?: HexString;
|
|
78
|
+
}
|
|
79
|
+
interface ListChannelsResult {
|
|
80
|
+
channels: Channel[];
|
|
81
|
+
}
|
|
82
|
+
export type { OpenChannelParams, Script, OpenChannelResult, AbandonChannelParams, AcceptChannelParams, AcceptChannelResult, ListChannelsParams, Channel, ChannelState, ShutdownChannelParams, UpdateChannelParams, ListChannelsResult };
|
|
83
|
+
//# sourceMappingURL=../../src/dist/types/channel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../types/channel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
interface DbWorkerInitializationOptions {
|
|
2
|
+
inputBuffer: SharedArrayBuffer;
|
|
3
|
+
outputBuffer: SharedArrayBuffer;
|
|
4
|
+
logLevel: string;
|
|
5
|
+
}
|
|
6
|
+
interface FiberWorkerInitializationOptions {
|
|
7
|
+
inputBuffer: SharedArrayBuffer;
|
|
8
|
+
outputBuffer: SharedArrayBuffer;
|
|
9
|
+
logLevel: string;
|
|
10
|
+
fiberKeyPair: Uint8Array;
|
|
11
|
+
ckbSecretKey: Uint8Array;
|
|
12
|
+
config: string;
|
|
13
|
+
chainSpec?: string;
|
|
14
|
+
databasePrefix?: string;
|
|
15
|
+
}
|
|
16
|
+
interface FiberInvokeRequest {
|
|
17
|
+
name: string;
|
|
18
|
+
args: any[];
|
|
19
|
+
}
|
|
20
|
+
type FiberInvokeResponse = {
|
|
21
|
+
ok: true;
|
|
22
|
+
data: any;
|
|
23
|
+
} | {
|
|
24
|
+
ok: false;
|
|
25
|
+
error: string;
|
|
26
|
+
};
|
|
27
|
+
type HexString = `0x${string}`;
|
|
28
|
+
type HashAlgorithm = "ckb_hash" | "sha_256";
|
|
29
|
+
export type { DbWorkerInitializationOptions, FiberWorkerInitializationOptions, FiberInvokeRequest, FiberInvokeResponse, HexString, HashAlgorithm };
|
|
30
|
+
//# sourceMappingURL=../../src/dist/types/general.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../types/general.ts"],"names":[],"mappings":"AAAA,UAAU,6BAA6B;IACnC,WAAW,EAAE,iBAAiB,CAAC;IAC/B,YAAY,EAAE,iBAAiB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;CACpB;AACD,UAAU,gCAAgC;IACtC,WAAW,EAAE,iBAAiB,CAAC;IAC/B,YAAY,EAAE,iBAAiB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,UAAU,CAAC;IACzB,YAAY,EAAE,UAAU,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,kBAAkB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,EAAE,CAAC;CACf;AACD,KAAK,mBAAmB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnF,KAAK,SAAS,GAAG,KAAK,MAAM,EAAE,CAAC;AAE/B,KAAK,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;AAE5C,YAAY,EACR,6BAA6B,EAC7B,gCAAgC,EAChC,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,aAAa,EAChB,CAAA"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Script } from "./channel";
|
|
2
|
+
import { HexString } from "./general";
|
|
3
|
+
interface GraphNodesParams {
|
|
4
|
+
limit?: HexString;
|
|
5
|
+
after?: HexString;
|
|
6
|
+
}
|
|
7
|
+
type UdtScript = Script;
|
|
8
|
+
type DepType = "code" | "dep_group";
|
|
9
|
+
interface UdtCellDep {
|
|
10
|
+
out_point: OutPoint;
|
|
11
|
+
dep_type: DepType;
|
|
12
|
+
}
|
|
13
|
+
interface OutPoint {
|
|
14
|
+
tx_hash: HexString;
|
|
15
|
+
index: HexString;
|
|
16
|
+
}
|
|
17
|
+
interface UdtDep {
|
|
18
|
+
cell_dep?: UdtCellDep;
|
|
19
|
+
type_id?: Script;
|
|
20
|
+
}
|
|
21
|
+
interface UdtCellDep {
|
|
22
|
+
out_point: OutPoint;
|
|
23
|
+
dep_type: DepType;
|
|
24
|
+
}
|
|
25
|
+
interface UdtArgInfo {
|
|
26
|
+
name: string;
|
|
27
|
+
script: UdtScript;
|
|
28
|
+
auto_accept_amount?: HexString;
|
|
29
|
+
cell_deps: UdtDep[];
|
|
30
|
+
}
|
|
31
|
+
type UdtCfgInfos = UdtArgInfo[];
|
|
32
|
+
interface NodeInfo {
|
|
33
|
+
node_name: string;
|
|
34
|
+
addresses: string[];
|
|
35
|
+
node_id: HexString;
|
|
36
|
+
timestamp: HexString;
|
|
37
|
+
chain_hash: HexString;
|
|
38
|
+
auto_accept_min_ckb_funding_amount: HexString;
|
|
39
|
+
udt_cfg_infos: UdtCfgInfos;
|
|
40
|
+
}
|
|
41
|
+
interface GraphNodesResult {
|
|
42
|
+
nodes: NodeInfo[];
|
|
43
|
+
last_cursor: HexString;
|
|
44
|
+
}
|
|
45
|
+
interface GraphChannelsParams {
|
|
46
|
+
limit?: HexString;
|
|
47
|
+
after?: HexString;
|
|
48
|
+
}
|
|
49
|
+
interface ChannelUpdateInfo {
|
|
50
|
+
timestamp: HexString;
|
|
51
|
+
enabled: boolean;
|
|
52
|
+
outbound_liquidity?: HexString;
|
|
53
|
+
tlc_expiry_delta: HexString;
|
|
54
|
+
tlc_minimum_value: HexString;
|
|
55
|
+
fee_rate: HexString;
|
|
56
|
+
}
|
|
57
|
+
interface ChannelInfo {
|
|
58
|
+
channel_outpoint: HexString;
|
|
59
|
+
node1: HexString;
|
|
60
|
+
node2: HexString;
|
|
61
|
+
created_timestamp: HexString;
|
|
62
|
+
update_info_of_node1?: ChannelUpdateInfo;
|
|
63
|
+
update_info_of_node2?: ChannelUpdateInfo;
|
|
64
|
+
capacity: HexString;
|
|
65
|
+
chain_hash: HexString;
|
|
66
|
+
udt_type_script?: Script;
|
|
67
|
+
}
|
|
68
|
+
interface GraphChannelsResult {
|
|
69
|
+
channels: ChannelInfo[];
|
|
70
|
+
last_cursor: HexString;
|
|
71
|
+
}
|
|
72
|
+
export type { GraphNodesParams, GraphNodesResult, GraphChannelsParams, GraphChannelsResult, ChannelInfo, ChannelUpdateInfo, DepType, HexString, NodeInfo, OutPoint, Script, UdtCellDep, UdtArgInfo, UdtCfgInfos, UdtDep, UdtScript, };
|
|
73
|
+
//# sourceMappingURL=../../src/dist/types/graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../types/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,UAAU,gBAAgB;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;CACrB;AACD,KAAK,SAAS,GAAG,MAAM,CAAC;AACxB,KAAK,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC;AAEpC,UAAU,UAAU;IAChB,SAAS,EAAE,QAAQ,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,QAAQ;IACd,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;CACpB;AAED,UAAU,MAAM;IACZ,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,UAAU;IAChB,SAAS,EAAE,QAAQ,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,UAAU;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,CAAC;IAClB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,EAAE,CAAC;CACvB;AACD,KAAK,WAAW,GAAG,UAAU,EAAE,CAAC;AAEhC,UAAU,QAAQ;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,kCAAkC,EAAE,SAAS,CAAC;IAC9C,aAAa,EAAE,WAAW,CAAC;CAC9B;AAED,UAAU,gBAAgB;IACtB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,WAAW,EAAE,SAAS,CAAC;CAC1B;AACD,UAAU,mBAAmB;IACzB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,UAAU,iBAAiB;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,iBAAiB,EAAE,SAAS,CAAC;IAC7B,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,UAAU,WAAW;IACjB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,iBAAiB,EAAE,SAAS,CAAC;IAC7B,oBAAoB,CAAC,EAAE,iBAAiB,CAAC;IACzC,oBAAoB,CAAC,EAAE,iBAAiB,CAAC;IACzC,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,EAAE,SAAS,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAE5B;AACD,UAAU,mBAAmB;IACzB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,EAAE,SAAS,CAAC;CAC1B;AACD,YAAY,EACR,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,UAAU,EACV,UAAU,EACV,WAAW,EACX,MAAM,EACN,SAAS,GAEZ,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Script } from "./channel";
|
|
2
|
+
import { HexString } from "./general";
|
|
3
|
+
import { UdtCfgInfos } from "./graph";
|
|
4
|
+
interface NodeInfoResult {
|
|
5
|
+
version: string;
|
|
6
|
+
commit_hash: string;
|
|
7
|
+
node_id: string;
|
|
8
|
+
node_name?: string;
|
|
9
|
+
addresses: string[];
|
|
10
|
+
chain_hash: HexString;
|
|
11
|
+
open_channel_auto_accept_min_ckb_funding_amount: HexString;
|
|
12
|
+
auto_accept_channel_ckb_funding_amount: HexString;
|
|
13
|
+
default_funding_lock_script: Script;
|
|
14
|
+
tlc_expiry_delta: HexString;
|
|
15
|
+
tlc_min_value: HexString;
|
|
16
|
+
tlc_fee_proportional_millionths: HexString;
|
|
17
|
+
channel_count: HexString;
|
|
18
|
+
pending_channel_count: HexString;
|
|
19
|
+
peers_count: HexString;
|
|
20
|
+
udt_cfg_infos: UdtCfgInfos;
|
|
21
|
+
}
|
|
22
|
+
export type { NodeInfoResult };
|
|
23
|
+
//# sourceMappingURL=../../src/dist/types/info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../types/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,UAAU,cAAc;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,SAAS,CAAC;IACtB,+CAA+C,EAAE,SAAS,CAAC;IAC3D,sCAAsC,EAAE,SAAS,CAAC;IAClD,2BAA2B,EAAE,MAAM,CAAC;IACpC,gBAAgB,EAAE,SAAS,CAAC;IAC5B,aAAa,EAAE,SAAS,CAAC;IACzB,+BAA+B,EAAE,SAAS,CAAC;IAC3C,aAAa,EAAE,SAAS,CAAC;IACzB,qBAAqB,EAAE,SAAS,CAAC;IACjC,WAAW,EAAE,SAAS,CAAC;IACvB,aAAa,EAAE,WAAW,CAAC;CAC9B;AAGD,YAAY,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Script } from "./channel";
|
|
2
|
+
import { HashAlgorithm, HexString } from "./general";
|
|
3
|
+
type Currency = "Fibb" | "Fibt" | "Fibd";
|
|
4
|
+
type CkbInvoiceStatus = "Open" | "Cancelled" | "Expired" | "Received" | "Paid";
|
|
5
|
+
interface NewInvoiceParams {
|
|
6
|
+
amount: HexString;
|
|
7
|
+
description?: string;
|
|
8
|
+
currency: Currency;
|
|
9
|
+
payment_preimage: HexString;
|
|
10
|
+
expiry?: HexString;
|
|
11
|
+
fallback_address?: string;
|
|
12
|
+
final_expiry_delta?: HexString;
|
|
13
|
+
udt_type_script?: Script;
|
|
14
|
+
hash_algorithm?: HashAlgorithm;
|
|
15
|
+
}
|
|
16
|
+
type CkbScript = HexString;
|
|
17
|
+
type Attribute = {
|
|
18
|
+
FinalHtlcTimeout: HexString;
|
|
19
|
+
} | {
|
|
20
|
+
FinalHtlcMinimumExpiryDelta: HexString;
|
|
21
|
+
} | {
|
|
22
|
+
ExpiryTime: HexString;
|
|
23
|
+
} | {
|
|
24
|
+
Description: string;
|
|
25
|
+
} | {
|
|
26
|
+
FallbackAddr: string;
|
|
27
|
+
} | {
|
|
28
|
+
UdtScript: CkbScript;
|
|
29
|
+
} | {
|
|
30
|
+
PayeePublicKey: string;
|
|
31
|
+
} | {
|
|
32
|
+
HashAlgorithm: number;
|
|
33
|
+
} | {
|
|
34
|
+
Feature: HexString;
|
|
35
|
+
};
|
|
36
|
+
interface InvoiceData {
|
|
37
|
+
timestamp: HexString;
|
|
38
|
+
payment_hash: HexString;
|
|
39
|
+
attrs: Attribute[];
|
|
40
|
+
}
|
|
41
|
+
interface CkbInvoice {
|
|
42
|
+
currency: Currency;
|
|
43
|
+
amount?: HexString;
|
|
44
|
+
signature?: string;
|
|
45
|
+
data: InvoiceData;
|
|
46
|
+
}
|
|
47
|
+
interface InvoiceResult {
|
|
48
|
+
invoice_address: string;
|
|
49
|
+
invoice: CkbInvoice;
|
|
50
|
+
}
|
|
51
|
+
interface ParseInvoiceParams {
|
|
52
|
+
invoice: string;
|
|
53
|
+
}
|
|
54
|
+
interface ParseInvoiceResult {
|
|
55
|
+
invoice: CkbInvoice;
|
|
56
|
+
}
|
|
57
|
+
interface InvoiceParams {
|
|
58
|
+
payment_hash: HexString;
|
|
59
|
+
}
|
|
60
|
+
interface GetInvoiceResult {
|
|
61
|
+
invoice_address: string;
|
|
62
|
+
invoice: CkbInvoice;
|
|
63
|
+
status: CkbInvoiceStatus;
|
|
64
|
+
}
|
|
65
|
+
export type { NewInvoiceParams, InvoiceResult, Attribute, CkbInvoice, CkbInvoiceStatus, CkbScript, Currency, GetInvoiceResult, InvoiceData, InvoiceParams, ParseInvoiceParams, ParseInvoiceResult };
|
|
66
|
+
//# sourceMappingURL=../../src/dist/types/invoice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invoice.d.ts","sourceRoot":"","sources":["../../types/invoice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAEpD,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACzC,KAAK,gBAAgB,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AAC/E,UAAU,gBAAgB;IACtB,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,aAAa,CAAC;CAClC;AACD,KAAK,SAAS,GAAG,SAAS,CAAC;AAC3B,KAAK,SAAS,GAAG;IAAE,gBAAgB,EAAE,SAAS,CAAA;CAAE,GAChD;IAAE,2BAA2B,EAAE,SAAS,CAAA;CAAE,GAC1C;IAAE,UAAU,EAAE,SAAS,CAAA;CAAE,GACzB;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GACvB;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,GACxB;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,GACxB;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,GAC1B;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,CAAC;AAGvB,UAAU,WAAW;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,SAAS,CAAC;IACxB,KAAK,EAAE,SAAS,EAAE,CAAC;CACtB;AACD,UAAU,UAAU;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;CACrB;AAED,UAAU,aAAa;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,UAAU,CAAC;CACvB;AAED,UAAU,kBAAkB;IACxB,OAAO,EAAE,MAAM,CAAC;CACnB;AACD,UAAU,kBAAkB;IACxB,OAAO,EAAE,UAAU,CAAC;CACvB;AACD,UAAU,aAAa;IACnB,YAAY,EAAE,SAAS,CAAC;CAC3B;AAED,UAAU,gBAAgB;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;CAC5B;AAED,YAAY,EACR,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EACrB,CAAA"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Script } from "./channel";
|
|
2
|
+
import { HexString } from "./general";
|
|
3
|
+
type PaymentSessionStatus = "Created" | "Inflight" | "Success" | "Failed";
|
|
4
|
+
interface PaymentCustomRecords {
|
|
5
|
+
[k: HexString]: HexString;
|
|
6
|
+
}
|
|
7
|
+
interface SessionRouteNode {
|
|
8
|
+
pubkey: string;
|
|
9
|
+
amount: HexString;
|
|
10
|
+
channel_outpoint: HexString;
|
|
11
|
+
}
|
|
12
|
+
interface GetPaymentCommandResult {
|
|
13
|
+
payment_hash: HexString;
|
|
14
|
+
status: PaymentSessionStatus;
|
|
15
|
+
created_at: HexString;
|
|
16
|
+
last_updated_at: HexString;
|
|
17
|
+
failed_error?: string;
|
|
18
|
+
fee: HexString;
|
|
19
|
+
custom_records?: PaymentCustomRecords;
|
|
20
|
+
router?: SessionRouteNode[];
|
|
21
|
+
}
|
|
22
|
+
interface HopHint {
|
|
23
|
+
pubkey: string;
|
|
24
|
+
channel_outpoint: HexString;
|
|
25
|
+
fee_rate: HexString;
|
|
26
|
+
tlc_expiry_delta: HexString;
|
|
27
|
+
}
|
|
28
|
+
interface HopRequire {
|
|
29
|
+
pubkey: string;
|
|
30
|
+
channel_outpoint: HexString;
|
|
31
|
+
}
|
|
32
|
+
interface RouterHop {
|
|
33
|
+
target: HexString;
|
|
34
|
+
channel_outpoint: HexString;
|
|
35
|
+
amount_received: HexString;
|
|
36
|
+
incoming_tlc_expiry: HexString;
|
|
37
|
+
}
|
|
38
|
+
interface GetPaymentCommandParams {
|
|
39
|
+
payment_hash: HexString;
|
|
40
|
+
}
|
|
41
|
+
interface SendPaymentCommandParams {
|
|
42
|
+
target_pubkey?: string;
|
|
43
|
+
amount?: HexString;
|
|
44
|
+
payment_hash?: HexString;
|
|
45
|
+
final_tlc_expiry_delta?: HexString;
|
|
46
|
+
tlc_expiry_limit?: HexString;
|
|
47
|
+
invoice?: string;
|
|
48
|
+
timeout?: HexString;
|
|
49
|
+
max_fee_amount?: HexString;
|
|
50
|
+
max_parts?: HexString;
|
|
51
|
+
keysend?: boolean;
|
|
52
|
+
udt_type_script?: Script;
|
|
53
|
+
allow_self_payment?: boolean;
|
|
54
|
+
custom_records?: PaymentCustomRecords;
|
|
55
|
+
hop_hints?: HopHint[];
|
|
56
|
+
dry_run?: boolean;
|
|
57
|
+
}
|
|
58
|
+
interface BuildRouterParams {
|
|
59
|
+
amount?: HexString;
|
|
60
|
+
udt_type_script?: Script;
|
|
61
|
+
hops_info: HopRequire[];
|
|
62
|
+
final_tlc_expiry_delta?: HexString;
|
|
63
|
+
}
|
|
64
|
+
interface BuildPaymentRouterResult {
|
|
65
|
+
router_hops: RouterHop[];
|
|
66
|
+
}
|
|
67
|
+
interface SendPaymentWithRouterParams {
|
|
68
|
+
payment_hash?: HexString;
|
|
69
|
+
router: RouterHop[];
|
|
70
|
+
invoice?: string;
|
|
71
|
+
custom_records?: PaymentCustomRecords;
|
|
72
|
+
keysend?: boolean;
|
|
73
|
+
udt_type_script?: Script;
|
|
74
|
+
dry_run?: boolean;
|
|
75
|
+
}
|
|
76
|
+
export type { GetPaymentCommandResult, BuildPaymentRouterResult, BuildRouterParams, HopHint, HopRequire, PaymentCustomRecords, PaymentSessionStatus, RouterHop, SendPaymentCommandParams, SendPaymentWithRouterParams, SessionRouteNode, GetPaymentCommandParams };
|
|
77
|
+
//# sourceMappingURL=../../src/dist/types/payment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../types/payment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
interface ConnectPeerParams {
|
|
2
|
+
address: string;
|
|
3
|
+
save?: boolean;
|
|
4
|
+
}
|
|
5
|
+
interface DisconnectPeerParams {
|
|
6
|
+
peer_id: string;
|
|
7
|
+
}
|
|
8
|
+
interface PeerInfo {
|
|
9
|
+
pubkey: string;
|
|
10
|
+
peer_id: string;
|
|
11
|
+
addresses: string[];
|
|
12
|
+
}
|
|
13
|
+
interface ListPeerResult {
|
|
14
|
+
peers: PeerInfo[];
|
|
15
|
+
}
|
|
16
|
+
export type { ConnectPeerParams, DisconnectPeerParams, ListPeerResult, PeerInfo };
|
|
17
|
+
//# sourceMappingURL=../../src/dist/types/peer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer.d.ts","sourceRoot":"","sources":["../../types/peer.ts"],"names":[],"mappings":"AAEA,UAAU,iBAAiB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAElB;AAED,UAAU,oBAAoB;IAC1B,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,QAAQ;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,UAAU,cAAc;IACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACrB;AAGD,YAAY,EACR,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,QAAQ,EACV,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as esbuild from 'esbuild'
|
|
2
|
+
import inlineWorkerPlugin from 'esbuild-plugin-inline-worker';
|
|
3
|
+
import { polyfillNode } from "esbuild-plugin-polyfill-node";
|
|
4
|
+
import { dtsPlugin } from "esbuild-plugin-d.ts";
|
|
5
|
+
import fs from "node:fs/promises";
|
|
6
|
+
const tsconfig = JSON.parse(await fs.readFile("./tsconfig.json"));
|
|
7
|
+
const profile = process.env.PROFILE;
|
|
8
|
+
|
|
9
|
+
await esbuild.build({
|
|
10
|
+
entryPoints: ["./src/index.ts"],
|
|
11
|
+
bundle: true,
|
|
12
|
+
outdir: "dist",
|
|
13
|
+
plugins: [polyfillNode(), inlineWorkerPlugin({
|
|
14
|
+
format: "iife"
|
|
15
|
+
}), dtsPlugin({ tsconfig })],
|
|
16
|
+
target: [
|
|
17
|
+
"esnext"
|
|
18
|
+
],
|
|
19
|
+
platform: "browser",
|
|
20
|
+
sourcemap: true,
|
|
21
|
+
format: "esm",
|
|
22
|
+
globalName: "CkbLightClient",
|
|
23
|
+
minify: profile === "prod",
|
|
24
|
+
logLevel: "debug"
|
|
25
|
+
})
|
package/package.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nervosnetwork/fiber-js",
|
|
3
|
+
"version": "0.5.1",
|
|
4
|
+
"main": "dist/index.js",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"devDependencies": {
|
|
7
|
+
"esbuild": "0.25.5",
|
|
8
|
+
"esbuild-plugin-d.ts": "^1.3.1",
|
|
9
|
+
"esbuild-plugin-inline-worker": "^0.1.1",
|
|
10
|
+
"esbuild-plugin-polyfill-node": "^0.3.0",
|
|
11
|
+
"fiber-wasm": "*",
|
|
12
|
+
"fiber-wasm-db-worker": "*"
|
|
13
|
+
},
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"async-mutex": "^0.5.0",
|
|
16
|
+
"stream-browserify": "^3.0.0"
|
|
17
|
+
},
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build-debug": "PROFILE=debug npx node ./esbuild.config.mjs",
|
|
20
|
+
"build": "PROFILE=prod npx node ./esbuild.config.mjs",
|
|
21
|
+
"test": "jest"
|
|
22
|
+
},
|
|
23
|
+
"exports": {
|
|
24
|
+
".": "./dist/index.js"
|
|
25
|
+
},
|
|
26
|
+
"type": "module",
|
|
27
|
+
"repository": {
|
|
28
|
+
"url": "https://github.com/nervosnetwork/fiber"
|
|
29
|
+
}
|
|
30
|
+
}
|
package/src/db.worker.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DbWorkerInitializationOptions } from "./types/general.js";
|
|
2
|
+
|
|
3
|
+
onerror = (err) => {
|
|
4
|
+
console.error(err)
|
|
5
|
+
}
|
|
6
|
+
onmessage = async (evt) => {
|
|
7
|
+
const data = evt.data as DbWorkerInitializationOptions;
|
|
8
|
+
const wasmModule = await import("fiber-wasm-db-worker");
|
|
9
|
+
wasmModule.default.set_shared_array(data.inputBuffer, data.outputBuffer);
|
|
10
|
+
self.postMessage({});
|
|
11
|
+
await wasmModule.default.main_loop(data.logLevel);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
export default {} as typeof Worker & { new(): Worker };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { FiberInvokeRequest, FiberWorkerInitializationOptions } from "./types/general";
|
|
2
|
+
|
|
3
|
+
onerror = (err) => {
|
|
4
|
+
console.error(err)
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
let fiber: any;
|
|
8
|
+
onmessage = async (evt) => {
|
|
9
|
+
|
|
10
|
+
if (fiber === undefined) {
|
|
11
|
+
const data = evt.data as FiberWorkerInitializationOptions;
|
|
12
|
+
console.debug("Starting fiber, configuration: ", data);
|
|
13
|
+
fiber = await import("fiber-wasm");
|
|
14
|
+
fiber.default.set_shared_array(data.inputBuffer, data.outputBuffer
|
|
15
|
+
);
|
|
16
|
+
await fiber.default.fiber(
|
|
17
|
+
data.config,
|
|
18
|
+
data.logLevel,
|
|
19
|
+
data.chainSpec,
|
|
20
|
+
data.fiberKeyPair,
|
|
21
|
+
data.ckbSecretKey,
|
|
22
|
+
data.databasePrefix);
|
|
23
|
+
console.debug("Fiber started..")
|
|
24
|
+
self.postMessage({})
|
|
25
|
+
return;
|
|
26
|
+
} else {
|
|
27
|
+
const data = evt.data as FiberInvokeRequest;
|
|
28
|
+
|
|
29
|
+
try {
|
|
30
|
+
const result = await ((fiber.default)[data.name])(...data.args);
|
|
31
|
+
self.postMessage({
|
|
32
|
+
ok: true,
|
|
33
|
+
data: result
|
|
34
|
+
})
|
|
35
|
+
} catch (e) {
|
|
36
|
+
self.postMessage({
|
|
37
|
+
ok: false,
|
|
38
|
+
error: `${e}`
|
|
39
|
+
})
|
|
40
|
+
console.error(e);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export default {} as typeof Worker & { new(): Worker };
|