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.
- package/README.md +3 -2
- package/browser/_version.d.ts +1 -1
- package/browser/abi/shared/interfaces/IMotoswapFactoryContract.d.ts +7 -2
- package/browser/abi/shared/interfaces/IMotoswapPoolContract.d.ts +33 -7
- package/browser/abi/shared/interfaces/IMotoswapRouterContract.d.ts +30 -10
- package/browser/abi/shared/interfaces/IOP_20Contract.d.ts +1 -1
- package/browser/abi/shared/interfaces/IOP_NETContract.d.ts +3 -3
- package/browser/abi/shared/interfaces/IStackingContract.d.ts +22 -8
- package/browser/abi/shared/interfaces/IWBTCContract.d.ts +7 -2
- package/browser/index.js +1 -1
- package/browser/opnet.d.ts +0 -1
- package/browser/providers/AbstractRpcProvider.d.ts +6 -5
- package/browser/providers/JSONRpcProvider.d.ts +2 -1
- package/browser/providers/WebsocketRpcProvider.d.ts +2 -1
- package/browser/utxos/UTXOsManager.d.ts +1 -0
- package/build/_version.d.ts +1 -1
- package/build/_version.js +1 -1
- package/build/abi/shared/interfaces/IMotoswapFactoryContract.d.ts +7 -2
- package/build/abi/shared/interfaces/IMotoswapPoolContract.d.ts +33 -7
- package/build/abi/shared/interfaces/IMotoswapRouterContract.d.ts +30 -10
- package/build/abi/shared/interfaces/IOP_20Contract.d.ts +1 -1
- package/build/abi/shared/interfaces/IOP_NETContract.d.ts +3 -3
- package/build/abi/shared/interfaces/IStackingContract.d.ts +22 -8
- package/build/abi/shared/interfaces/IWBTCContract.d.ts +7 -2
- package/build/abi/shared/json/MOTOSWAP_FACTORY_ABI.js +1 -1
- package/build/abi/shared/json/MOTOSWAP_ROUTER_ABI.js +1 -12
- package/build/abi/shared/json/OP_NET_ABI.js +11 -0
- package/build/contracts/CallResult.js +34 -28
- package/build/opnet.d.ts +0 -1
- package/build/opnet.js +0 -1
- package/build/providers/AbstractRpcProvider.d.ts +6 -5
- package/build/providers/AbstractRpcProvider.js +35 -20
- package/build/providers/JSONRpcProvider.d.ts +2 -1
- package/build/providers/JSONRpcProvider.js +2 -2
- package/build/providers/WebsocketRpcProvider.d.ts +2 -1
- package/build/providers/WebsocketRpcProvider.js +2 -2
- package/build/utxos/UTXOsManager.d.ts +1 -0
- package/build/utxos/UTXOsManager.js +6 -0
- package/package.json +1 -1
- package/src/_version.ts +1 -1
- package/src/abi/shared/interfaces/IMotoswapFactoryContract.ts +7 -4
- package/src/abi/shared/interfaces/IMotoswapPoolContract.ts +40 -10
- package/src/abi/shared/interfaces/IMotoswapRouterContract.ts +21 -14
- package/src/abi/shared/interfaces/IOP_20Contract.ts +1 -1
- package/src/abi/shared/interfaces/IOP_NETContract.ts +1 -4
- package/src/abi/shared/interfaces/IStackingContract.ts +9 -9
- package/src/abi/shared/interfaces/IWBTCContract.ts +3 -2
- package/src/abi/shared/json/MOTOSWAP_FACTORY_ABI.ts +1 -1
- package/src/abi/shared/json/MOTOSWAP_ROUTER_ABI.ts +1 -12
- package/src/abi/shared/json/OP_NET_ABI.ts +12 -0
- package/src/contracts/CallResult.ts +42 -35
- package/src/opnet.ts +0 -1
- package/src/providers/AbstractRpcProvider.ts +56 -48
- package/src/providers/JSONRpcProvider.ts +3 -1
- package/src/providers/WebsocketRpcProvider.ts +3 -2
- package/src/providers/interfaces/PublicKeyInfo.d.ts +6 -0
- package/src/utxos/UTXOsManager.ts +9 -0
- package/browser/abi/shared/json/MOTO_TOKEN_ABI.d.ts +0 -2
- package/build/abi/shared/json/MOTO_TOKEN_ABI.d.ts +0 -2
- package/build/abi/shared/json/MOTO_TOKEN_ABI.js +0 -22
- 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,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
|
-
];
|