perps-sdk-ts 1.0.1
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/.claude/settings.local.json +11 -0
- package/CONTRACT_METHOD_FIXES.md +189 -0
- package/INTEGRATION_SUMMARY.md +219 -0
- package/OPTIMIZATION_GUIDE.md +238 -0
- package/README.md +384 -0
- package/SNAPSHOT_FIX_SUMMARY.md +161 -0
- package/SNAPSHOT_OPTIMIZATION_SUMMARY.md +199 -0
- package/dist/abis/Referral.d.ts +36 -0
- package/dist/abis/Referral.js +4 -0
- package/dist/abis/Trading.d.ts +57 -0
- package/dist/abis/Trading.js +742 -0
- package/dist/abis/erc20.d.ts +51 -0
- package/dist/abis/erc20.js +4 -0
- package/dist/abis/index.d.ts +8 -0
- package/dist/abis/index.js +24 -0
- package/dist/abis/multicall.d.ts +85 -0
- package/dist/abis/multicall.js +4 -0
- package/dist/abis/pairInfos.d.ts +77 -0
- package/dist/abis/pairInfos.js +4 -0
- package/dist/abis/pairStorage.d.ts +124 -0
- package/dist/abis/pairStorage.js +4 -0
- package/dist/abis/priceAggregator.d.ts +77 -0
- package/dist/abis/priceAggregator.js +4 -0
- package/dist/abis/tardingStorage.d.ts +97 -0
- package/dist/abis/tardingStorage.js +1295 -0
- package/dist/abis.d.ts +623 -0
- package/dist/abis.js +49 -0
- package/dist/client.d.ts +118 -0
- package/dist/client.js +224 -0
- package/dist/config.d.ts +43 -0
- package/dist/config.js +42 -0
- package/dist/crypto/spki.d.ts +55 -0
- package/dist/crypto/spki.js +160 -0
- package/dist/feed/feed_client.d.ts +68 -0
- package/dist/feed/feed_client.js +239 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.js +87 -0
- package/dist/rpc/asset_parameters.d.ts +62 -0
- package/dist/rpc/asset_parameters.js +169 -0
- package/dist/rpc/blended.d.ts +23 -0
- package/dist/rpc/blended.js +55 -0
- package/dist/rpc/category_parameters.d.ts +34 -0
- package/dist/rpc/category_parameters.js +105 -0
- package/dist/rpc/delegation.d.ts +81 -0
- package/dist/rpc/delegation.js +180 -0
- package/dist/rpc/fee_parameters.d.ts +46 -0
- package/dist/rpc/fee_parameters.js +113 -0
- package/dist/rpc/multicall.d.ts +83 -0
- package/dist/rpc/multicall.js +117 -0
- package/dist/rpc/pair_info_queries.d.ts +101 -0
- package/dist/rpc/pair_info_queries.js +161 -0
- package/dist/rpc/pairs_cache.d.ts +62 -0
- package/dist/rpc/pairs_cache.js +240 -0
- package/dist/rpc/referral_operations.d.ts +67 -0
- package/dist/rpc/referral_operations.js +143 -0
- package/dist/rpc/snapshot.d.ts +49 -0
- package/dist/rpc/snapshot.js +162 -0
- package/dist/rpc/trade.d.ts +84 -0
- package/dist/rpc/trade.js +249 -0
- package/dist/rpc/trading_operations.d.ts +103 -0
- package/dist/rpc/trading_operations.js +295 -0
- package/dist/rpc/trading_parameters.d.ts +49 -0
- package/dist/rpc/trading_parameters.js +94 -0
- package/dist/signers/base.d.ts +24 -0
- package/dist/signers/base.js +10 -0
- package/dist/signers/kms.d.ts +47 -0
- package/dist/signers/kms.js +172 -0
- package/dist/signers/local.d.ts +43 -0
- package/dist/signers/local.js +64 -0
- package/dist/types.d.ts +1419 -0
- package/dist/types.js +245 -0
- package/dist/utils.d.ts +52 -0
- package/dist/utils.js +134 -0
- package/examples/advanced-queries.ts +181 -0
- package/examples/basic-usage.ts +78 -0
- package/examples/delegation-and-referrals.ts +130 -0
- package/examples/get-pyth-ids.ts +61 -0
- package/examples/kms-signer.ts +31 -0
- package/examples/optimized-snapshot.ts +153 -0
- package/examples/price-feed-with-sdk-ids.ts +97 -0
- package/examples/price-feed.ts +36 -0
- package/examples/trading-operations.ts +149 -0
- package/package.json +41 -0
- package/src/abis/Referral.ts +3 -0
- package/src/abis/Trading.ts +741 -0
- package/src/abis/erc20.ts +3 -0
- package/src/abis/index.ts +8 -0
- package/src/abis/multicall.ts +3 -0
- package/src/abis/pairInfos.ts +3 -0
- package/src/abis/pairStorage.ts +3 -0
- package/src/abis/priceAggregator.ts +3 -0
- package/src/abis/tardingStorage.ts +1294 -0
- package/src/abis.ts +56 -0
- package/src/client.ts +373 -0
- package/src/config.ts +62 -0
- package/src/crypto/spki.ts +197 -0
- package/src/feed/feed_client.ts +288 -0
- package/src/index.ts +114 -0
- package/src/rpc/asset_parameters.ts +217 -0
- package/src/rpc/blended.ts +77 -0
- package/src/rpc/category_parameters.ts +128 -0
- package/src/rpc/delegation.ts +225 -0
- package/src/rpc/fee_parameters.ts +150 -0
- package/src/rpc/multicall.ts +164 -0
- package/src/rpc/pair_info_queries.ts +208 -0
- package/src/rpc/pairs_cache.ts +268 -0
- package/src/rpc/referral_operations.ts +164 -0
- package/src/rpc/snapshot.ts +210 -0
- package/src/rpc/trade.ts +306 -0
- package/src/rpc/trading_operations.ts +378 -0
- package/src/rpc/trading_parameters.ts +127 -0
- package/src/signers/base.ts +27 -0
- package/src/signers/kms.ts +212 -0
- package/src/signers/local.ts +70 -0
- package/src/types.ts +410 -0
- package/src/utils.ts +155 -0
- package/tsconfig.json +18 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Wallet, Provider, TransactionRequest } from 'ethers';
|
|
2
|
+
import { BaseSigner } from './base';
|
|
3
|
+
/**
|
|
4
|
+
* Local signer using a private key stored in memory
|
|
5
|
+
* WARNING: Use with caution in production environments
|
|
6
|
+
*/
|
|
7
|
+
export declare class LocalSigner extends BaseSigner {
|
|
8
|
+
private wallet;
|
|
9
|
+
/**
|
|
10
|
+
* Create a local signer from a private key
|
|
11
|
+
* @param privateKey - Private key (with or without 0x prefix)
|
|
12
|
+
* @param provider - Ethereum provider
|
|
13
|
+
*/
|
|
14
|
+
constructor(privateKey: string, provider: Provider);
|
|
15
|
+
/**
|
|
16
|
+
* Sign a transaction using the private key
|
|
17
|
+
* @param transaction - Transaction to sign
|
|
18
|
+
* @returns Signed transaction as hex string
|
|
19
|
+
*/
|
|
20
|
+
signTransaction(transaction: TransactionRequest): Promise<string>;
|
|
21
|
+
/**
|
|
22
|
+
* Get the Ethereum address for this signer
|
|
23
|
+
* @returns Ethereum address
|
|
24
|
+
*/
|
|
25
|
+
getAddress(): Promise<string>;
|
|
26
|
+
/**
|
|
27
|
+
* Sign a message using the private key
|
|
28
|
+
* @param message - Message to sign
|
|
29
|
+
* @returns Signature
|
|
30
|
+
*/
|
|
31
|
+
signMessage(message: string | Uint8Array): Promise<string>;
|
|
32
|
+
/**
|
|
33
|
+
* Get the wallet instance (for advanced usage)
|
|
34
|
+
* @returns Wallet instance
|
|
35
|
+
*/
|
|
36
|
+
getWallet(): Wallet;
|
|
37
|
+
/**
|
|
38
|
+
* Create a random wallet
|
|
39
|
+
* @param provider - Ethereum provider
|
|
40
|
+
* @returns LocalSigner with random wallet
|
|
41
|
+
*/
|
|
42
|
+
static createRandom(provider: Provider): LocalSigner;
|
|
43
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalSigner = void 0;
|
|
4
|
+
const ethers_1 = require("ethers");
|
|
5
|
+
const base_1 = require("./base");
|
|
6
|
+
/**
|
|
7
|
+
* Local signer using a private key stored in memory
|
|
8
|
+
* WARNING: Use with caution in production environments
|
|
9
|
+
*/
|
|
10
|
+
class LocalSigner extends base_1.BaseSigner {
|
|
11
|
+
/**
|
|
12
|
+
* Create a local signer from a private key
|
|
13
|
+
* @param privateKey - Private key (with or without 0x prefix)
|
|
14
|
+
* @param provider - Ethereum provider
|
|
15
|
+
*/
|
|
16
|
+
constructor(privateKey, provider) {
|
|
17
|
+
super();
|
|
18
|
+
// Ensure private key has 0x prefix
|
|
19
|
+
if (!privateKey.startsWith('0x')) {
|
|
20
|
+
privateKey = '0x' + privateKey;
|
|
21
|
+
}
|
|
22
|
+
this.wallet = new ethers_1.Wallet(privateKey, provider);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Sign a transaction using the private key
|
|
26
|
+
* @param transaction - Transaction to sign
|
|
27
|
+
* @returns Signed transaction as hex string
|
|
28
|
+
*/
|
|
29
|
+
async signTransaction(transaction) {
|
|
30
|
+
return await this.wallet.signTransaction(transaction);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get the Ethereum address for this signer
|
|
34
|
+
* @returns Ethereum address
|
|
35
|
+
*/
|
|
36
|
+
async getAddress() {
|
|
37
|
+
return this.wallet.address;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Sign a message using the private key
|
|
41
|
+
* @param message - Message to sign
|
|
42
|
+
* @returns Signature
|
|
43
|
+
*/
|
|
44
|
+
async signMessage(message) {
|
|
45
|
+
return await this.wallet.signMessage(message);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get the wallet instance (for advanced usage)
|
|
49
|
+
* @returns Wallet instance
|
|
50
|
+
*/
|
|
51
|
+
getWallet() {
|
|
52
|
+
return this.wallet;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Create a random wallet
|
|
56
|
+
* @param provider - Ethereum provider
|
|
57
|
+
* @returns LocalSigner with random wallet
|
|
58
|
+
*/
|
|
59
|
+
static createRandom(provider) {
|
|
60
|
+
const wallet = ethers_1.Wallet.createRandom();
|
|
61
|
+
return new LocalSigner(wallet.privateKey, provider);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.LocalSigner = LocalSigner;
|