@ritbit/v4-client-js 2.1.5 → 2.1.6
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/__tests__/modules/onboarding.test.ts +2 -2
- package/build/cjs/__tests__/modules/onboarding.test.js +3 -3
- package/build/cjs/src/clients/modules/account.js +23 -1
- package/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/build/esm/__tests__/modules/onboarding.test.js +3 -3
- package/build/esm/src/clients/modules/account.d.ts +12 -0
- package/build/esm/src/clients/modules/account.d.ts.map +1 -1
- package/build/esm/src/clients/modules/account.js +23 -1
- package/build/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/ritbit-v4-client-js-2.1.5.tgz +0 -0
- package/scripts/publish-if-not-exists.sh +4 -4
- package/src/clients/modules/account.ts +30 -0
|
@@ -29,9 +29,9 @@ describe('Onboarding', () => {
|
|
|
29
29
|
const { mnemonic, privateKey } = exportMnemonicAndPrivateKey(ENTROPY_FROM_SIGNATURE_RESULT);
|
|
30
30
|
|
|
31
31
|
const wallet: OfflineSigner = await DirectSecp256k1HdWallet.fromMnemonic(mnemonic!, {
|
|
32
|
-
prefix: '
|
|
32
|
+
prefix: 'ritbit',
|
|
33
33
|
});
|
|
34
|
-
const pkWallet = await DirectSecp256k1Wallet.fromKey(privateKey!, '
|
|
34
|
+
const pkWallet = await DirectSecp256k1Wallet.fromKey(privateKey!, 'ritbit');
|
|
35
35
|
const mnemonicAddress = (await wallet.getAccounts())[0].address;
|
|
36
36
|
const pkAddress = (await pkWallet.getAccounts())[0].address;
|
|
37
37
|
expect(mnemonicAddress).toEqual(pkAddress);
|
|
@@ -15,9 +15,9 @@ describe('Onboarding', () => {
|
|
|
15
15
|
it('Expect mnemonic and private key to generate the same address', async () => {
|
|
16
16
|
const { mnemonic, privateKey } = (0, onboarding_1.exportMnemonicAndPrivateKey)(constants_1.ENTROPY_FROM_SIGNATURE_RESULT);
|
|
17
17
|
const wallet = await proto_signing_1.DirectSecp256k1HdWallet.fromMnemonic(mnemonic, {
|
|
18
|
-
prefix: '
|
|
18
|
+
prefix: 'ritbit',
|
|
19
19
|
});
|
|
20
|
-
const pkWallet = await proto_signing_1.DirectSecp256k1Wallet.fromKey(privateKey, '
|
|
20
|
+
const pkWallet = await proto_signing_1.DirectSecp256k1Wallet.fromKey(privateKey, 'ritbit');
|
|
21
21
|
const mnemonicAddress = (await wallet.getAccounts())[0].address;
|
|
22
22
|
const pkAddress = (await pkWallet.getAccounts())[0].address;
|
|
23
23
|
expect(mnemonicAddress).toEqual(pkAddress);
|
|
@@ -47,4 +47,4 @@ describe('Onboarding', () => {
|
|
|
47
47
|
});
|
|
48
48
|
});
|
|
49
49
|
});
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25ib2FyZGluZy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vX190ZXN0c19fL21vZHVsZXMvb25ib2FyZGluZy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEseURBR2tDO0FBQ2xDLHlEQUkrQjtBQUMvQixvREFNOEI7QUFFOUIsUUFBUSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7SUFDMUIsUUFBUSxDQUFDLDZCQUE2QixFQUFFLEdBQUcsRUFBRTtRQUMzQyxFQUFFLENBQUMsNEJBQTRCLEVBQUUsR0FBRyxFQUFFO1lBQ3BDLE1BQU0sQ0FBQyxJQUFBLHdDQUEyQixFQUFDLHlDQUE2QixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBQ3pFLFFBQVEsRUFBRSwwQ0FBOEI7Z0JBQ3hDLFVBQVUsRUFBRSw2Q0FBaUM7Z0JBQzdDLFNBQVMsRUFBRSw0Q0FBZ0M7YUFDNUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsOERBQThELEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDNUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUFBLHdDQUEyQixFQUFDLHlDQUE2QixDQUFDLENBQUM7WUFFNUYsTUFBTSxNQUFNLEdBQWtCLE1BQU0sdUNBQXVCLENBQUMsWUFBWSxDQUFDLFFBQVMsRUFBRTtnQkFDbEYsTUFBTSxFQUFFLFFBQVE7YUFDakIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxRQUFRLEdBQUcsTUFBTSxxQ0FBcUIsQ0FBQyxPQUFPLENBQUMsVUFBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzVFLE1BQU0sZUFBZSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDaEUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUM1RCxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsa0NBQWtDLEVBQUUsR0FBRyxFQUFFO1FBQ2hELEVBQUUsQ0FBQyxvQ0FBb0MsRUFBRSxHQUFHLEVBQUU7WUFDNUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUEsNkNBQWdDLEVBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9FLENBQUMsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLDRCQUE0QixFQUFFLEdBQUcsRUFBRTtZQUNwQyxNQUFNLENBQUMsSUFBQSw2Q0FBZ0MsRUFBQyw0QkFBZ0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUNqRSxRQUFRLEVBQUUsMENBQThCO2dCQUN4QyxVQUFVLEVBQUUsNkNBQWlDO2dCQUM3QyxTQUFTLEVBQUUsNENBQWdDO2FBQzVDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLG1FQUFtRSxFQUFFLEdBQUcsRUFBRTtZQUMzRSxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRTFDLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLDRCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztZQUN4RixjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzdCLE1BQU0sQ0FBQyxJQUFBLDZDQUFnQyxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO29CQUNwRCxRQUFRLEVBQUUsMENBQThCO29CQUN4QyxVQUFVLEVBQUUsNkNBQWlDO29CQUM3QyxTQUFTLEVBQUUsNENBQWdDO2lCQUM1QyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyJ9
|
|
@@ -79,6 +79,28 @@ class AccountClient extends rest_1.default {
|
|
|
79
79
|
page,
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Get wallet-to-wallet transfers (native token transfers) for a wallet address.
|
|
84
|
+
* These are transfers that don't involve subaccounts - direct wallet transfers.
|
|
85
|
+
*
|
|
86
|
+
* @param address Wallet address to get transfers for.
|
|
87
|
+
* @param assetId Optional asset ID to filter by (e.g., '1' for RIT).
|
|
88
|
+
* @param limit Maximum number of transfers to return.
|
|
89
|
+
* @param createdBeforeOrAtHeight Filter by block height.
|
|
90
|
+
* @param createdBeforeOrAt Filter by timestamp.
|
|
91
|
+
* @param page Page number for pagination.
|
|
92
|
+
*/
|
|
93
|
+
async getWalletTransfers(address, assetId, limit, createdBeforeOrAtHeight, createdBeforeOrAt, page) {
|
|
94
|
+
const uri = '/v4/transfers/wallet';
|
|
95
|
+
return this.get(uri, {
|
|
96
|
+
address,
|
|
97
|
+
assetId,
|
|
98
|
+
limit,
|
|
99
|
+
createdBeforeOrAtHeight,
|
|
100
|
+
createdBeforeOrAt,
|
|
101
|
+
page,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
82
104
|
// ------ Orders ------ //
|
|
83
105
|
async getSubaccountOrders(address, subaccountNumber, ticker, tickerType = constants_1.TickerType.PERPETUAL, side, status, type, limit, goodTilBlockBeforeOrAt, goodTilBlockTimeBeforeOrAt, returnLatestOrders) {
|
|
84
106
|
const uri = '/v4/orders';
|
|
@@ -220,4 +242,4 @@ class AccountClient extends rest_1.default {
|
|
|
220
242
|
}
|
|
221
243
|
}
|
|
222
244
|
exports.default = AccountClient;
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
245
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL21vZHVsZXMvYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDRDQU9zQjtBQUV0QixrREFBZ0M7QUFFaEM7O0dBRUc7QUFDSCxNQUFxQixhQUFjLFNBQVEsY0FBVTtJQUNuRCw4QkFBOEI7SUFFOUIsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFlLEVBQUUsS0FBYztRQUNsRCxNQUFNLEdBQUcsR0FBRyxpQkFBaUIsT0FBTyxFQUFFLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBZSxFQUFFLGdCQUF3QjtRQUMzRCxNQUFNLEdBQUcsR0FBRyxpQkFBaUIsT0FBTyxxQkFBcUIsZ0JBQWdCLEVBQUUsQ0FBQztRQUM1RSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxPQUFlLEVBQUUsc0JBQThCO1FBQ3ZFLE1BQU0sR0FBRyxHQUFHLGlCQUFpQixPQUFPLDJCQUEyQixzQkFBc0IsRUFBRSxDQUFDO1FBQ3hGLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsNkJBQTZCO0lBRTdCLEtBQUssQ0FBQywrQkFBK0IsQ0FDbkMsT0FBZSxFQUNmLGdCQUF3QixFQUN4QixNQUE4QixFQUM5QixLQUFxQixFQUNyQix1QkFBdUMsRUFDdkMsaUJBQWlDO1FBRWpDLE1BQU0sR0FBRyxHQUFHLHdCQUF3QixDQUFDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsT0FBTztZQUNQLGdCQUFnQjtZQUNoQixN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
|