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.
Files changed (117) hide show
  1. package/.claude/settings.local.json +11 -0
  2. package/CONTRACT_METHOD_FIXES.md +189 -0
  3. package/INTEGRATION_SUMMARY.md +219 -0
  4. package/OPTIMIZATION_GUIDE.md +238 -0
  5. package/README.md +384 -0
  6. package/SNAPSHOT_FIX_SUMMARY.md +161 -0
  7. package/SNAPSHOT_OPTIMIZATION_SUMMARY.md +199 -0
  8. package/dist/abis/Referral.d.ts +36 -0
  9. package/dist/abis/Referral.js +4 -0
  10. package/dist/abis/Trading.d.ts +57 -0
  11. package/dist/abis/Trading.js +742 -0
  12. package/dist/abis/erc20.d.ts +51 -0
  13. package/dist/abis/erc20.js +4 -0
  14. package/dist/abis/index.d.ts +8 -0
  15. package/dist/abis/index.js +24 -0
  16. package/dist/abis/multicall.d.ts +85 -0
  17. package/dist/abis/multicall.js +4 -0
  18. package/dist/abis/pairInfos.d.ts +77 -0
  19. package/dist/abis/pairInfos.js +4 -0
  20. package/dist/abis/pairStorage.d.ts +124 -0
  21. package/dist/abis/pairStorage.js +4 -0
  22. package/dist/abis/priceAggregator.d.ts +77 -0
  23. package/dist/abis/priceAggregator.js +4 -0
  24. package/dist/abis/tardingStorage.d.ts +97 -0
  25. package/dist/abis/tardingStorage.js +1295 -0
  26. package/dist/abis.d.ts +623 -0
  27. package/dist/abis.js +49 -0
  28. package/dist/client.d.ts +118 -0
  29. package/dist/client.js +224 -0
  30. package/dist/config.d.ts +43 -0
  31. package/dist/config.js +42 -0
  32. package/dist/crypto/spki.d.ts +55 -0
  33. package/dist/crypto/spki.js +160 -0
  34. package/dist/feed/feed_client.d.ts +68 -0
  35. package/dist/feed/feed_client.js +239 -0
  36. package/dist/index.d.ts +28 -0
  37. package/dist/index.js +87 -0
  38. package/dist/rpc/asset_parameters.d.ts +62 -0
  39. package/dist/rpc/asset_parameters.js +169 -0
  40. package/dist/rpc/blended.d.ts +23 -0
  41. package/dist/rpc/blended.js +55 -0
  42. package/dist/rpc/category_parameters.d.ts +34 -0
  43. package/dist/rpc/category_parameters.js +105 -0
  44. package/dist/rpc/delegation.d.ts +81 -0
  45. package/dist/rpc/delegation.js +180 -0
  46. package/dist/rpc/fee_parameters.d.ts +46 -0
  47. package/dist/rpc/fee_parameters.js +113 -0
  48. package/dist/rpc/multicall.d.ts +83 -0
  49. package/dist/rpc/multicall.js +117 -0
  50. package/dist/rpc/pair_info_queries.d.ts +101 -0
  51. package/dist/rpc/pair_info_queries.js +161 -0
  52. package/dist/rpc/pairs_cache.d.ts +62 -0
  53. package/dist/rpc/pairs_cache.js +240 -0
  54. package/dist/rpc/referral_operations.d.ts +67 -0
  55. package/dist/rpc/referral_operations.js +143 -0
  56. package/dist/rpc/snapshot.d.ts +49 -0
  57. package/dist/rpc/snapshot.js +162 -0
  58. package/dist/rpc/trade.d.ts +84 -0
  59. package/dist/rpc/trade.js +249 -0
  60. package/dist/rpc/trading_operations.d.ts +103 -0
  61. package/dist/rpc/trading_operations.js +295 -0
  62. package/dist/rpc/trading_parameters.d.ts +49 -0
  63. package/dist/rpc/trading_parameters.js +94 -0
  64. package/dist/signers/base.d.ts +24 -0
  65. package/dist/signers/base.js +10 -0
  66. package/dist/signers/kms.d.ts +47 -0
  67. package/dist/signers/kms.js +172 -0
  68. package/dist/signers/local.d.ts +43 -0
  69. package/dist/signers/local.js +64 -0
  70. package/dist/types.d.ts +1419 -0
  71. package/dist/types.js +245 -0
  72. package/dist/utils.d.ts +52 -0
  73. package/dist/utils.js +134 -0
  74. package/examples/advanced-queries.ts +181 -0
  75. package/examples/basic-usage.ts +78 -0
  76. package/examples/delegation-and-referrals.ts +130 -0
  77. package/examples/get-pyth-ids.ts +61 -0
  78. package/examples/kms-signer.ts +31 -0
  79. package/examples/optimized-snapshot.ts +153 -0
  80. package/examples/price-feed-with-sdk-ids.ts +97 -0
  81. package/examples/price-feed.ts +36 -0
  82. package/examples/trading-operations.ts +149 -0
  83. package/package.json +41 -0
  84. package/src/abis/Referral.ts +3 -0
  85. package/src/abis/Trading.ts +741 -0
  86. package/src/abis/erc20.ts +3 -0
  87. package/src/abis/index.ts +8 -0
  88. package/src/abis/multicall.ts +3 -0
  89. package/src/abis/pairInfos.ts +3 -0
  90. package/src/abis/pairStorage.ts +3 -0
  91. package/src/abis/priceAggregator.ts +3 -0
  92. package/src/abis/tardingStorage.ts +1294 -0
  93. package/src/abis.ts +56 -0
  94. package/src/client.ts +373 -0
  95. package/src/config.ts +62 -0
  96. package/src/crypto/spki.ts +197 -0
  97. package/src/feed/feed_client.ts +288 -0
  98. package/src/index.ts +114 -0
  99. package/src/rpc/asset_parameters.ts +217 -0
  100. package/src/rpc/blended.ts +77 -0
  101. package/src/rpc/category_parameters.ts +128 -0
  102. package/src/rpc/delegation.ts +225 -0
  103. package/src/rpc/fee_parameters.ts +150 -0
  104. package/src/rpc/multicall.ts +164 -0
  105. package/src/rpc/pair_info_queries.ts +208 -0
  106. package/src/rpc/pairs_cache.ts +268 -0
  107. package/src/rpc/referral_operations.ts +164 -0
  108. package/src/rpc/snapshot.ts +210 -0
  109. package/src/rpc/trade.ts +306 -0
  110. package/src/rpc/trading_operations.ts +378 -0
  111. package/src/rpc/trading_parameters.ts +127 -0
  112. package/src/signers/base.ts +27 -0
  113. package/src/signers/kms.ts +212 -0
  114. package/src/signers/local.ts +70 -0
  115. package/src/types.ts +410 -0
  116. package/src/utils.ts +155 -0
  117. 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;