saito-js 0.2.128 → 0.2.130

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.
@@ -4,17 +4,18 @@ import Block from "./block";
4
4
  import Transaction from "./transaction";
5
5
  export default class Blockchain extends WasmWrapper<WasmBlockchain> {
6
6
  static Type: any;
7
- callbacks: Map<string, ((_1: Block, _2: Transaction, _3: number) => {})[]>;
7
+ callbacks: Map<string, ((_1: Block, _2: Transaction, _3: bigint) => {})[]>;
8
8
  callbackIndices: Map<string, number[]>;
9
- confirmations: Map<string, bigint>;
10
9
  last_callback_block_id: number;
11
10
  callback_limit: number;
12
11
  prune_after_blocks: number;
13
12
  constructor(blockchain: WasmBlockchain);
14
13
  reset(): Promise<void>;
15
14
  affixCallbacks(block: Block): Promise<void>;
16
- runCallbacks(block_hash: string, from_blocks_back: bigint): Promise<void>;
17
- onAddBlockSuccess(block_id: number, hash: string): Promise<void>;
15
+ runCallbacks(block_hash: string, confirmations: bigint): Promise<void>;
16
+ onAddBlockSuccess(block_id: bigint, hash: string): Promise<void>;
17
+ onChainReorganization(block_id: bigint, block_hash: string, longest_chain: boolean): Promise<void>;
18
+ onConfirmation(block_id: bigint, block_hash: string, confirmations: bigint): Promise<void>;
18
19
  onNewBlock(block: Block, lc: boolean): Promise<void>;
19
20
  getLatestBlockId(): Promise<bigint>;
20
21
  getLongestChainHashAtId(blockId: bigint): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"blockchain.d.ts","sourceRoot":"","sources":["../../lib/blockchain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAC9D,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,WAAW,MAAM,eAAe,CAAC;AAGxC,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW,CAAC,cAAc,CAAC;IAC/D,OAAc,IAAI,EAAE,GAAG,CAAC;IACjB,SAAS,oBAA8B,KAAK,MAAM,WAAW,MAAM,MAAM,KAAK,EAAE,KAAK;IACrF,eAAe,wBAAoC;IACnD,aAAa,sBAA6B;IAC1C,sBAAsB,EAAE,MAAM,CAAK;IAC1C,cAAc,EAAE,MAAM,CAAK;IAC3B,kBAAkB,EAAE,MAAM,CAAK;gBAEnB,UAAU,EAAE,cAAc;IAIzB,KAAK;IAIL,cAAc,CAAC,KAAK,EAAE,KAAK;IAG3B,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM;IA8DzD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAqGhD,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO;IAGpC,gBAAgB;IAIhB,uBAAuB,CAAC,OAAO,EAAE,MAAM;IAIvC,aAAa,CAAC,OAAO,EAAE,MAAM;IAI7B,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,yBAAyB,CAAC,OAAO,EAAE,MAAM;CAKzD"}
1
+ {"version":3,"file":"blockchain.d.ts","sourceRoot":"","sources":["../../lib/blockchain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAoB,MAAM,SAAS,CAAC;AAC3C,OAAO,WAAW,MAAM,eAAe,CAAC;AAGxC,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW,CAAC,cAAc,CAAC;IACjE,OAAc,IAAI,EAAE,GAAG,CAAC;IACjB,SAAS,oBAA8B,KAAK,MAAM,WAAW,MAAM,MAAM,KAAK,EAAE,KAAK;IACrF,eAAe,wBAAoC;IACnD,sBAAsB,EAAE,MAAM,CAAK;IAC1C,cAAc,EAAE,MAAM,CAAK;IAC3B,kBAAkB,EAAE,MAAM,CAAK;gBAEnB,UAAU,EAAE,cAAc;IAWzB,KAAK;IAIL,cAAc,CAAC,KAAK,EAAE,KAAK;IAE3B,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IA0DtD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAyFhD,qBAAqB,CAChC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,OAAO;IAGX,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IA2B1E,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO;IAEpC,gBAAgB;IAIhB,uBAAuB,CAAC,OAAO,EAAE,MAAM;IAIvC,aAAa,CAAC,OAAO,EAAE,MAAM;IAI7B,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,yBAAyB,CAAC,OAAO,EAAE,MAAM;CAGvD"}
package/lib/blockchain.js CHANGED
@@ -5,23 +5,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const wasm_wrapper_1 = __importDefault(require("./wasm_wrapper"));
7
7
  const saito_1 = __importDefault(require("../saito"));
8
+ const block_1 = require("./block");
8
9
  const wallet_1 = require("./wallet");
9
10
  class Blockchain extends wasm_wrapper_1.default {
10
11
  constructor(blockchain) {
11
12
  super(blockchain);
12
13
  this.callbacks = new Map();
13
14
  this.callbackIndices = new Map();
14
- this.confirmations = new Map();
15
15
  this.last_callback_block_id = 0;
16
16
  this.callback_limit = 2;
17
17
  this.prune_after_blocks = 6;
18
+ blockchain
19
+ .register_callback(this.onChainReorganization.bind(this), this.onAddBlockSuccess.bind(this), this.onConfirmation.bind(this))
20
+ .then(() => { });
18
21
  }
19
22
  async reset() {
20
23
  return this.instance.reset();
21
24
  }
22
- async affixCallbacks(block) {
23
- }
24
- async runCallbacks(block_hash, from_blocks_back) {
25
+ async affixCallbacks(block) { }
26
+ async runCallbacks(block_hash, confirmations) {
25
27
  if (block_hash === wallet_1.DefaultEmptyBlockHash) {
26
28
  return;
27
29
  }
@@ -37,45 +39,41 @@ class Blockchain extends wasm_wrapper_1.default {
37
39
  }
38
40
  let callbacks = this.callbacks.get(block_hash);
39
41
  let callbackIndices = this.callbackIndices.get(block_hash);
40
- let confirmations = this.confirmations.get(block_hash) || BigInt(-1);
41
42
  // console.debug(
42
43
  // `running callbacks for ${block_hash}. callbacks : ${callbacks?.length} indexes : ${callbackIndices?.length} confirmations : ${confirmations} from_blocks_back : ${from_blocks_back}`
43
44
  // );
44
- if (Number(confirmations) && callbacks && callbackIndices) {
45
+ if (callbacks && callbackIndices) {
45
46
  let txs = block.transactions;
46
- for (let i = Number(confirmations) + 1; i < from_blocks_back; i++) {
47
- for (let j = 0; j < callbacks.length; j++) {
48
- try {
49
- if (callbacks[j] !== undefined &&
50
- callbackIndices[j] !== undefined &&
51
- txs !== undefined) {
52
- // console.log(`run callback : ${j} for block : ${block.hash} with id : ${block.id} with confirmation : ${i} `);
53
- if (txs[callbackIndices[j]]) {
54
- await callbacks[j](block, txs[callbackIndices[j]], i);
55
- }
56
- else {
57
- console.warn(`transaction is undefined for index : ${j} in block : ${block.hash} with id ${block.id}`);
58
- }
47
+ for (let j = 0; j < callbacks.length; j++) {
48
+ try {
49
+ if (callbacks[j] !== undefined &&
50
+ callbackIndices[j] !== undefined &&
51
+ txs !== undefined) {
52
+ // console.log(`run callback : ${j} for block : ${block.hash} with id : ${block.id} with confirmation : ${i} `);
53
+ if (txs[callbackIndices[j]]) {
54
+ await callbacks[j](block, txs[callbackIndices[j]], confirmations);
59
55
  }
60
56
  else {
61
- console.log(`callback ${j} is ${!!callbacks[j]} callbackIndices is ${!!callbackIndices[j]}`);
57
+ console.warn(`transaction is undefined for index : ${j} in block : ${block.hash} with id ${block.id}`);
62
58
  }
63
59
  }
64
- catch (error) {
65
- console.error(error);
66
- console.error("callback index : " + callbackIndices[j]);
67
- console.error("block type : " + block.block_type);
68
- console.error("block id : " + block.id);
69
- console.error("block hash : " + block.hash);
70
- // console.error("tx causing error", txs?[callbackIndices[j]]?.msg);
60
+ else {
61
+ console.log(`callback ${j} is ${!!callbacks[j]} callbackIndices is ${!!callbackIndices[j]}`);
71
62
  }
72
63
  }
64
+ catch (error) {
65
+ console.error(error);
66
+ console.error("callback index : " + callbackIndices[j]);
67
+ console.error("block type : " + block.block_type);
68
+ console.error("block id : " + block.id);
69
+ console.error("block hash : " + block.hash);
70
+ // console.error("tx causing error", txs?[callbackIndices[j]]?.msg);
71
+ }
73
72
  }
74
73
  }
75
74
  else {
76
75
  // console.log(`confirmations : ${confirmations}`);
77
76
  }
78
- this.confirmations.set(block_hash, from_blocks_back);
79
77
  }
80
78
  catch (error) {
81
79
  console.error(error);
@@ -84,10 +82,6 @@ class Blockchain extends wasm_wrapper_1.default {
84
82
  async onAddBlockSuccess(block_id, hash) {
85
83
  console.debug("onAddBlockSuccess : " + hash + " at id : " + block_id);
86
84
  // TODO : there's currently no way of calling this method from saito-js itself. need to refactor the design related to onConfirmation() calls so a single place will handle all the callback functionality
87
- let already_processed_callbacks = false;
88
- if (block_id <= this.last_callback_block_id) {
89
- already_processed_callbacks = true;
90
- }
91
85
  try {
92
86
  let block;
93
87
  {
@@ -98,75 +92,68 @@ class Blockchain extends wasm_wrapper_1.default {
98
92
  }
99
93
  block = blk;
100
94
  }
101
- if (!already_processed_callbacks) {
102
- // this block is initialized with zero-confs processed
103
- // console.log(`affix callbacks : ${block.id} with hash : ${block.hash}`);
104
- await this.affixCallbacks(block);
105
- // don't run callbacks if reloading (force!)
95
+ // this block is initialized with zero-confs processed
96
+ // console.log(`affix callbacks : ${block.id} with hash : ${block.hash}`);
97
+ await this.affixCallbacks(block);
98
+ // don't run callbacks if reloading (force!)
99
+ //
100
+ if (block.instance.in_longest_chain && !block.instance.force_loaded) {
101
+ // let block_id_to_run_callbacks_from = block.id - BigInt(this.callback_limit + 1);
102
+ let block_id_in_which_to_delete_callbacks = block.id - BigInt(this.prune_after_blocks);
103
+ // if (block_id_to_run_callbacks_from <= BigInt(0)) {
104
+ // block_id_to_run_callbacks_from = BigInt(1);
105
+ // }
106
+ // if (block_id_to_run_callbacks_from <= block_id_in_which_to_delete_callbacks) {
107
+ // block_id_to_run_callbacks_from = block_id_to_run_callbacks_from + BigInt(1);
108
+ // }
109
+ // console.log("block_id_to_run_callbacks_from = " + block_id_to_run_callbacks_from);
110
+ // console.log(
111
+ // "block_id_in_which_to_delete_callbacks = " + block_id_in_which_to_delete_callbacks
112
+ // );
113
+ // console.log("block.id = " + block.id);
114
+ // if (block_id_to_run_callbacks_from > BigInt(0)) {
115
+ // for (let i = block_id_to_run_callbacks_from; i <= block.id; i += BigInt(1)) {
116
+ // // for (let i = block_id_to_run_callbacks_from; Number(i) <= Number(block.id); i++) {
117
+ // let confirmation_count = block.id - BigInt(i) + BigInt(1);
118
+ // let run_callbacks = true;
119
+ // // if bid is less than our last-bid, but it is still
120
+ // // the biggest BID we have, then we should avoid
121
+ // // running callbacks as we will have already run
122
+ // // them. We check TS as sanity check as well.
123
+ // if (block.id < (await this.instance.get_last_block_id())) {
124
+ // if (block.instance.timestamp < (await this.instance.get_last_timestamp())) {
125
+ // if (block.instance.in_longest_chain) {
126
+ // run_callbacks = false;
127
+ // }
128
+ // }
129
+ // }
106
130
  //
107
- if (block.instance.in_longest_chain && !block.instance.force_loaded) {
108
- let block_id_to_run_callbacks_from = block.id - BigInt(this.callback_limit + 1);
109
- let block_id_in_which_to_delete_callbacks = block.id - BigInt(this.prune_after_blocks);
110
- if (block_id_to_run_callbacks_from <= BigInt(0)) {
111
- block_id_to_run_callbacks_from = BigInt(1);
112
- }
113
- if (block_id_to_run_callbacks_from <= block_id_in_which_to_delete_callbacks) {
114
- block_id_to_run_callbacks_from = block_id_to_run_callbacks_from + BigInt(1);
115
- }
116
- // console.log("block_id_to_run_callbacks_from = " + block_id_to_run_callbacks_from);
117
- // console.log(
118
- // "block_id_in_which_to_delete_callbacks = " + block_id_in_which_to_delete_callbacks
131
+ // // console.log(`i = ${i} confirmations = ${confirmation_count}`);
132
+ // if (run_callbacks) {
133
+ // let callback_block_hash = await this.instance.get_longest_chain_hash_at(i);
134
+ // if (callback_block_hash !== "" && callback_block_hash !== DefaultEmptyBlockHash) {
135
+ // await this.runCallbacks(callback_block_hash, confirmation_count);
136
+ // }
137
+ // }
138
+ // }
139
+ // }
140
+ //
141
+ // delete callbacks as appropriate to save memory
142
+ //
143
+ if (block_id_in_which_to_delete_callbacks >= 0) {
144
+ let callback_block_hash = await this.instance.get_longest_chain_hash_at(block_id_in_which_to_delete_callbacks + BigInt(1) // because block ring starts from 1
145
+ );
146
+ // console.debug(
147
+ // `deleting callbacks for ${block_id_in_which_to_delete_callbacks + BigInt(1)
148
+ // }: ${callback_block_hash}`
119
149
  // );
120
- // console.log("block.id = " + block.id);
121
- if (block_id_to_run_callbacks_from > BigInt(0)) {
122
- for (let i = block_id_to_run_callbacks_from; i <= block.id; i += BigInt(1)) {
123
- // for (let i = block_id_to_run_callbacks_from; Number(i) <= Number(block.id); i++) {
124
- let confirmation_count = block.id - BigInt(i) + BigInt(1);
125
- let run_callbacks = true;
126
- // if bid is less than our last-bid, but it is still
127
- // the biggest BID we have, then we should avoid
128
- // running callbacks as we will have already run
129
- // them. We check TS as sanity check as well.
130
- if (block.id < (await this.instance.get_last_block_id())) {
131
- if (block.instance.timestamp < (await this.instance.get_last_timestamp())) {
132
- if (block.instance.in_longest_chain) {
133
- run_callbacks = false;
134
- }
135
- }
136
- }
137
- // console.log(`i = ${i} confirmations = ${confirmation_count}`);
138
- if (run_callbacks) {
139
- let callback_block_hash = await this.instance.get_longest_chain_hash_at(i);
140
- if (callback_block_hash !== "" && callback_block_hash !== wallet_1.DefaultEmptyBlockHash) {
141
- await this.runCallbacks(callback_block_hash, confirmation_count);
142
- }
143
- }
144
- }
145
- }
146
- //
147
- // delete callbacks as appropriate to save memory
148
- //
149
- if (block_id_in_which_to_delete_callbacks >= 0) {
150
- let callback_block_hash = await this.instance.get_longest_chain_hash_at(block_id_in_which_to_delete_callbacks + BigInt(1) // because block ring starts from 1
151
- );
152
- // console.debug(
153
- // `deleting callbacks for ${block_id_in_which_to_delete_callbacks + BigInt(1)
154
- // }: ${callback_block_hash}`
155
- // );
156
- this.callbacks.delete(callback_block_hash);
157
- this.callbackIndices.delete(callback_block_hash);
158
- // this.confirmations.delete(callback_block_hash);
159
- }
150
+ this.callbacks.delete(callback_block_hash);
151
+ this.callbackIndices.delete(callback_block_hash);
152
+ // this.confirmations.delete(callback_block_hash);
160
153
  }
161
- // console.debug("moving into onNewBlock : " + block.hash + " -- id : " + block.id);
162
- await this.onNewBlock(block, block.instance.in_longest_chain);
163
- }
164
- else {
165
- console.log("already have processed the callbacks. last_callback_block_id = " +
166
- this.last_callback_block_id +
167
- " block_id = " +
168
- block_id);
169
154
  }
155
+ // console.debug("moving into onNewBlock : " + block.hash + " -- id : " + block.id);
156
+ await this.onNewBlock(block, block.instance.in_longest_chain);
170
157
  }
171
158
  catch (error) {
172
159
  console.error("failed running callbacks");
@@ -174,8 +161,30 @@ class Blockchain extends wasm_wrapper_1.default {
174
161
  }
175
162
  console.debug(`onAddBlockSuccess : ${hash} complete`);
176
163
  }
177
- async onNewBlock(block, lc) {
164
+ async onChainReorganization(block_id, block_hash, longest_chain) { }
165
+ async onConfirmation(block_id, block_hash, confirmations) {
166
+ let block;
167
+ {
168
+ let blk = await saito_1.default.getInstance().getBlock(block_hash);
169
+ if (!blk) {
170
+ console.warn("block " + block_hash + " at id : " + block_id + " not found for onConfirmation");
171
+ return;
172
+ }
173
+ if (blk.block_type === block_1.BlockType.Pruned) {
174
+ console.warn("block " +
175
+ block_hash +
176
+ " at id : " +
177
+ block_id +
178
+ " is pruned. need transactions to call onConfirmation");
179
+ return;
180
+ }
181
+ block = blk;
182
+ }
183
+ // need to affix callbacks here also because callbacks might be removed for older blocks at this point.
184
+ await this.affixCallbacks(block);
185
+ await this.runCallbacks(block_hash, confirmations);
178
186
  }
187
+ async onNewBlock(block, lc) { }
179
188
  async getLatestBlockId() {
180
189
  return this.instance.get_latest_block_id();
181
190
  }
@@ -1 +1 @@
1
- {"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../lib/blockchain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../lib/blockchain.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "saito-js",
3
- "version": "0.2.128",
3
+ "version": "0.2.130",
4
4
  "description": "js wrappings around saito-core using wasm",
5
5
  "scripts": {
6
6
  "test": "env TS_NODE_PROJECT=\"tsconfig.testing.json\" mocha --require ts-node/register 'tests/**/*.ts'",
@@ -36,7 +36,7 @@
36
36
  "morgan": "~1.10.0",
37
37
  "node-fetch": "^2.6.1",
38
38
  "process": "^0.11.10",
39
- "saito-wasm": "0.2.128",
39
+ "saito-wasm": "0.2.130",
40
40
  "url": "^0.11.0",
41
41
  "util": "^0.12.5",
42
42
  "ws": "^8.13.0"