tigerbeetle-node 0.11.10 → 0.11.11
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/dist/index.d.ts +70 -67
- package/dist/index.js +70 -67
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +3 -0
package/dist/index.d.ts
CHANGED
|
@@ -25,22 +25,23 @@ export declare enum AccountFlags {
|
|
|
25
25
|
export declare enum CreateAccountError {
|
|
26
26
|
linked_event_failed = 1,
|
|
27
27
|
linked_event_chain_open = 2,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
28
|
+
timestamp_must_be_zero = 3,
|
|
29
|
+
reserved_flag = 4,
|
|
30
|
+
reserved_field = 5,
|
|
31
|
+
id_must_not_be_zero = 6,
|
|
32
|
+
id_must_not_be_int_max = 7,
|
|
33
|
+
ledger_must_not_be_zero = 8,
|
|
34
|
+
code_must_not_be_zero = 9,
|
|
35
|
+
debits_pending_must_be_zero = 10,
|
|
36
|
+
debits_posted_must_be_zero = 11,
|
|
37
|
+
credits_pending_must_be_zero = 12,
|
|
38
|
+
credits_posted_must_be_zero = 13,
|
|
39
|
+
mutually_exclusive_flags = 14,
|
|
40
|
+
exists_with_different_flags = 15,
|
|
41
|
+
exists_with_different_user_data = 16,
|
|
42
|
+
exists_with_different_ledger = 17,
|
|
43
|
+
exists_with_different_code = 18,
|
|
44
|
+
exists = 19
|
|
44
45
|
}
|
|
45
46
|
export declare type CreateAccountsError = {
|
|
46
47
|
index: number;
|
|
@@ -69,57 +70,59 @@ export declare enum TransferFlags {
|
|
|
69
70
|
export declare enum CreateTransferError {
|
|
70
71
|
linked_event_failed = 1,
|
|
71
72
|
linked_event_chain_open = 2,
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
73
|
+
timestamp_must_be_zero = 3,
|
|
74
|
+
reserved_flag = 4,
|
|
75
|
+
reserved_field = 5,
|
|
76
|
+
id_must_not_be_zero = 6,
|
|
77
|
+
id_must_not_be_int_max = 7,
|
|
78
|
+
debit_account_id_must_not_be_zero = 8,
|
|
79
|
+
debit_account_id_must_not_be_int_max = 9,
|
|
80
|
+
credit_account_id_must_not_be_zero = 10,
|
|
81
|
+
credit_account_id_must_not_be_int_max = 11,
|
|
82
|
+
accounts_must_be_different = 12,
|
|
83
|
+
pending_id_must_be_zero = 13,
|
|
84
|
+
ledger_must_not_be_zero = 14,
|
|
85
|
+
code_must_not_be_zero = 15,
|
|
86
|
+
amount_must_not_be_zero = 16,
|
|
87
|
+
debit_account_not_found = 17,
|
|
88
|
+
credit_account_not_found = 18,
|
|
89
|
+
accounts_must_have_the_same_ledger = 19,
|
|
90
|
+
transfer_must_have_the_same_ledger_as_accounts = 20,
|
|
91
|
+
exists_with_different_flags = 21,
|
|
92
|
+
exists_with_different_debit_account_id = 22,
|
|
93
|
+
exists_with_different_credit_account_id = 23,
|
|
94
|
+
exists_with_different_user_data = 24,
|
|
95
|
+
exists_with_different_pending_id = 25,
|
|
96
|
+
exists_with_different_timeout = 26,
|
|
97
|
+
exists_with_different_code = 27,
|
|
98
|
+
exists_with_different_amount = 28,
|
|
99
|
+
exists = 29,
|
|
100
|
+
overflows_debits_pending = 30,
|
|
101
|
+
overflows_credits_pending = 31,
|
|
102
|
+
overflows_debits_posted = 32,
|
|
103
|
+
overflows_credits_posted = 33,
|
|
104
|
+
overflows_debits = 34,
|
|
105
|
+
overflows_credits = 35,
|
|
106
|
+
overflows_timeout = 36,
|
|
107
|
+
exceeds_credits = 37,
|
|
108
|
+
exceeds_debits = 38,
|
|
109
|
+
cannot_post_and_void_pending_transfer = 39,
|
|
110
|
+
pending_transfer_cannot_post_or_void_another = 40,
|
|
111
|
+
timeout_reserved_for_pending_transfer = 41,
|
|
112
|
+
pending_id_must_not_be_zero = 42,
|
|
113
|
+
pending_id_must_not_be_int_max = 43,
|
|
114
|
+
pending_id_must_be_different = 44,
|
|
115
|
+
pending_transfer_not_found = 45,
|
|
116
|
+
pending_transfer_not_pending = 46,
|
|
117
|
+
pending_transfer_has_different_debit_account_id = 47,
|
|
118
|
+
pending_transfer_has_different_credit_account_id = 48,
|
|
119
|
+
pending_transfer_has_different_ledger = 49,
|
|
120
|
+
pending_transfer_has_different_code = 50,
|
|
121
|
+
exceeds_pending_transfer_amount = 51,
|
|
122
|
+
pending_transfer_has_different_amount = 52,
|
|
123
|
+
pending_transfer_already_posted = 53,
|
|
124
|
+
pending_transfer_already_voided = 54,
|
|
125
|
+
pending_transfer_expired = 55
|
|
123
126
|
}
|
|
124
127
|
export declare type CreateTransfersError = {
|
|
125
128
|
index: number;
|
package/dist/index.js
CHANGED
|
@@ -12,22 +12,23 @@ var CreateAccountError;
|
|
|
12
12
|
(function (CreateAccountError) {
|
|
13
13
|
CreateAccountError[CreateAccountError["linked_event_failed"] = 1] = "linked_event_failed";
|
|
14
14
|
CreateAccountError[CreateAccountError["linked_event_chain_open"] = 2] = "linked_event_chain_open";
|
|
15
|
-
CreateAccountError[CreateAccountError["
|
|
16
|
-
CreateAccountError[CreateAccountError["
|
|
17
|
-
CreateAccountError[CreateAccountError["
|
|
18
|
-
CreateAccountError[CreateAccountError["
|
|
19
|
-
CreateAccountError[CreateAccountError["
|
|
20
|
-
CreateAccountError[CreateAccountError["
|
|
21
|
-
CreateAccountError[CreateAccountError["
|
|
22
|
-
CreateAccountError[CreateAccountError["
|
|
23
|
-
CreateAccountError[CreateAccountError["
|
|
24
|
-
CreateAccountError[CreateAccountError["
|
|
25
|
-
CreateAccountError[CreateAccountError["
|
|
26
|
-
CreateAccountError[CreateAccountError["
|
|
27
|
-
CreateAccountError[CreateAccountError["
|
|
28
|
-
CreateAccountError[CreateAccountError["
|
|
29
|
-
CreateAccountError[CreateAccountError["
|
|
30
|
-
CreateAccountError[CreateAccountError["
|
|
15
|
+
CreateAccountError[CreateAccountError["timestamp_must_be_zero"] = 3] = "timestamp_must_be_zero";
|
|
16
|
+
CreateAccountError[CreateAccountError["reserved_flag"] = 4] = "reserved_flag";
|
|
17
|
+
CreateAccountError[CreateAccountError["reserved_field"] = 5] = "reserved_field";
|
|
18
|
+
CreateAccountError[CreateAccountError["id_must_not_be_zero"] = 6] = "id_must_not_be_zero";
|
|
19
|
+
CreateAccountError[CreateAccountError["id_must_not_be_int_max"] = 7] = "id_must_not_be_int_max";
|
|
20
|
+
CreateAccountError[CreateAccountError["ledger_must_not_be_zero"] = 8] = "ledger_must_not_be_zero";
|
|
21
|
+
CreateAccountError[CreateAccountError["code_must_not_be_zero"] = 9] = "code_must_not_be_zero";
|
|
22
|
+
CreateAccountError[CreateAccountError["debits_pending_must_be_zero"] = 10] = "debits_pending_must_be_zero";
|
|
23
|
+
CreateAccountError[CreateAccountError["debits_posted_must_be_zero"] = 11] = "debits_posted_must_be_zero";
|
|
24
|
+
CreateAccountError[CreateAccountError["credits_pending_must_be_zero"] = 12] = "credits_pending_must_be_zero";
|
|
25
|
+
CreateAccountError[CreateAccountError["credits_posted_must_be_zero"] = 13] = "credits_posted_must_be_zero";
|
|
26
|
+
CreateAccountError[CreateAccountError["mutually_exclusive_flags"] = 14] = "mutually_exclusive_flags";
|
|
27
|
+
CreateAccountError[CreateAccountError["exists_with_different_flags"] = 15] = "exists_with_different_flags";
|
|
28
|
+
CreateAccountError[CreateAccountError["exists_with_different_user_data"] = 16] = "exists_with_different_user_data";
|
|
29
|
+
CreateAccountError[CreateAccountError["exists_with_different_ledger"] = 17] = "exists_with_different_ledger";
|
|
30
|
+
CreateAccountError[CreateAccountError["exists_with_different_code"] = 18] = "exists_with_different_code";
|
|
31
|
+
CreateAccountError[CreateAccountError["exists"] = 19] = "exists";
|
|
31
32
|
})(CreateAccountError = exports.CreateAccountError || (exports.CreateAccountError = {}));
|
|
32
33
|
var TransferFlags;
|
|
33
34
|
(function (TransferFlags) {
|
|
@@ -40,57 +41,59 @@ var CreateTransferError;
|
|
|
40
41
|
(function (CreateTransferError) {
|
|
41
42
|
CreateTransferError[CreateTransferError["linked_event_failed"] = 1] = "linked_event_failed";
|
|
42
43
|
CreateTransferError[CreateTransferError["linked_event_chain_open"] = 2] = "linked_event_chain_open";
|
|
43
|
-
CreateTransferError[CreateTransferError["
|
|
44
|
-
CreateTransferError[CreateTransferError["
|
|
45
|
-
CreateTransferError[CreateTransferError["
|
|
46
|
-
CreateTransferError[CreateTransferError["
|
|
47
|
-
CreateTransferError[CreateTransferError["
|
|
48
|
-
CreateTransferError[CreateTransferError["
|
|
49
|
-
CreateTransferError[CreateTransferError["
|
|
50
|
-
CreateTransferError[CreateTransferError["
|
|
51
|
-
CreateTransferError[CreateTransferError["
|
|
52
|
-
CreateTransferError[CreateTransferError["
|
|
53
|
-
CreateTransferError[CreateTransferError["
|
|
54
|
-
CreateTransferError[CreateTransferError["
|
|
55
|
-
CreateTransferError[CreateTransferError["
|
|
56
|
-
CreateTransferError[CreateTransferError["
|
|
57
|
-
CreateTransferError[CreateTransferError["
|
|
58
|
-
CreateTransferError[CreateTransferError["
|
|
59
|
-
CreateTransferError[CreateTransferError["
|
|
60
|
-
CreateTransferError[CreateTransferError["
|
|
61
|
-
CreateTransferError[CreateTransferError["
|
|
62
|
-
CreateTransferError[CreateTransferError["
|
|
63
|
-
CreateTransferError[CreateTransferError["
|
|
64
|
-
CreateTransferError[CreateTransferError["
|
|
65
|
-
CreateTransferError[CreateTransferError["
|
|
66
|
-
CreateTransferError[CreateTransferError["
|
|
67
|
-
CreateTransferError[CreateTransferError["
|
|
68
|
-
CreateTransferError[CreateTransferError["
|
|
69
|
-
CreateTransferError[CreateTransferError["
|
|
70
|
-
CreateTransferError[CreateTransferError["
|
|
71
|
-
CreateTransferError[CreateTransferError["
|
|
72
|
-
CreateTransferError[CreateTransferError["
|
|
73
|
-
CreateTransferError[CreateTransferError["
|
|
74
|
-
CreateTransferError[CreateTransferError["
|
|
75
|
-
CreateTransferError[CreateTransferError["
|
|
76
|
-
CreateTransferError[CreateTransferError["
|
|
77
|
-
CreateTransferError[CreateTransferError["
|
|
78
|
-
CreateTransferError[CreateTransferError["
|
|
79
|
-
CreateTransferError[CreateTransferError["
|
|
80
|
-
CreateTransferError[CreateTransferError["
|
|
81
|
-
CreateTransferError[CreateTransferError["
|
|
82
|
-
CreateTransferError[CreateTransferError["
|
|
83
|
-
CreateTransferError[CreateTransferError["
|
|
84
|
-
CreateTransferError[CreateTransferError["
|
|
85
|
-
CreateTransferError[CreateTransferError["
|
|
86
|
-
CreateTransferError[CreateTransferError["
|
|
87
|
-
CreateTransferError[CreateTransferError["
|
|
88
|
-
CreateTransferError[CreateTransferError["
|
|
89
|
-
CreateTransferError[CreateTransferError["
|
|
90
|
-
CreateTransferError[CreateTransferError["
|
|
91
|
-
CreateTransferError[CreateTransferError["
|
|
92
|
-
CreateTransferError[CreateTransferError["
|
|
93
|
-
CreateTransferError[CreateTransferError["
|
|
44
|
+
CreateTransferError[CreateTransferError["timestamp_must_be_zero"] = 3] = "timestamp_must_be_zero";
|
|
45
|
+
CreateTransferError[CreateTransferError["reserved_flag"] = 4] = "reserved_flag";
|
|
46
|
+
CreateTransferError[CreateTransferError["reserved_field"] = 5] = "reserved_field";
|
|
47
|
+
CreateTransferError[CreateTransferError["id_must_not_be_zero"] = 6] = "id_must_not_be_zero";
|
|
48
|
+
CreateTransferError[CreateTransferError["id_must_not_be_int_max"] = 7] = "id_must_not_be_int_max";
|
|
49
|
+
CreateTransferError[CreateTransferError["debit_account_id_must_not_be_zero"] = 8] = "debit_account_id_must_not_be_zero";
|
|
50
|
+
CreateTransferError[CreateTransferError["debit_account_id_must_not_be_int_max"] = 9] = "debit_account_id_must_not_be_int_max";
|
|
51
|
+
CreateTransferError[CreateTransferError["credit_account_id_must_not_be_zero"] = 10] = "credit_account_id_must_not_be_zero";
|
|
52
|
+
CreateTransferError[CreateTransferError["credit_account_id_must_not_be_int_max"] = 11] = "credit_account_id_must_not_be_int_max";
|
|
53
|
+
CreateTransferError[CreateTransferError["accounts_must_be_different"] = 12] = "accounts_must_be_different";
|
|
54
|
+
CreateTransferError[CreateTransferError["pending_id_must_be_zero"] = 13] = "pending_id_must_be_zero";
|
|
55
|
+
CreateTransferError[CreateTransferError["ledger_must_not_be_zero"] = 14] = "ledger_must_not_be_zero";
|
|
56
|
+
CreateTransferError[CreateTransferError["code_must_not_be_zero"] = 15] = "code_must_not_be_zero";
|
|
57
|
+
CreateTransferError[CreateTransferError["amount_must_not_be_zero"] = 16] = "amount_must_not_be_zero";
|
|
58
|
+
CreateTransferError[CreateTransferError["debit_account_not_found"] = 17] = "debit_account_not_found";
|
|
59
|
+
CreateTransferError[CreateTransferError["credit_account_not_found"] = 18] = "credit_account_not_found";
|
|
60
|
+
CreateTransferError[CreateTransferError["accounts_must_have_the_same_ledger"] = 19] = "accounts_must_have_the_same_ledger";
|
|
61
|
+
CreateTransferError[CreateTransferError["transfer_must_have_the_same_ledger_as_accounts"] = 20] = "transfer_must_have_the_same_ledger_as_accounts";
|
|
62
|
+
CreateTransferError[CreateTransferError["exists_with_different_flags"] = 21] = "exists_with_different_flags";
|
|
63
|
+
CreateTransferError[CreateTransferError["exists_with_different_debit_account_id"] = 22] = "exists_with_different_debit_account_id";
|
|
64
|
+
CreateTransferError[CreateTransferError["exists_with_different_credit_account_id"] = 23] = "exists_with_different_credit_account_id";
|
|
65
|
+
CreateTransferError[CreateTransferError["exists_with_different_user_data"] = 24] = "exists_with_different_user_data";
|
|
66
|
+
CreateTransferError[CreateTransferError["exists_with_different_pending_id"] = 25] = "exists_with_different_pending_id";
|
|
67
|
+
CreateTransferError[CreateTransferError["exists_with_different_timeout"] = 26] = "exists_with_different_timeout";
|
|
68
|
+
CreateTransferError[CreateTransferError["exists_with_different_code"] = 27] = "exists_with_different_code";
|
|
69
|
+
CreateTransferError[CreateTransferError["exists_with_different_amount"] = 28] = "exists_with_different_amount";
|
|
70
|
+
CreateTransferError[CreateTransferError["exists"] = 29] = "exists";
|
|
71
|
+
CreateTransferError[CreateTransferError["overflows_debits_pending"] = 30] = "overflows_debits_pending";
|
|
72
|
+
CreateTransferError[CreateTransferError["overflows_credits_pending"] = 31] = "overflows_credits_pending";
|
|
73
|
+
CreateTransferError[CreateTransferError["overflows_debits_posted"] = 32] = "overflows_debits_posted";
|
|
74
|
+
CreateTransferError[CreateTransferError["overflows_credits_posted"] = 33] = "overflows_credits_posted";
|
|
75
|
+
CreateTransferError[CreateTransferError["overflows_debits"] = 34] = "overflows_debits";
|
|
76
|
+
CreateTransferError[CreateTransferError["overflows_credits"] = 35] = "overflows_credits";
|
|
77
|
+
CreateTransferError[CreateTransferError["overflows_timeout"] = 36] = "overflows_timeout";
|
|
78
|
+
CreateTransferError[CreateTransferError["exceeds_credits"] = 37] = "exceeds_credits";
|
|
79
|
+
CreateTransferError[CreateTransferError["exceeds_debits"] = 38] = "exceeds_debits";
|
|
80
|
+
CreateTransferError[CreateTransferError["cannot_post_and_void_pending_transfer"] = 39] = "cannot_post_and_void_pending_transfer";
|
|
81
|
+
CreateTransferError[CreateTransferError["pending_transfer_cannot_post_or_void_another"] = 40] = "pending_transfer_cannot_post_or_void_another";
|
|
82
|
+
CreateTransferError[CreateTransferError["timeout_reserved_for_pending_transfer"] = 41] = "timeout_reserved_for_pending_transfer";
|
|
83
|
+
CreateTransferError[CreateTransferError["pending_id_must_not_be_zero"] = 42] = "pending_id_must_not_be_zero";
|
|
84
|
+
CreateTransferError[CreateTransferError["pending_id_must_not_be_int_max"] = 43] = "pending_id_must_not_be_int_max";
|
|
85
|
+
CreateTransferError[CreateTransferError["pending_id_must_be_different"] = 44] = "pending_id_must_be_different";
|
|
86
|
+
CreateTransferError[CreateTransferError["pending_transfer_not_found"] = 45] = "pending_transfer_not_found";
|
|
87
|
+
CreateTransferError[CreateTransferError["pending_transfer_not_pending"] = 46] = "pending_transfer_not_pending";
|
|
88
|
+
CreateTransferError[CreateTransferError["pending_transfer_has_different_debit_account_id"] = 47] = "pending_transfer_has_different_debit_account_id";
|
|
89
|
+
CreateTransferError[CreateTransferError["pending_transfer_has_different_credit_account_id"] = 48] = "pending_transfer_has_different_credit_account_id";
|
|
90
|
+
CreateTransferError[CreateTransferError["pending_transfer_has_different_ledger"] = 49] = "pending_transfer_has_different_ledger";
|
|
91
|
+
CreateTransferError[CreateTransferError["pending_transfer_has_different_code"] = 50] = "pending_transfer_has_different_code";
|
|
92
|
+
CreateTransferError[CreateTransferError["exceeds_pending_transfer_amount"] = 51] = "exceeds_pending_transfer_amount";
|
|
93
|
+
CreateTransferError[CreateTransferError["pending_transfer_has_different_amount"] = 52] = "pending_transfer_has_different_amount";
|
|
94
|
+
CreateTransferError[CreateTransferError["pending_transfer_already_posted"] = 53] = "pending_transfer_already_posted";
|
|
95
|
+
CreateTransferError[CreateTransferError["pending_transfer_already_voided"] = 54] = "pending_transfer_already_voided";
|
|
96
|
+
CreateTransferError[CreateTransferError["pending_transfer_expired"] = 55] = "pending_transfer_expired";
|
|
94
97
|
})(CreateTransferError = exports.CreateTransferError || (exports.CreateTransferError = {}));
|
|
95
98
|
var Operation;
|
|
96
99
|
(function (Operation) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["const binding: Binding = require('./client.node')\ninterface Binding {\n init: (args: BindingInitArgs) => Context\n request: (context: Context, operation: Operation, batch: Event[], result: ResultCallback) => void\n raw_request: (context: Context, operation: Operation, raw_batch: Buffer, result: ResultCallback) => void\n tick: (context: Context) => void,\n deinit: (context: Context) => void,\n tick_ms: number\n}\n\ninterface BindingInitArgs {\n cluster_id: number, // u32\n replica_addresses: Buffer,\n}\n\nexport interface InitArgs {\n cluster_id: number, // u32\n replica_addresses: Array<string | number>,\n}\n\nexport type Context = object\n\nexport type Account = {\n id: bigint // u128\n user_data: bigint // u128\n reserved: Buffer // [48]u8\n ledger: number // u32, ledger of value\n code: number // u16, A chart of accounts code describing the type of account (e.g. clearing, settlement)\n flags: number // u16\n debits_pending: bigint // u64\n debits_posted: bigint // u64\n credits_pending: bigint // u64\n credits_posted: bigint // u64\n timestamp: bigint // u64, Set this to 0n - the actual value will be set by TigerBeetle server\n}\n\nexport enum AccountFlags {\n linked = (1 << 0),\n debits_must_not_exceed_credits = (1 << 1),\n credits_must_not_exceed_debits = (1 << 2)\n}\n\nexport enum CreateAccountError {\n // ok = 0 (No Error)\n linked_event_failed = 1,\n linked_event_chain_open,\n\n reserved_flag,\n reserved_field,\n\n id_must_not_be_zero,\n id_must_not_be_int_max,\n ledger_must_not_be_zero,\n code_must_not_be_zero,\n debits_pending_must_be_zero,\n debits_posted_must_be_zero,\n credits_pending_must_be_zero,\n credits_posted_must_be_zero,\n\n mutually_exclusive_flags,\n\n exists_with_different_flags,\n exists_with_different_user_data,\n exists_with_different_ledger,\n exists_with_different_code,\n exists,\n}\n\nexport type CreateAccountsError = {\n index: number,\n code: CreateAccountError,\n}\n\nexport type Transfer = {\n id: bigint, // u128\n debit_account_id: bigint, // u128\n credit_account_id: bigint, // u128\n user_data: bigint, // u128\n reserved: bigint, // u128\n pending_id: bigint, // u128\n timeout: bigint, // u64, In nanoseconds.\n ledger: number // u32, The ledger of value.\n code: number, // u16, A user-defined accounting code to describe the type of transfer (e.g. settlement).\n flags: number, // u16\n amount: bigint, // u64,\n timestamp: bigint, // u64, Set this to 0n - the timestamp will be set by TigerBeetle.\n}\n\nexport enum TransferFlags {\n linked = (1 << 0),\n pending = (1 << 1),\n post_pending_transfer = (1 << 2),\n void_pending_transfer = (1 << 3)\n}\n\nexport enum CreateTransferError {\n // ok = 0 (No Error)\n linked_event_failed = 1,\n linked_event_chain_open,\n\n reserved_flag,\n reserved_field,\n\n id_must_not_be_zero,\n id_must_not_be_int_max,\n debit_account_id_must_not_be_zero,\n debit_account_id_must_not_be_int_max,\n credit_account_id_must_not_be_zero,\n credit_account_id_must_not_be_int_max,\n accounts_must_be_different,\n\n pending_id_must_be_zero,\n\n ledger_must_not_be_zero,\n code_must_not_be_zero,\n amount_must_not_be_zero,\n\n debit_account_not_found,\n credit_account_not_found,\n\n accounts_must_have_the_same_ledger,\n transfer_must_have_the_same_ledger_as_accounts,\n\n exists_with_different_flags,\n exists_with_different_debit_account_id,\n exists_with_different_credit_account_id,\n exists_with_different_user_data,\n exists_with_different_pending_id,\n exists_with_different_timeout,\n exists_with_different_code,\n exists_with_different_amount,\n exists,\n\n overflows_debits_pending,\n overflows_credits_pending,\n overflows_debits_posted,\n overflows_credits_posted,\n overflows_debits,\n overflows_credits,\n\n exceeds_credits,\n exceeds_debits,\n\n cannot_post_and_void_pending_transfer,\n pending_transfer_cannot_post_or_void_another,\n timeout_reserved_for_pending_transfer,\n\n pending_id_must_not_be_zero,\n pending_id_must_not_be_int_max,\n pending_id_must_be_different,\n\n pending_transfer_not_found,\n pending_transfer_not_pending,\n\n pending_transfer_has_different_debit_account_id,\n pending_transfer_has_different_credit_account_id,\n pending_transfer_has_different_ledger,\n pending_transfer_has_different_code,\n\n exceeds_pending_transfer_amount,\n pending_transfer_has_different_amount,\n\n pending_transfer_already_posted,\n pending_transfer_already_voided,\n\n pending_transfer_expired,\n}\n\nexport type CreateTransfersError = {\n index: number,\n code: CreateTransferError,\n}\n\nexport type AccountID = bigint // u128\nexport type TransferID = bigint // u128\n\nexport type Event = Account | Transfer | AccountID | TransferID\nexport type Result = CreateAccountsError | CreateTransfersError | Account | Transfer\nexport type ResultCallback = (error: undefined | Error, results: Result[]) => void\n\nexport enum Operation {\n CREATE_ACCOUNT = 3,\n CREATE_TRANSFER,\n ACCOUNT_LOOKUP,\n TRANSFER_LOOKUP\n}\n\nexport interface Client {\n createAccounts: (batch: Account[]) => Promise<CreateAccountsError[]>\n createTransfers: (batch: Transfer[]) => Promise<CreateTransfersError[]>\n lookupAccounts: (batch: AccountID[]) => Promise<Account[]>\n lookupTransfers: (batch: TransferID[]) => Promise<Transfer[]>\n request: (operation: Operation, batch: Event[], callback: ResultCallback) => void\n rawRequest: (operation: Operation, rawBatch: Buffer, callback: ResultCallback) => void\n destroy: () => void\n}\n\nlet _args: InitArgs | undefined = undefined\nconst isSameArgs = (args: InitArgs): boolean => {\n if (typeof _args === 'undefined') {\n return false\n }\n\n if (_args.replica_addresses.length !== args.replica_addresses.length) {\n return false\n }\n\n let isSameReplicas = true\n args.replica_addresses.forEach((entry, index) => {\n if (_args?.replica_addresses[index] !== entry) {\n isSameReplicas = false\n }\n })\n\n return args.cluster_id === _args.cluster_id && isSameReplicas\n}\n\nlet _client: Client | undefined = undefined\nlet _interval: NodeJS.Timeout | undefined = undefined\n// Here to wait until `ping` is sent to server so that connection is registered - temporary till client table and sessions are implemented.\nlet _pinged = false\n// TODO: allow creation of clients if the arguments are different. Will require changes in node.zig as well.\nexport function createClient (args: InitArgs): Client {\n const duplicateArgs = isSameArgs(args)\n if (!duplicateArgs && typeof _client !== 'undefined'){\n throw new Error('Client has already been initialized with different arguments.')\n }\n\n if (duplicateArgs && typeof _client !== 'undefined'){\n throw new Error('Client has already been initialized with the same arguments.')\n }\n\n _args = Object.assign({}, { ...args })\n const context = binding.init({\n ...args,\n replica_addresses: Buffer.from(args.replica_addresses.join(','))\n })\n\n const request = (operation: Operation, batch: Event[], callback: ResultCallback) => {\n binding.request(context, operation, batch, callback)\n }\n\n const rawRequest = (operation: Operation, rawBatch: Buffer, callback: ResultCallback) => {\n binding.raw_request(context, operation, rawBatch, callback)\n }\n\n const createAccounts = async (batch: Account[]): Promise<CreateAccountsError[]> => {\n // Here to wait until `ping` is sent to server so that connection is registered - temporary till client table and sessions are implemented.\n if (!_pinged) {\n await new Promise<void>(resolve => {\n setTimeout(() => {\n _pinged = true\n resolve()\n }, 600)\n })\n }\n return new Promise((resolve, reject) => {\n const callback = (error: undefined | Error, results: CreateAccountsError[]) => {\n if (error) {\n reject(error)\n return\n }\n resolve(results)\n }\n\n try {\n binding.request(context, Operation.CREATE_ACCOUNT, batch, callback)\n } catch (error) {\n reject(error)\n }\n })\n }\n\n const createTransfers = async (batch: Transfer[]): Promise<CreateTransfersError[]> => {\n // Here to wait until `ping` is sent to server so that connection is registered - temporary till client table and sessions are implemented.\n if (!_pinged) {\n await new Promise<void>(resolve => {\n setTimeout(() => {\n _pinged = true\n resolve()\n }, 600)\n })\n }\n return new Promise((resolve, reject) => {\n const callback = (error: undefined | Error, results: CreateTransfersError[]) => {\n if (error) {\n reject(error)\n return\n }\n resolve(results)\n }\n\n try {\n binding.request(context, Operation.CREATE_TRANSFER, batch, callback)\n } catch (error) {\n reject(error)\n }\n })\n }\n\n const lookupAccounts = async (batch: AccountID[]): Promise<Account[]> => {\n return new Promise((resolve, reject) => {\n const callback = (error: undefined | Error, results: Account[]) => {\n if (error) {\n reject(error)\n return\n }\n resolve(results)\n }\n\n try {\n binding.request(context, Operation.ACCOUNT_LOOKUP, batch, callback)\n } catch (error) {\n reject(error)\n }\n })\n }\n\n const lookupTransfers = async (batch: TransferID[]): Promise<Transfer[]> => {\n return new Promise((resolve, reject) => {\n const callback = (error: undefined | Error, results: Transfer[]) => {\n if (error) {\n reject(error)\n return\n }\n resolve(results)\n }\n\n try {\n binding.request(context, Operation.TRANSFER_LOOKUP, batch, callback)\n } catch (error) {\n reject(error)\n }\n })\n }\n\n const destroy = (): void => {\n binding.deinit(context)\n if (_interval){\n clearInterval(_interval)\n }\n _client = undefined\n }\n\n _client = {\n createAccounts,\n createTransfers,\n lookupAccounts,\n lookupTransfers,\n request,\n rawRequest,\n destroy\n }\n\n _interval = setInterval(() => {\n binding.tick(context)\n }, binding.tick_ms)\n\n return _client\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["const binding: Binding = require('./client.node')\ninterface Binding {\n init: (args: BindingInitArgs) => Context\n request: (context: Context, operation: Operation, batch: Event[], result: ResultCallback) => void\n raw_request: (context: Context, operation: Operation, raw_batch: Buffer, result: ResultCallback) => void\n tick: (context: Context) => void,\n deinit: (context: Context) => void,\n tick_ms: number\n}\n\ninterface BindingInitArgs {\n cluster_id: number, // u32\n replica_addresses: Buffer,\n}\n\nexport interface InitArgs {\n cluster_id: number, // u32\n replica_addresses: Array<string | number>,\n}\n\nexport type Context = object\n\nexport type Account = {\n id: bigint // u128\n user_data: bigint // u128\n reserved: Buffer // [48]u8\n ledger: number // u32, ledger of value\n code: number // u16, A chart of accounts code describing the type of account (e.g. clearing, settlement)\n flags: number // u16\n debits_pending: bigint // u64\n debits_posted: bigint // u64\n credits_pending: bigint // u64\n credits_posted: bigint // u64\n timestamp: bigint // u64, Set this to 0n - the actual value will be set by TigerBeetle server\n}\n\nexport enum AccountFlags {\n linked = (1 << 0),\n debits_must_not_exceed_credits = (1 << 1),\n credits_must_not_exceed_debits = (1 << 2)\n}\n\nexport enum CreateAccountError {\n // ok = 0 (No Error)\n linked_event_failed = 1,\n linked_event_chain_open,\n timestamp_must_be_zero,\n\n reserved_flag,\n reserved_field,\n\n id_must_not_be_zero,\n id_must_not_be_int_max,\n ledger_must_not_be_zero,\n code_must_not_be_zero,\n debits_pending_must_be_zero,\n debits_posted_must_be_zero,\n credits_pending_must_be_zero,\n credits_posted_must_be_zero,\n\n mutually_exclusive_flags,\n\n exists_with_different_flags,\n exists_with_different_user_data,\n exists_with_different_ledger,\n exists_with_different_code,\n exists,\n}\n\nexport type CreateAccountsError = {\n index: number,\n code: CreateAccountError,\n}\n\nexport type Transfer = {\n id: bigint, // u128\n debit_account_id: bigint, // u128\n credit_account_id: bigint, // u128\n user_data: bigint, // u128\n reserved: bigint, // u128\n pending_id: bigint, // u128\n timeout: bigint, // u64, In nanoseconds.\n ledger: number // u32, The ledger of value.\n code: number, // u16, A user-defined accounting code to describe the type of transfer (e.g. settlement).\n flags: number, // u16\n amount: bigint, // u64,\n timestamp: bigint, // u64, Set this to 0n - the timestamp will be set by TigerBeetle.\n}\n\nexport enum TransferFlags {\n linked = (1 << 0),\n pending = (1 << 1),\n post_pending_transfer = (1 << 2),\n void_pending_transfer = (1 << 3)\n}\n\nexport enum CreateTransferError {\n // ok = 0 (No Error)\n linked_event_failed = 1,\n linked_event_chain_open,\n timestamp_must_be_zero,\n\n reserved_flag,\n reserved_field,\n\n id_must_not_be_zero,\n id_must_not_be_int_max,\n debit_account_id_must_not_be_zero,\n debit_account_id_must_not_be_int_max,\n credit_account_id_must_not_be_zero,\n credit_account_id_must_not_be_int_max,\n accounts_must_be_different,\n\n pending_id_must_be_zero,\n\n ledger_must_not_be_zero,\n code_must_not_be_zero,\n amount_must_not_be_zero,\n\n debit_account_not_found,\n credit_account_not_found,\n\n accounts_must_have_the_same_ledger,\n transfer_must_have_the_same_ledger_as_accounts,\n\n exists_with_different_flags,\n exists_with_different_debit_account_id,\n exists_with_different_credit_account_id,\n exists_with_different_user_data,\n exists_with_different_pending_id,\n exists_with_different_timeout,\n exists_with_different_code,\n exists_with_different_amount,\n exists,\n\n overflows_debits_pending,\n overflows_credits_pending,\n overflows_debits_posted,\n overflows_credits_posted,\n overflows_debits,\n overflows_credits,\n overflows_timeout,\n\n exceeds_credits,\n exceeds_debits,\n\n cannot_post_and_void_pending_transfer,\n pending_transfer_cannot_post_or_void_another,\n timeout_reserved_for_pending_transfer,\n\n pending_id_must_not_be_zero,\n pending_id_must_not_be_int_max,\n pending_id_must_be_different,\n\n pending_transfer_not_found,\n pending_transfer_not_pending,\n\n pending_transfer_has_different_debit_account_id,\n pending_transfer_has_different_credit_account_id,\n pending_transfer_has_different_ledger,\n pending_transfer_has_different_code,\n\n exceeds_pending_transfer_amount,\n pending_transfer_has_different_amount,\n\n pending_transfer_already_posted,\n pending_transfer_already_voided,\n\n pending_transfer_expired,\n}\n\nexport type CreateTransfersError = {\n index: number,\n code: CreateTransferError,\n}\n\nexport type AccountID = bigint // u128\nexport type TransferID = bigint // u128\n\nexport type Event = Account | Transfer | AccountID | TransferID\nexport type Result = CreateAccountsError | CreateTransfersError | Account | Transfer\nexport type ResultCallback = (error: undefined | Error, results: Result[]) => void\n\nexport enum Operation {\n CREATE_ACCOUNT = 3,\n CREATE_TRANSFER,\n ACCOUNT_LOOKUP,\n TRANSFER_LOOKUP\n}\n\nexport interface Client {\n createAccounts: (batch: Account[]) => Promise<CreateAccountsError[]>\n createTransfers: (batch: Transfer[]) => Promise<CreateTransfersError[]>\n lookupAccounts: (batch: AccountID[]) => Promise<Account[]>\n lookupTransfers: (batch: TransferID[]) => Promise<Transfer[]>\n request: (operation: Operation, batch: Event[], callback: ResultCallback) => void\n rawRequest: (operation: Operation, rawBatch: Buffer, callback: ResultCallback) => void\n destroy: () => void\n}\n\nlet _args: InitArgs | undefined = undefined\nconst isSameArgs = (args: InitArgs): boolean => {\n if (typeof _args === 'undefined') {\n return false\n }\n\n if (_args.replica_addresses.length !== args.replica_addresses.length) {\n return false\n }\n\n let isSameReplicas = true\n args.replica_addresses.forEach((entry, index) => {\n if (_args?.replica_addresses[index] !== entry) {\n isSameReplicas = false\n }\n })\n\n return args.cluster_id === _args.cluster_id && isSameReplicas\n}\n\nlet _client: Client | undefined = undefined\nlet _interval: NodeJS.Timeout | undefined = undefined\n// Here to wait until `ping` is sent to server so that connection is registered - temporary till client table and sessions are implemented.\nlet _pinged = false\n// TODO: allow creation of clients if the arguments are different. Will require changes in node.zig as well.\nexport function createClient (args: InitArgs): Client {\n const duplicateArgs = isSameArgs(args)\n if (!duplicateArgs && typeof _client !== 'undefined'){\n throw new Error('Client has already been initialized with different arguments.')\n }\n\n if (duplicateArgs && typeof _client !== 'undefined'){\n throw new Error('Client has already been initialized with the same arguments.')\n }\n\n _args = Object.assign({}, { ...args })\n const context = binding.init({\n ...args,\n replica_addresses: Buffer.from(args.replica_addresses.join(','))\n })\n\n const request = (operation: Operation, batch: Event[], callback: ResultCallback) => {\n binding.request(context, operation, batch, callback)\n }\n\n const rawRequest = (operation: Operation, rawBatch: Buffer, callback: ResultCallback) => {\n binding.raw_request(context, operation, rawBatch, callback)\n }\n\n const createAccounts = async (batch: Account[]): Promise<CreateAccountsError[]> => {\n // Here to wait until `ping` is sent to server so that connection is registered - temporary till client table and sessions are implemented.\n if (!_pinged) {\n await new Promise<void>(resolve => {\n setTimeout(() => {\n _pinged = true\n resolve()\n }, 600)\n })\n }\n return new Promise((resolve, reject) => {\n const callback = (error: undefined | Error, results: CreateAccountsError[]) => {\n if (error) {\n reject(error)\n return\n }\n resolve(results)\n }\n\n try {\n binding.request(context, Operation.CREATE_ACCOUNT, batch, callback)\n } catch (error) {\n reject(error)\n }\n })\n }\n\n const createTransfers = async (batch: Transfer[]): Promise<CreateTransfersError[]> => {\n // Here to wait until `ping` is sent to server so that connection is registered - temporary till client table and sessions are implemented.\n if (!_pinged) {\n await new Promise<void>(resolve => {\n setTimeout(() => {\n _pinged = true\n resolve()\n }, 600)\n })\n }\n return new Promise((resolve, reject) => {\n const callback = (error: undefined | Error, results: CreateTransfersError[]) => {\n if (error) {\n reject(error)\n return\n }\n resolve(results)\n }\n\n try {\n binding.request(context, Operation.CREATE_TRANSFER, batch, callback)\n } catch (error) {\n reject(error)\n }\n })\n }\n\n const lookupAccounts = async (batch: AccountID[]): Promise<Account[]> => {\n return new Promise((resolve, reject) => {\n const callback = (error: undefined | Error, results: Account[]) => {\n if (error) {\n reject(error)\n return\n }\n resolve(results)\n }\n\n try {\n binding.request(context, Operation.ACCOUNT_LOOKUP, batch, callback)\n } catch (error) {\n reject(error)\n }\n })\n }\n\n const lookupTransfers = async (batch: TransferID[]): Promise<Transfer[]> => {\n return new Promise((resolve, reject) => {\n const callback = (error: undefined | Error, results: Transfer[]) => {\n if (error) {\n reject(error)\n return\n }\n resolve(results)\n }\n\n try {\n binding.request(context, Operation.TRANSFER_LOOKUP, batch, callback)\n } catch (error) {\n reject(error)\n }\n })\n }\n\n const destroy = (): void => {\n binding.deinit(context)\n if (_interval){\n clearInterval(_interval)\n }\n _client = undefined\n }\n\n _client = {\n createAccounts,\n createTransfers,\n lookupAccounts,\n lookupTransfers,\n request,\n rawRequest,\n destroy\n }\n\n _interval = setInterval(() => {\n binding.tick(context)\n }, binding.tick_ms)\n\n return _client\n}\n"]}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -44,6 +44,7 @@ export enum CreateAccountError {
|
|
|
44
44
|
// ok = 0 (No Error)
|
|
45
45
|
linked_event_failed = 1,
|
|
46
46
|
linked_event_chain_open,
|
|
47
|
+
timestamp_must_be_zero,
|
|
47
48
|
|
|
48
49
|
reserved_flag,
|
|
49
50
|
reserved_field,
|
|
@@ -97,6 +98,7 @@ export enum CreateTransferError {
|
|
|
97
98
|
// ok = 0 (No Error)
|
|
98
99
|
linked_event_failed = 1,
|
|
99
100
|
linked_event_chain_open,
|
|
101
|
+
timestamp_must_be_zero,
|
|
100
102
|
|
|
101
103
|
reserved_flag,
|
|
102
104
|
reserved_field,
|
|
@@ -137,6 +139,7 @@ export enum CreateTransferError {
|
|
|
137
139
|
overflows_credits_posted,
|
|
138
140
|
overflows_debits,
|
|
139
141
|
overflows_credits,
|
|
142
|
+
overflows_timeout,
|
|
140
143
|
|
|
141
144
|
exceeds_credits,
|
|
142
145
|
exceeds_debits,
|