opnet 1.1.2 → 1.1.4

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.
Files changed (61) hide show
  1. package/README.md +3 -2
  2. package/browser/_version.d.ts +1 -1
  3. package/browser/abi/shared/interfaces/IMotoswapFactoryContract.d.ts +7 -2
  4. package/browser/abi/shared/interfaces/IMotoswapPoolContract.d.ts +33 -7
  5. package/browser/abi/shared/interfaces/IMotoswapRouterContract.d.ts +30 -10
  6. package/browser/abi/shared/interfaces/IOP_20Contract.d.ts +1 -1
  7. package/browser/abi/shared/interfaces/IOP_NETContract.d.ts +3 -3
  8. package/browser/abi/shared/interfaces/IStackingContract.d.ts +22 -8
  9. package/browser/abi/shared/interfaces/IWBTCContract.d.ts +7 -2
  10. package/browser/index.js +1 -1
  11. package/browser/opnet.d.ts +0 -1
  12. package/browser/providers/AbstractRpcProvider.d.ts +6 -5
  13. package/browser/providers/JSONRpcProvider.d.ts +2 -1
  14. package/browser/providers/WebsocketRpcProvider.d.ts +2 -1
  15. package/browser/utxos/UTXOsManager.d.ts +1 -0
  16. package/build/_version.d.ts +1 -1
  17. package/build/_version.js +1 -1
  18. package/build/abi/shared/interfaces/IMotoswapFactoryContract.d.ts +7 -2
  19. package/build/abi/shared/interfaces/IMotoswapPoolContract.d.ts +33 -7
  20. package/build/abi/shared/interfaces/IMotoswapRouterContract.d.ts +30 -10
  21. package/build/abi/shared/interfaces/IOP_20Contract.d.ts +1 -1
  22. package/build/abi/shared/interfaces/IOP_NETContract.d.ts +3 -3
  23. package/build/abi/shared/interfaces/IStackingContract.d.ts +22 -8
  24. package/build/abi/shared/interfaces/IWBTCContract.d.ts +7 -2
  25. package/build/abi/shared/json/MOTOSWAP_FACTORY_ABI.js +1 -1
  26. package/build/abi/shared/json/MOTOSWAP_ROUTER_ABI.js +1 -12
  27. package/build/abi/shared/json/OP_NET_ABI.js +11 -0
  28. package/build/contracts/CallResult.js +34 -28
  29. package/build/opnet.d.ts +0 -1
  30. package/build/opnet.js +0 -1
  31. package/build/providers/AbstractRpcProvider.d.ts +6 -5
  32. package/build/providers/AbstractRpcProvider.js +35 -20
  33. package/build/providers/JSONRpcProvider.d.ts +2 -1
  34. package/build/providers/JSONRpcProvider.js +2 -2
  35. package/build/providers/WebsocketRpcProvider.d.ts +2 -1
  36. package/build/providers/WebsocketRpcProvider.js +2 -2
  37. package/build/utxos/UTXOsManager.d.ts +1 -0
  38. package/build/utxos/UTXOsManager.js +6 -0
  39. package/package.json +1 -1
  40. package/src/_version.ts +1 -1
  41. package/src/abi/shared/interfaces/IMotoswapFactoryContract.ts +7 -4
  42. package/src/abi/shared/interfaces/IMotoswapPoolContract.ts +40 -10
  43. package/src/abi/shared/interfaces/IMotoswapRouterContract.ts +21 -14
  44. package/src/abi/shared/interfaces/IOP_20Contract.ts +1 -1
  45. package/src/abi/shared/interfaces/IOP_NETContract.ts +1 -4
  46. package/src/abi/shared/interfaces/IStackingContract.ts +9 -9
  47. package/src/abi/shared/interfaces/IWBTCContract.ts +3 -2
  48. package/src/abi/shared/json/MOTOSWAP_FACTORY_ABI.ts +1 -1
  49. package/src/abi/shared/json/MOTOSWAP_ROUTER_ABI.ts +1 -12
  50. package/src/abi/shared/json/OP_NET_ABI.ts +12 -0
  51. package/src/contracts/CallResult.ts +42 -35
  52. package/src/opnet.ts +0 -1
  53. package/src/providers/AbstractRpcProvider.ts +56 -48
  54. package/src/providers/JSONRpcProvider.ts +3 -1
  55. package/src/providers/WebsocketRpcProvider.ts +3 -2
  56. package/src/providers/interfaces/PublicKeyInfo.d.ts +6 -0
  57. package/src/utxos/UTXOsManager.ts +9 -0
  58. package/browser/abi/shared/json/MOTO_TOKEN_ABI.d.ts +0 -2
  59. package/build/abi/shared/json/MOTO_TOKEN_ABI.d.ts +0 -2
  60. package/build/abi/shared/json/MOTO_TOKEN_ABI.js +0 -22
  61. package/src/abi/shared/json/MOTO_TOKEN_ABI.ts +0 -29
@@ -10,6 +10,8 @@ import {
10
10
  RequestUTXOsParamsWithAmount,
11
11
  } from './interfaces/IUTXOsManager.js';
12
12
 
13
+ const AUTO_PURGE_AFTER: number = 1000 * 60; // 1 minutes
14
+
13
15
  /**
14
16
  * Unspent Transaction Output Manager
15
17
  * @category Bitcoin
@@ -18,6 +20,8 @@ export class UTXOsManager {
18
20
  private spentUTXOs: UTXOs = [];
19
21
  private pendingUTXOs: UTXOs = [];
20
22
 
23
+ private lastCleanup: number = Date.now();
24
+
21
25
  public constructor(private readonly provider: AbstractRpcProvider) {}
22
26
 
23
27
  /**
@@ -45,6 +49,7 @@ export class UTXOsManager {
45
49
  public clean(): void {
46
50
  this.spentUTXOs = [];
47
51
  this.pendingUTXOs = [];
52
+ this.lastCleanup = Date.now();
48
53
  }
49
54
 
50
55
  /**
@@ -149,6 +154,10 @@ export class UTXOsManager {
149
154
  * @throws {Error} If something goes wrong
150
155
  */
151
156
  private async fetchUTXOs(address: string, optimize: boolean = false): Promise<IUTXOsData> {
157
+ if (Date.now() - this.lastCleanup > AUTO_PURGE_AFTER) {
158
+ this.clean();
159
+ }
160
+
152
161
  const addressStr: string = address.toString();
153
162
  const payload: JsonRpcPayload = this.provider.buildJsonRpcPayload(
154
163
  JSONRpcMethods.GET_UTXOS,
@@ -1,2 +0,0 @@
1
- import { BitcoinInterfaceAbi } from '../../interfaces/BitcoinInterfaceAbi.js';
2
- export declare const MOTO_TOKEN_ABI: BitcoinInterfaceAbi;
@@ -1,2 +0,0 @@
1
- import { BitcoinInterfaceAbi } from '../../interfaces/BitcoinInterfaceAbi.js';
2
- export declare const MOTO_TOKEN_ABI: BitcoinInterfaceAbi;
@@ -1,22 +0,0 @@
1
- import { ABIDataTypes } from '@btc-vision/transaction';
2
- import { BitcoinAbiTypes } from '../../BitcoinAbiTypes.js';
3
- import { OP_20_ABI } from './OP_20_ABI.js';
4
- export const MOTO_TOKEN_ABI = [
5
- {
6
- name: 'airdrop',
7
- inputs: [
8
- {
9
- name: 'map_of_recipients_and_amounts',
10
- type: ABIDataTypes.ADDRESS_UINT256_TUPLE,
11
- },
12
- ],
13
- outputs: [
14
- {
15
- name: 'success',
16
- type: ABIDataTypes.BOOL,
17
- },
18
- ],
19
- type: BitcoinAbiTypes.Function,
20
- },
21
- ...OP_20_ABI,
22
- ];
@@ -1,29 +0,0 @@
1
- import { ABIDataTypes } from '@btc-vision/transaction';
2
- import { BitcoinAbiTypes } from '../../BitcoinAbiTypes.js';
3
- import { BitcoinInterfaceAbi } from '../../interfaces/BitcoinInterfaceAbi.js';
4
- import { OP_20_ABI } from './OP_20_ABI.js';
5
-
6
- /**
7
- * @category ABI
8
- */
9
- export const MOTO_TOKEN_ABI: BitcoinInterfaceAbi = [
10
- {
11
- name: 'airdrop',
12
- inputs: [
13
- {
14
- name: 'map_of_recipients_and_amounts',
15
- type: ABIDataTypes.ADDRESS_UINT256_TUPLE,
16
- },
17
- ],
18
- outputs: [
19
- {
20
- name: 'success',
21
- type: ABIDataTypes.BOOL,
22
- },
23
- ],
24
- type: BitcoinAbiTypes.Function,
25
- },
26
-
27
- // OP_20
28
- ...OP_20_ABI,
29
- ];