@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.
@@ -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":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,UAAU,MAAM;IACZ,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IAC/C,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,iBAAiB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,CAAC,EAAE,SAAS,CAAC;IACnC,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,+BAA+B,CAAC,EAAE,SAAS,CAAC;IAC5C,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC,wBAAwB,CAAC,EAAE,SAAS,CAAC;CACxC;AACD,UAAU,iBAAiB;IACvB,oBAAoB,EAAE,SAAS,CAAC;CACnC;AACD,UAAU,oBAAoB;IAC1B,UAAU,EAAE,SAAS,CAAC;CACzB;AACD,UAAU,mBAAmB;IACzB,oBAAoB,EAAE,SAAS,CAAC;IAChC,cAAc,EAAE,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC,wBAAwB,CAAC,EAAE,SAAS,CAAC;IACrC,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,+BAA+B,CAAC,EAAE,SAAS,CAAC;IAC5C,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAChC;AACD,UAAU,mBAAmB;IACzB,UAAU,EAAE,SAAS,CAAC;CACzB;AACD,UAAU,kBAAkB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,UAAU,YAAY;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB;AACD,UAAU,OAAO;IACb,UAAU,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,OAAO,EAAE,SAAS,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,KAAK,EAAE,YAAY,CAAC;IACpB,aAAa,EAAE,SAAS,CAAC;IACzB,mBAAmB,EAAE,SAAS,CAAC;IAC/B,cAAc,EAAE,SAAS,CAAC;IAC1B,oBAAoB,EAAE,SAAS,CAAC;IAChC,kCAAkC,CAAC,EAAE,SAAS,CAAC;IAC/C,UAAU,EAAE,SAAS,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,+BAA+B,EAAE,SAAS,CAAC;CAC9C;AAED,UAAU,qBAAqB;IAC3B,UAAU,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,mBAAmB;IACzB,UAAU,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,+BAA+B,CAAC,EAAE,SAAS,CAAC;CAC/C;AACD,UAAU,kBAAkB;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACvB;AACD,YAAY,EACR,iBAAiB,EACjB,MAAM,EACN,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,OAAO,EACP,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EACrB,CAAA"}
@@ -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
+ }
@@ -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 };