@reflectmoney/stable.ts 2.2.1 → 2.4.0

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 (154) hide show
  1. package/dist/classes/PdaClient.d.ts +6 -6
  2. package/dist/classes/PdaClient.js +13 -12
  3. package/dist/classes/Stablecoin.d.ts +4 -2
  4. package/dist/classes/Stablecoin.js +20 -16
  5. package/dist/constants/devnet.d.ts +4 -0
  6. package/dist/constants/devnet.js +7 -0
  7. package/dist/constants/index.d.ts +1 -0
  8. package/dist/constants/index.js +1 -0
  9. package/dist/constants/usdc.d.ts +1 -0
  10. package/dist/constants/usdc.js +2 -1
  11. package/dist/generated/reflect_main/accounts/DriftJlpController.js +17 -7
  12. package/dist/generated/reflect_main/accounts/DriftLstController.js +17 -7
  13. package/dist/generated/reflect_main/accounts/DriftUsdcController.js +17 -7
  14. package/dist/generated/reflect_main/accounts/Main.js +17 -7
  15. package/dist/generated/reflect_main/accounts/PerpMarket.js +17 -7
  16. package/dist/generated/reflect_main/accounts/PrelaunchOracle.js +17 -7
  17. package/dist/generated/reflect_main/accounts/PythLazerOracle.js +17 -7
  18. package/dist/generated/reflect_main/accounts/RebalanceLst.js +17 -7
  19. package/dist/generated/reflect_main/accounts/SpotMarket.js +17 -7
  20. package/dist/generated/reflect_main/accounts/User.js +17 -7
  21. package/dist/generated/reflect_main/accounts/UserPermissions.js +17 -7
  22. package/dist/generated/reflect_main/accounts/UserStats.js +17 -7
  23. package/dist/generated/reflect_main/instructions/addLstDrift.js +17 -7
  24. package/dist/generated/reflect_main/instructions/addSubAccount.js +17 -7
  25. package/dist/generated/reflect_main/instructions/captureSpreadDrift.js +17 -7
  26. package/dist/generated/reflect_main/instructions/createAdminAccount.js +17 -7
  27. package/dist/generated/reflect_main/instructions/createUserStatsAccount.js +17 -7
  28. package/dist/generated/reflect_main/instructions/depositDrift.js +17 -7
  29. package/dist/generated/reflect_main/instructions/freezeProgram.js +17 -7
  30. package/dist/generated/reflect_main/instructions/freezeProtocolAction.js +17 -7
  31. package/dist/generated/reflect_main/instructions/freezeStrategyAction.js +17 -7
  32. package/dist/generated/reflect_main/instructions/increaseAdminSize.js +17 -7
  33. package/dist/generated/reflect_main/instructions/initDriftAccountsS1.js +17 -7
  34. package/dist/generated/reflect_main/instructions/initDriftControllerS1.js +17 -7
  35. package/dist/generated/reflect_main/instructions/initDriftControllerS3.js +17 -7
  36. package/dist/generated/reflect_main/instructions/initMain.js +17 -7
  37. package/dist/generated/reflect_main/instructions/mintDriftS1.js +17 -7
  38. package/dist/generated/reflect_main/instructions/mintDriftS3.js +17 -7
  39. package/dist/generated/reflect_main/instructions/processSwapDeposit.js +17 -7
  40. package/dist/generated/reflect_main/instructions/processSwapWithdraw.js +17 -7
  41. package/dist/generated/reflect_main/instructions/redeemDriftS1.js +17 -7
  42. package/dist/generated/reflect_main/instructions/redeemDriftS3.js +17 -7
  43. package/dist/generated/reflect_main/instructions/settlePnl.js +17 -7
  44. package/dist/generated/reflect_main/instructions/settlePnlMulti.js +17 -7
  45. package/dist/generated/reflect_main/instructions/suspendSplProtocol.js +17 -7
  46. package/dist/generated/reflect_main/instructions/suspendSplStrategy.js +17 -7
  47. package/dist/generated/reflect_main/instructions/swapOrca.js +17 -7
  48. package/dist/generated/reflect_main/instructions/swapOrcaTwoHop.js +17 -7
  49. package/dist/generated/reflect_main/instructions/updateActionRoleProtocol.js +17 -7
  50. package/dist/generated/reflect_main/instructions/updateActionRoleStrategy.js +17 -7
  51. package/dist/generated/reflect_main/instructions/updateAttenuation.js +17 -7
  52. package/dist/generated/reflect_main/instructions/updateCap.js +17 -7
  53. package/dist/generated/reflect_main/instructions/updateRebalanceSlippage.js +17 -7
  54. package/dist/generated/reflect_main/instructions/updateRecipients.js +17 -7
  55. package/dist/generated/reflect_main/instructions/updateRoleHolderProtocol.js +17 -7
  56. package/dist/generated/reflect_main/instructions/updateRoleHolderStrategy.js +17 -7
  57. package/dist/generated/reflect_main/types/AMM.js +17 -7
  58. package/dist/generated/reflect_main/types/AccKey.js +17 -7
  59. package/dist/generated/reflect_main/types/AccessControl.js +17 -7
  60. package/dist/generated/reflect_main/types/AccessMap.js +17 -7
  61. package/dist/generated/reflect_main/types/Action.js +17 -7
  62. package/dist/generated/reflect_main/types/ActionMapping.js +17 -7
  63. package/dist/generated/reflect_main/types/AssetTier.js +17 -7
  64. package/dist/generated/reflect_main/types/Attenuation.js +17 -7
  65. package/dist/generated/reflect_main/types/AutoCompound.js +17 -7
  66. package/dist/generated/reflect_main/types/BalanceType.js +17 -7
  67. package/dist/generated/reflect_main/types/Capture.js +17 -7
  68. package/dist/generated/reflect_main/types/ContractTier.js +17 -7
  69. package/dist/generated/reflect_main/types/ContractType.js +17 -7
  70. package/dist/generated/reflect_main/types/CorpAction.js +17 -7
  71. package/dist/generated/reflect_main/types/CustodyInfo.js +17 -7
  72. package/dist/generated/reflect_main/types/DirectionCollateral.js +17 -7
  73. package/dist/generated/reflect_main/types/DirectionPosition.js +17 -7
  74. package/dist/generated/reflect_main/types/DriftControllerBase.js +17 -7
  75. package/dist/generated/reflect_main/types/DriftJlpControllerFixedAccounts.js +17 -7
  76. package/dist/generated/reflect_main/types/DriftLstData.js +17 -7
  77. package/dist/generated/reflect_main/types/Ema.js +17 -7
  78. package/dist/generated/reflect_main/types/Externals.js +17 -7
  79. package/dist/generated/reflect_main/types/FlowControl.js +17 -7
  80. package/dist/generated/reflect_main/types/HistoricalIndexData.js +17 -7
  81. package/dist/generated/reflect_main/types/HistoricalOracleData.js +17 -7
  82. package/dist/generated/reflect_main/types/Holding.js +17 -7
  83. package/dist/generated/reflect_main/types/Holdings.js +17 -7
  84. package/dist/generated/reflect_main/types/InsuranceClaim.js +17 -7
  85. package/dist/generated/reflect_main/types/InsuranceFund.js +17 -7
  86. package/dist/generated/reflect_main/types/JlpRebalanceSettings.js +17 -7
  87. package/dist/generated/reflect_main/types/KillSwitch.js +17 -7
  88. package/dist/generated/reflect_main/types/LevelRoles.js +17 -7
  89. package/dist/generated/reflect_main/types/MarketStatus.js +17 -7
  90. package/dist/generated/reflect_main/types/MarketType.js +17 -7
  91. package/dist/generated/reflect_main/types/ModifyOrderParams.js +17 -7
  92. package/dist/generated/reflect_main/types/ModifyOrderPolicy.js +17 -7
  93. package/dist/generated/reflect_main/types/Movements.js +17 -7
  94. package/dist/generated/reflect_main/types/OracleGuardRails.js +17 -7
  95. package/dist/generated/reflect_main/types/OracleSource.js +17 -7
  96. package/dist/generated/reflect_main/types/OracleValidity.js +17 -7
  97. package/dist/generated/reflect_main/types/Order.js +17 -7
  98. package/dist/generated/reflect_main/types/OrderDirection.js +17 -7
  99. package/dist/generated/reflect_main/types/OrderParams.js +17 -7
  100. package/dist/generated/reflect_main/types/OrderStatus.js +17 -7
  101. package/dist/generated/reflect_main/types/OrderTriggerCondition.js +17 -7
  102. package/dist/generated/reflect_main/types/OrderType.js +17 -7
  103. package/dist/generated/reflect_main/types/PermissionLevel.js +17 -7
  104. package/dist/generated/reflect_main/types/PerpHedge.js +17 -7
  105. package/dist/generated/reflect_main/types/PerpPosition.js +17 -7
  106. package/dist/generated/reflect_main/types/PoolBalance.js +17 -7
  107. package/dist/generated/reflect_main/types/Position.js +17 -7
  108. package/dist/generated/reflect_main/types/PositionDirection.js +17 -7
  109. package/dist/generated/reflect_main/types/PositionDrift.js +17 -7
  110. package/dist/generated/reflect_main/types/PostOnlyParam.js +17 -7
  111. package/dist/generated/reflect_main/types/Price.js +17 -7
  112. package/dist/generated/reflect_main/types/PriceComp.js +17 -7
  113. package/dist/generated/reflect_main/types/PriceDivergenceGuardRails.js +17 -7
  114. package/dist/generated/reflect_main/types/PriceInfo.js +17 -7
  115. package/dist/generated/reflect_main/types/PriceStatus.js +17 -7
  116. package/dist/generated/reflect_main/types/PriceType.js +17 -7
  117. package/dist/generated/reflect_main/types/Program.js +17 -7
  118. package/dist/generated/reflect_main/types/ProgramStatus.js +17 -7
  119. package/dist/generated/reflect_main/types/Recipient.js +17 -7
  120. package/dist/generated/reflect_main/types/Recipients.js +17 -7
  121. package/dist/generated/reflect_main/types/Role.js +17 -7
  122. package/dist/generated/reflect_main/types/ShiftCollateral.js +17 -7
  123. package/dist/generated/reflect_main/types/ShiftPosition.js +17 -7
  124. package/dist/generated/reflect_main/types/ShortHolding.js +17 -7
  125. package/dist/generated/reflect_main/types/SplBase.js +17 -7
  126. package/dist/generated/reflect_main/types/SplMain.js +17 -7
  127. package/dist/generated/reflect_main/types/Spls.js +17 -7
  128. package/dist/generated/reflect_main/types/SpotBalanceType.js +17 -7
  129. package/dist/generated/reflect_main/types/SpotPosition.js +17 -7
  130. package/dist/generated/reflect_main/types/Status.js +17 -7
  131. package/dist/generated/reflect_main/types/Strategy.js +17 -7
  132. package/dist/generated/reflect_main/types/StrategyPadding.js +17 -7
  133. package/dist/generated/reflect_main/types/StrategyRoleEntry.js +17 -7
  134. package/dist/generated/reflect_main/types/SubAccount.js +17 -7
  135. package/dist/generated/reflect_main/types/Update.js +17 -7
  136. package/dist/generated/reflect_main/types/UserFees.js +17 -7
  137. package/dist/generated/reflect_main/types/ValidityGuardRails.js +17 -7
  138. package/dist/generated/reflect_main/types/YieldDistribution.js +17 -7
  139. package/dist/generated/reflect_tokenised_bonds/accounts/Admin.js +17 -7
  140. package/dist/generated/reflect_tokenised_bonds/accounts/Config.js +17 -7
  141. package/dist/generated/reflect_tokenised_bonds/accounts/Vault.js +17 -7
  142. package/dist/generated/reflect_tokenised_bonds/instructions/createVault.js +17 -7
  143. package/dist/generated/reflect_tokenised_bonds/instructions/deposit.js +17 -7
  144. package/dist/generated/reflect_tokenised_bonds/instructions/initialize.js +17 -7
  145. package/dist/generated/reflect_tokenised_bonds/instructions/withdraw.js +17 -7
  146. package/dist/generated/reflect_tokenised_bonds/types/DepositArgs.js +17 -7
  147. package/dist/generated/reflect_tokenised_bonds/types/Permissions.js +17 -7
  148. package/dist/generated/reflect_tokenised_bonds/types/WithdrawArgs.js +17 -7
  149. package/dist/stablecoins/UsdcPlusStablecoin.d.ts +1 -1
  150. package/dist/stablecoins/UsdcPlusStablecoin.js +21 -19
  151. package/dist/tsconfig.tsbuildinfo +1 -1
  152. package/package.json +4 -1
  153. package/dist/generated/reflect_main/instructions/captureSpreadDriftS1.d.ts +0 -58
  154. package/dist/generated/reflect_main/instructions/captureSpreadDriftS1.js +0 -125
@@ -11,7 +11,7 @@ export declare class PdaClient {
11
11
  *
12
12
  * @returns PublicKey of the main program account
13
13
  */
14
- static deriveMain(): PublicKey;
14
+ static deriveMain(devnet?: boolean): PublicKey;
15
15
  /**
16
16
  * Derives the permissions account address for a specific user.
17
17
  * This account stores the user's role-based permissions within the protocol.
@@ -19,7 +19,7 @@ export declare class PdaClient {
19
19
  * @param user - Public key of the user
20
20
  * @returns PublicKey of the user's permissions account
21
21
  */
22
- static derivePermissions(user: PublicKey): PublicKey;
22
+ static derivePermissions(user: PublicKey, devnet?: boolean): PublicKey;
23
23
  /**
24
24
  * Derives the controller account address for a specific strategy.
25
25
  * Each stablecoin strategy has its own controller account.
@@ -27,7 +27,7 @@ export declare class PdaClient {
27
27
  * @param strategy - Strategy index (0: USDC+, 1: JLP, 2: LST)
28
28
  * @returns PublicKey of the strategy controller account
29
29
  */
30
- static deriveController(strategy: number): PublicKey;
30
+ static deriveController(strategy: number, devnet?: boolean): PublicKey;
31
31
  /**
32
32
  * Derives the controller account address with bump seed for a specific strategy.
33
33
  * Returns both the public key and the bump seed.
@@ -35,7 +35,7 @@ export declare class PdaClient {
35
35
  * @param strategy - Strategy index (0: USDC+, 1: JLP, 2: LST)
36
36
  * @returns Array containing [PublicKey, number] where number is the bump seed
37
37
  */
38
- static deriveControllerWithBump(strategy: number): [PublicKey, number];
38
+ static deriveControllerWithBump(strategy: number, devnet?: boolean): [PublicKey, number];
39
39
  /**
40
40
  * Derives the rebalance details account address for a specific strategy.
41
41
  * This account stores information about rebalancing operations.
@@ -43,14 +43,14 @@ export declare class PdaClient {
43
43
  * @param strategy - Strategy index (0: USDC+, 1: JLP, 2: LST)
44
44
  * @returns PublicKey of the rebalance details account
45
45
  */
46
- static deriveRebalanceDetails(strategy: number): PublicKey;
46
+ static deriveRebalanceDetails(strategy: number, devnet?: boolean): PublicKey;
47
47
  /**
48
48
  * Derives the Jupiter Perpetuals program account address.
49
49
  * Used for integration with Jupiter's perpetuals protocol.
50
50
  *
51
51
  * @returns PublicKey of the Jupiter Perpetuals account
52
52
  */
53
- static deriveJupiterPerpetuals(): PublicKey;
53
+ static deriveJupiterPerpetuals(devnet?: boolean): PublicKey;
54
54
  /**
55
55
  * Derives the Jupiter LP pool account address.
56
56
  * Used for JLP (Jupiter LP) token operations.
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.PdaClient = void 0;
16
16
  const web3_js_1 = require("@solana/web3.js");
17
17
  const reflect_main_1 = require("../generated/reflect_main");
18
+ const devnet_1 = require("../constants/devnet");
18
19
  const reflect_tokenised_bonds_1 = require("../generated/reflect_tokenised_bonds");
19
20
  const constants_1 = require("../constants");
20
21
  const bn_js_1 = __importDefault(require("bn.js"));
@@ -32,8 +33,8 @@ class PdaClient {
32
33
  *
33
34
  * @returns PublicKey of the main program account
34
35
  */
35
- static deriveMain() {
36
- const [main] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("main")], reflect_main_1.PROGRAM_ID);
36
+ static deriveMain(devnet) {
37
+ const [main] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("main")], devnet ? devnet_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID);
37
38
  return main;
38
39
  }
39
40
  /**
@@ -43,11 +44,11 @@ class PdaClient {
43
44
  * @param user - Public key of the user
44
45
  * @returns PublicKey of the user's permissions account
45
46
  */
46
- static derivePermissions(user) {
47
+ static derivePermissions(user, devnet) {
47
48
  const [permissions] = web3_js_1.PublicKey.findProgramAddressSync([
48
49
  Buffer.from("user_permission"),
49
50
  user.toBuffer()
50
- ], reflect_main_1.PROGRAM_ID);
51
+ ], devnet ? devnet_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID);
51
52
  return permissions;
52
53
  }
53
54
  /**
@@ -57,11 +58,11 @@ class PdaClient {
57
58
  * @param strategy - Strategy index (0: USDC+, 1: JLP, 2: LST)
58
59
  * @returns PublicKey of the strategy controller account
59
60
  */
60
- static deriveController(strategy) {
61
+ static deriveController(strategy, devnet) {
61
62
  const [controller] = web3_js_1.PublicKey.findProgramAddressSync([
62
63
  Buffer.from("dex_controller"),
63
64
  Buffer.from([strategy])
64
- ], reflect_main_1.PROGRAM_ID);
65
+ ], devnet ? devnet_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID);
65
66
  return controller;
66
67
  }
67
68
  /**
@@ -71,11 +72,11 @@ class PdaClient {
71
72
  * @param strategy - Strategy index (0: USDC+, 1: JLP, 2: LST)
72
73
  * @returns Array containing [PublicKey, number] where number is the bump seed
73
74
  */
74
- static deriveControllerWithBump(strategy) {
75
+ static deriveControllerWithBump(strategy, devnet) {
75
76
  return web3_js_1.PublicKey.findProgramAddressSync([
76
77
  Buffer.from("dex_controller"),
77
78
  Buffer.from([strategy])
78
- ], reflect_main_1.PROGRAM_ID);
79
+ ], devnet ? devnet_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID);
79
80
  }
80
81
  /**
81
82
  * Derives the rebalance details account address for a specific strategy.
@@ -84,11 +85,11 @@ class PdaClient {
84
85
  * @param strategy - Strategy index (0: USDC+, 1: JLP, 2: LST)
85
86
  * @returns PublicKey of the rebalance details account
86
87
  */
87
- static deriveRebalanceDetails(strategy) {
88
+ static deriveRebalanceDetails(strategy, devnet) {
88
89
  const [rebalanceDetails] = web3_js_1.PublicKey.findProgramAddressSync([
89
90
  Buffer.from("rebalance_details"),
90
91
  this.deriveController(strategy).toBuffer()
91
- ], reflect_main_1.PROGRAM_ID);
92
+ ], devnet ? devnet_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID);
92
93
  return rebalanceDetails;
93
94
  }
94
95
  /**
@@ -97,10 +98,10 @@ class PdaClient {
97
98
  *
98
99
  * @returns PublicKey of the Jupiter Perpetuals account
99
100
  */
100
- static deriveJupiterPerpetuals() {
101
+ static deriveJupiterPerpetuals(devnet) {
101
102
  const [perpetuals] = web3_js_1.PublicKey.findProgramAddressSync([
102
103
  Buffer.from("perpetuals")
103
- ], constants_1.JUPITER_PROGRAM_ID);
104
+ ], devnet ? devnet_1.DEVNET_PROGRAM_ID : constants_1.JUPITER_PROGRAM_ID);
104
105
  return perpetuals;
105
106
  }
106
107
  /**
@@ -38,6 +38,7 @@ export declare abstract class Stablecoin<T extends Controller> {
38
38
  /** Lookup table with stablecoin-specific accounts. */
39
39
  lookupTable: PublicKey;
40
40
  isPermissioned: boolean;
41
+ devnet?: boolean;
41
42
  /**
42
43
  * Loads the controller account for this stablecoin.
43
44
  *
@@ -47,6 +48,7 @@ export declare abstract class Stablecoin<T extends Controller> {
47
48
  fromAccountAddress: (connection: Connection, key: PublicKey) => Promise<T>;
48
49
  }): Promise<void>;
49
50
  loadMint(): Promise<void>;
51
+ get programId(): PublicKey;
50
52
  buildLookupTables<T extends MintContext>(signer: PublicKey): Promise<{
51
53
  instructions: TransactionInstruction[];
52
54
  lookupTable: PublicKey;
@@ -64,7 +66,7 @@ export declare abstract class Stablecoin<T extends Controller> {
64
66
  * @param name - Human-readable name for the stablecoin
65
67
  * @param connection - Solana connection instance
66
68
  */
67
- constructor(index: number, name: string, connection: Connection, lookupTable: PublicKey);
69
+ constructor(index: number, name: string, connection: Connection, lookupTable: PublicKey, devnet?: boolean);
68
70
  /**
69
71
  * Initializes token accounts for the specified owner and mints.
70
72
  * Creates associated token accounts if they don't exist.
@@ -130,7 +132,7 @@ export declare abstract class Stablecoin<T extends Controller> {
130
132
  * @param mint - Public key of the collateral mint
131
133
  * @returns Promise resolving to the collateral price data
132
134
  */
133
- getCollateralPrice(mint: PublicKey): Promise<import("axios").AxiosResponse<PythResponse, any>>;
135
+ getCollateralPrice(mint: PublicKey): Promise<import("axios").AxiosResponse<PythResponse, any, {}>>;
134
136
  /**
135
137
  * Converts a stablecoin amount to the equivalent collateral amount, factoring in slippage (in bips).
136
138
  * All math is done using BN for safety.
@@ -59,6 +59,9 @@ class Stablecoin {
59
59
  this.stablecoinMintData = spl_token_1.MintLayout.decode(data);
60
60
  });
61
61
  }
62
+ get programId() {
63
+ return this.devnet ? constants_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID;
64
+ }
62
65
  buildLookupTables(signer) {
63
66
  return __awaiter(this, void 0, void 0, function* () {
64
67
  const accounts = yield this.constructAccounts(signer);
@@ -123,12 +126,13 @@ class Stablecoin {
123
126
  * @param name - Human-readable name for the stablecoin
124
127
  * @param connection - Solana connection instance
125
128
  */
126
- constructor(index, name, connection, lookupTable) {
129
+ constructor(index, name, connection, lookupTable, devnet) {
127
130
  this.index = index;
128
131
  this.name = name;
129
132
  this.connection = connection;
130
- this.controllerKey = PdaClient_1.PdaClient.deriveController(this.index);
133
+ this.controllerKey = PdaClient_1.PdaClient.deriveController(this.index, devnet);
131
134
  this.lookupTable = lookupTable;
135
+ this.devnet = devnet;
132
136
  }
133
137
  /**
134
138
  * Initializes token accounts for the specified owner and mints.
@@ -170,13 +174,13 @@ class Stablecoin {
170
174
  return __awaiter(this, void 0, void 0, function* () {
171
175
  const ix = (0, reflect_main_1.createUpdateCapInstruction)({
172
176
  admin: signer,
173
- main: PdaClient_1.PdaClient.deriveMain(),
174
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
177
+ main: PdaClient_1.PdaClient.deriveMain(this.devnet),
178
+ adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer, this.devnet),
175
179
  systemProgram: web3_js_1.SystemProgram.programId,
176
180
  strategy: this.controllerKey
177
181
  }, {
178
182
  newCap,
179
- }, reflect_main_1.PROGRAM_ID);
183
+ }, this.programId);
180
184
  return ix;
181
185
  });
182
186
  }
@@ -190,15 +194,15 @@ class Stablecoin {
190
194
  updateRecipients(signer, recipients) {
191
195
  return __awaiter(this, void 0, void 0, function* () {
192
196
  const ix = (0, reflect_main_1.createUpdateRecipientsInstruction)({
193
- main: PdaClient_1.PdaClient.deriveMain(),
194
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
197
+ main: PdaClient_1.PdaClient.deriveMain(this.devnet),
198
+ adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer, this.devnet),
195
199
  systemProgram: web3_js_1.SystemProgram.programId,
196
200
  admin: signer,
197
201
  strategy: this.controllerKey
198
202
  }, {
199
203
  recipientAddresses: Array.from(recipients.keys()),
200
204
  recipientCuts: Array.from(recipients.values()),
201
- }, reflect_main_1.PROGRAM_ID);
205
+ }, this.programId);
202
206
  return ix;
203
207
  });
204
208
  }
@@ -227,13 +231,13 @@ class Stablecoin {
227
231
  state: yield (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID),
228
232
  userStats,
229
233
  userAccount,
230
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
231
- main: PdaClient_1.PdaClient.deriveMain(),
234
+ adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer, this.devnet),
235
+ main: PdaClient_1.PdaClient.deriveMain(this.devnet),
232
236
  rent: web3_js_1.SYSVAR_RENT_PUBKEY,
233
237
  systemProgram: web3_js_1.SystemProgram.programId,
234
238
  lstController: this.controllerKey,
235
239
  anchorRemainingAccounts
236
- }, reflect_main_1.PROGRAM_ID);
240
+ }, this.programId);
237
241
  return ix;
238
242
  });
239
243
  }
@@ -249,15 +253,15 @@ class Stablecoin {
249
253
  const userStats = (0, sdk_1.getUserStatsAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID, this.controllerKey);
250
254
  const ix = (0, reflect_main_1.createCreateUserStatsAccountInstruction)({
251
255
  admin: signer,
252
- main: PdaClient_1.PdaClient.deriveMain(),
256
+ main: PdaClient_1.PdaClient.deriveMain(this.devnet),
253
257
  drift: constants_1.DRIFT_PROGRAM_ID,
254
258
  userStats,
255
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
259
+ adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer, this.devnet),
256
260
  controller: this.controllerKey,
257
261
  rent: web3_js_1.SYSVAR_RENT_PUBKEY,
258
262
  state: yield (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID),
259
263
  systemProgram: web3_js_1.SystemProgram.programId,
260
- }, reflect_main_1.PROGRAM_ID);
264
+ }, this.programId);
261
265
  return ix;
262
266
  });
263
267
  }
@@ -273,8 +277,8 @@ class Stablecoin {
273
277
  return __awaiter(this, void 0, void 0, function* () {
274
278
  const ix = (0, reflect_main_1.createFreezeStrategyActionInstruction)({
275
279
  admin: signer,
276
- main: PdaClient_1.PdaClient.deriveMain(),
277
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
280
+ main: PdaClient_1.PdaClient.deriveMain(this.devnet),
281
+ adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer, this.devnet),
278
282
  systemProgram: web3_js_1.SystemProgram.programId,
279
283
  strategy: this.controllerKey,
280
284
  }, {
@@ -0,0 +1,4 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ export declare const DEVNET_PROGRAM_ID: PublicKey;
3
+ export declare const USDC_MINT_DEVNET: PublicKey;
4
+ export declare const USDC_PLUS_LOOKUP_TABLE_DEVNET: PublicKey;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USDC_PLUS_LOOKUP_TABLE_DEVNET = exports.USDC_MINT_DEVNET = exports.DEVNET_PROGRAM_ID = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ exports.DEVNET_PROGRAM_ID = new web3_js_1.PublicKey("Pexq7ANUtGrKs6fDKwcwutqeAEw7ic1q74tR7b1p4NG");
6
+ exports.USDC_MINT_DEVNET = new web3_js_1.PublicKey("8zGuJQqwhZafTah7Uc7Z4tXRnguqkn5KLFAP8oV6PHe2");
7
+ exports.USDC_PLUS_LOOKUP_TABLE_DEVNET = new web3_js_1.PublicKey("DBW59DEuJdM2aM48kBy3ugmFD7acvbCJmU9hxhJfieVL");
@@ -5,4 +5,5 @@ export * from "./jupiter";
5
5
  export * from "./pyth";
6
6
  export * from "./lst";
7
7
  export * from "./lookupTables";
8
+ export * from "./devnet";
8
9
  export declare const EXCHANGE_RATE_PRECISION = 1000000000;
@@ -22,4 +22,5 @@ __exportStar(require("./jupiter"), exports);
22
22
  __exportStar(require("./pyth"), exports);
23
23
  __exportStar(require("./lst"), exports);
24
24
  __exportStar(require("./lookupTables"), exports);
25
+ __exportStar(require("./devnet"), exports);
25
26
  exports.EXCHANGE_RATE_PRECISION = 1000000000;
@@ -1,5 +1,6 @@
1
1
  import { PublicKey } from "@solana/web3.js";
2
2
  export declare const USDC_MINT: PublicKey;
3
+ export declare const USDC_DEVNET_MINT: PublicKey;
3
4
  export declare const USDC_PUSH_ORACLE: PublicKey;
4
5
  export declare const USDC_PULL_ORACLE: PublicKey;
5
6
  export declare const USDC_SPOT_MARKET: PublicKey;
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.USDC_DRIFT_VAULT = exports.USDC_SPOT_MARKET = exports.USDC_PULL_ORACLE = exports.USDC_PUSH_ORACLE = exports.USDC_MINT = void 0;
3
+ exports.USDC_DRIFT_VAULT = exports.USDC_SPOT_MARKET = exports.USDC_PULL_ORACLE = exports.USDC_PUSH_ORACLE = exports.USDC_DEVNET_MINT = exports.USDC_MINT = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  exports.USDC_MINT = new web3_js_1.PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
6
+ exports.USDC_DEVNET_MINT = new web3_js_1.PublicKey("8zGuJQqwhZafTah7Uc7Z4tXRnguqkn5KLFAP8oV6PHe2");
6
7
  // No devnet
7
8
  exports.USDC_PUSH_ORACLE = new web3_js_1.PublicKey("Gnt27xtC473ZT2Mw5u8wZ68Z3gULkSTb5DuxJy7eJotD");
8
9
  exports.USDC_PULL_ORACLE = new web3_js_1.PublicKey("9VCioxmni2gDLv11qufWzT3RDERhQE4iY5Gf7NTfYyAV");
@@ -21,13 +21,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
21
21
  }) : function(o, v) {
22
22
  o["default"] = v;
23
23
  });
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
31
41
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
32
42
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
33
43
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -21,13 +21,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
21
21
  }) : function(o, v) {
22
22
  o["default"] = v;
23
23
  });
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
31
41
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
32
42
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
33
43
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -21,13 +21,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
21
21
  }) : function(o, v) {
22
22
  o["default"] = v;
23
23
  });
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
31
41
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
32
42
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
33
43
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -21,13 +21,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
21
21
  }) : function(o, v) {
22
22
  o["default"] = v;
23
23
  });
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
31
41
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
32
42
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
33
43
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -21,13 +21,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
21
21
  }) : function(o, v) {
22
22
  o["default"] = v;
23
23
  });
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
31
41
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
32
42
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
33
43
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -21,13 +21,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
21
21
  }) : function(o, v) {
22
22
  o["default"] = v;
23
23
  });
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
31
41
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
32
42
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
33
43
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -21,13 +21,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
21
21
  }) : function(o, v) {
22
22
  o["default"] = v;
23
23
  });
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
31
41
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
32
42
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
33
43
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -21,13 +21,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
21
21
  }) : function(o, v) {
22
22
  o["default"] = v;
23
23
  });
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
31
41
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
32
42
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
33
43
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -21,13 +21,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
21
21
  }) : function(o, v) {
22
22
  o["default"] = v;
23
23
  });
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
31
41
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
32
42
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
33
43
  return new (P || (P = Promise))(function (resolve, reject) {