diff --git a/build.gradle b/build.gradle index fbce01d..af35786 100644 --- a/build.gradle +++ b/build.gradle @@ -39,9 +39,9 @@ ext { jsoniter = '2.11.+' - sava = '1.0.13' - sava_solana_programs = '1.0.9' - sava_anchor_src_gen = '1.0.14' + sava = '1.2.3' + sava_solana_programs = '1.0.10' + sava_anchor_src_gen = '1.1.3' } subprojects { diff --git a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/DriftProgram.java b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/DriftProgram.java index 90d5298..0cae142 100644 --- a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/DriftProgram.java +++ b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/DriftProgram.java @@ -25,6 +25,7 @@ import software.sava.core.accounts.PublicKey; import software.sava.core.accounts.meta.AccountMeta; import software.sava.core.borsh.Borsh; +import software.sava.core.programs.Discriminator; import software.sava.core.tx.Instruction; import static software.sava.anchor.AnchorUtil.writeDiscriminator; @@ -34,11 +35,11 @@ import static software.sava.core.encoding.ByteUtil.putInt16LE; import static software.sava.core.encoding.ByteUtil.putInt32LE; import static software.sava.core.encoding.ByteUtil.putInt64LE; -import static software.sava.core.programs.ProgramUtil.toDiscriminator; +import static software.sava.core.programs.Discriminator.toDiscriminator; public final class DriftProgram { - public static final byte[] INITIALIZE_USER_DISCRIMINATOR = toDiscriminator(111, 17, 185, 250, 60, 122, 38, 254); + public static final Discriminator INITIALIZE_USER_DISCRIMINATOR = toDiscriminator(111, 17, 185, 250, 60, 122, 38, 254); public static Instruction initializeUser(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -69,7 +70,7 @@ public static Instruction initializeUser(final AccountMeta invokedDriftProgramMe return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] INITIALIZE_USER_STATS_DISCRIMINATOR = toDiscriminator(254, 243, 72, 98, 251, 130, 168, 213); + public static final Discriminator INITIALIZE_USER_STATS_DISCRIMINATOR = toDiscriminator(254, 243, 72, 98, 251, 130, 168, 213); public static Instruction initializeUserStats(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -90,7 +91,7 @@ public static Instruction initializeUserStats(final AccountMeta invokedDriftProg return Instruction.createInstruction(invokedDriftProgramMeta, keys, INITIALIZE_USER_STATS_DISCRIMINATOR); } - public static final byte[] INITIALIZE_REFERRER_NAME_DISCRIMINATOR = toDiscriminator(235, 126, 231, 10, 42, 164, 26, 61); + public static final Discriminator INITIALIZE_REFERRER_NAME_DISCRIMINATOR = toDiscriminator(235, 126, 231, 10, 42, 164, 26, 61); public static Instruction initializeReferrerName(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -118,7 +119,7 @@ public static Instruction initializeReferrerName(final AccountMeta invokedDriftP return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] DEPOSIT_DISCRIMINATOR = toDiscriminator(242, 35, 198, 137, 82, 225, 242, 182); + public static final Discriminator DEPOSIT_DISCRIMINATOR = toDiscriminator(242, 35, 198, 137, 82, 225, 242, 182); public static Instruction deposit(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -152,7 +153,7 @@ public static Instruction deposit(final AccountMeta invokedDriftProgramMeta, return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] WITHDRAW_DISCRIMINATOR = toDiscriminator(183, 18, 70, 156, 148, 109, 161, 34); + public static final Discriminator WITHDRAW_DISCRIMINATOR = toDiscriminator(183, 18, 70, 156, 148, 109, 161, 34); public static Instruction withdraw(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -188,7 +189,7 @@ public static Instruction withdraw(final AccountMeta invokedDriftProgramMeta, return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] TRANSFER_DEPOSIT_DISCRIMINATOR = toDiscriminator(20, 20, 147, 223, 41, 63, 204, 111); + public static final Discriminator TRANSFER_DEPOSIT_DISCRIMINATOR = toDiscriminator(20, 20, 147, 223, 41, 63, 204, 111); public static Instruction transferDeposit(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -217,7 +218,7 @@ public static Instruction transferDeposit(final AccountMeta invokedDriftProgramM return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] PLACE_PERP_ORDER_DISCRIMINATOR = toDiscriminator(69, 161, 93, 202, 120, 126, 76, 185); + public static final Discriminator PLACE_PERP_ORDER_DISCRIMINATOR = toDiscriminator(69, 161, 93, 202, 120, 126, 76, 185); public static Instruction placePerpOrder(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -237,7 +238,7 @@ public static Instruction placePerpOrder(final AccountMeta invokedDriftProgramMe return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] CANCEL_ORDER_DISCRIMINATOR = toDiscriminator(95, 129, 237, 240, 8, 49, 223, 132); + public static final Discriminator CANCEL_ORDER_DISCRIMINATOR = toDiscriminator(95, 129, 237, 240, 8, 49, 223, 132); public static Instruction cancelOrder(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -257,7 +258,7 @@ public static Instruction cancelOrder(final AccountMeta invokedDriftProgramMeta, return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] CANCEL_ORDER_BY_USER_ID_DISCRIMINATOR = toDiscriminator(107, 211, 250, 133, 18, 37, 57, 100); + public static final Discriminator CANCEL_ORDER_BY_USER_ID_DISCRIMINATOR = toDiscriminator(107, 211, 250, 133, 18, 37, 57, 100); public static Instruction cancelOrderByUserId(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -277,7 +278,7 @@ public static Instruction cancelOrderByUserId(final AccountMeta invokedDriftProg return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] CANCEL_ORDERS_DISCRIMINATOR = toDiscriminator(238, 225, 95, 158, 227, 103, 8, 194); + public static final Discriminator CANCEL_ORDERS_DISCRIMINATOR = toDiscriminator(238, 225, 95, 158, 227, 103, 8, 194); public static Instruction cancelOrders(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -301,7 +302,7 @@ public static Instruction cancelOrders(final AccountMeta invokedDriftProgramMeta return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] CANCEL_ORDERS_BY_IDS_DISCRIMINATOR = toDiscriminator(134, 19, 144, 165, 94, 240, 210, 94); + public static final Discriminator CANCEL_ORDERS_BY_IDS_DISCRIMINATOR = toDiscriminator(134, 19, 144, 165, 94, 240, 210, 94); public static Instruction cancelOrdersByIds(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -321,7 +322,7 @@ public static Instruction cancelOrdersByIds(final AccountMeta invokedDriftProgra return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] MODIFY_ORDER_DISCRIMINATOR = toDiscriminator(47, 124, 117, 255, 201, 197, 130, 94); + public static final Discriminator MODIFY_ORDER_DISCRIMINATOR = toDiscriminator(47, 124, 117, 255, 201, 197, 130, 94); public static Instruction modifyOrder(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -343,7 +344,7 @@ public static Instruction modifyOrder(final AccountMeta invokedDriftProgramMeta, return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] MODIFY_ORDER_BY_USER_ID_DISCRIMINATOR = toDiscriminator(158, 77, 4, 253, 252, 194, 161, 179); + public static final Discriminator MODIFY_ORDER_BY_USER_ID_DISCRIMINATOR = toDiscriminator(158, 77, 4, 253, 252, 194, 161, 179); public static Instruction modifyOrderByUserId(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -366,7 +367,7 @@ public static Instruction modifyOrderByUserId(final AccountMeta invokedDriftProg return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] PLACE_AND_TAKE_PERP_ORDER_DISCRIMINATOR = toDiscriminator(213, 51, 1, 187, 108, 220, 230, 224); + public static final Discriminator PLACE_AND_TAKE_PERP_ORDER_DISCRIMINATOR = toDiscriminator(213, 51, 1, 187, 108, 220, 230, 224); public static Instruction placeAndTakePerpOrder(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -390,7 +391,7 @@ public static Instruction placeAndTakePerpOrder(final AccountMeta invokedDriftPr return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] PLACE_AND_MAKE_PERP_ORDER_DISCRIMINATOR = toDiscriminator(149, 117, 11, 237, 47, 95, 89, 237); + public static final Discriminator PLACE_AND_MAKE_PERP_ORDER_DISCRIMINATOR = toDiscriminator(149, 117, 11, 237, 47, 95, 89, 237); public static Instruction placeAndMakePerpOrder(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -418,7 +419,7 @@ public static Instruction placeAndMakePerpOrder(final AccountMeta invokedDriftPr return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] PLACE_SPOT_ORDER_DISCRIMINATOR = toDiscriminator(45, 79, 81, 160, 248, 90, 91, 220); + public static final Discriminator PLACE_SPOT_ORDER_DISCRIMINATOR = toDiscriminator(45, 79, 81, 160, 248, 90, 91, 220); public static Instruction placeSpotOrder(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -438,7 +439,7 @@ public static Instruction placeSpotOrder(final AccountMeta invokedDriftProgramMe return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] PLACE_AND_TAKE_SPOT_ORDER_DISCRIMINATOR = toDiscriminator(191, 3, 138, 71, 114, 198, 202, 100); + public static final Discriminator PLACE_AND_TAKE_SPOT_ORDER_DISCRIMINATOR = toDiscriminator(191, 3, 138, 71, 114, 198, 202, 100); public static Instruction placeAndTakeSpotOrder(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -464,7 +465,7 @@ public static Instruction placeAndTakeSpotOrder(final AccountMeta invokedDriftPr return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] PLACE_AND_MAKE_SPOT_ORDER_DISCRIMINATOR = toDiscriminator(149, 158, 85, 66, 239, 9, 243, 98); + public static final Discriminator PLACE_AND_MAKE_SPOT_ORDER_DISCRIMINATOR = toDiscriminator(149, 158, 85, 66, 239, 9, 243, 98); public static Instruction placeAndMakeSpotOrder(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -495,7 +496,7 @@ public static Instruction placeAndMakeSpotOrder(final AccountMeta invokedDriftPr return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] PLACE_ORDERS_DISCRIMINATOR = toDiscriminator(60, 63, 50, 123, 12, 197, 60, 190); + public static final Discriminator PLACE_ORDERS_DISCRIMINATOR = toDiscriminator(60, 63, 50, 123, 12, 197, 60, 190); public static Instruction placeOrders(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -515,7 +516,7 @@ public static Instruction placeOrders(final AccountMeta invokedDriftProgramMeta, return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] BEGIN_SWAP_DISCRIMINATOR = toDiscriminator(174, 109, 228, 1, 242, 105, 232, 105); + public static final Discriminator BEGIN_SWAP_DISCRIMINATOR = toDiscriminator(174, 109, 228, 1, 242, 105, 232, 105); public static Instruction beginSwap(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -558,7 +559,7 @@ public static Instruction beginSwap(final AccountMeta invokedDriftProgramMeta, return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] END_SWAP_DISCRIMINATOR = toDiscriminator(177, 184, 27, 193, 34, 13, 210, 145); + public static final Discriminator END_SWAP_DISCRIMINATOR = toDiscriminator(177, 184, 27, 193, 34, 13, 210, 145); public static Instruction endSwap(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -603,7 +604,7 @@ public static Instruction endSwap(final AccountMeta invokedDriftProgramMeta, return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] ADD_PERP_LP_SHARES_DISCRIMINATOR = toDiscriminator(56, 209, 56, 197, 119, 254, 188, 117); + public static final Discriminator ADD_PERP_LP_SHARES_DISCRIMINATOR = toDiscriminator(56, 209, 56, 197, 119, 254, 188, 117); public static Instruction addPerpLpShares(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -626,7 +627,7 @@ public static Instruction addPerpLpShares(final AccountMeta invokedDriftProgramM return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] REMOVE_PERP_LP_SHARES_DISCRIMINATOR = toDiscriminator(213, 89, 217, 18, 160, 55, 53, 141); + public static final Discriminator REMOVE_PERP_LP_SHARES_DISCRIMINATOR = toDiscriminator(213, 89, 217, 18, 160, 55, 53, 141); public static Instruction removePerpLpShares(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -649,7 +650,7 @@ public static Instruction removePerpLpShares(final AccountMeta invokedDriftProgr return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] REMOVE_PERP_LP_SHARES_IN_EXPIRING_MARKET_DISCRIMINATOR = toDiscriminator(83, 254, 253, 137, 59, 122, 68, 156); + public static final Discriminator REMOVE_PERP_LP_SHARES_IN_EXPIRING_MARKET_DISCRIMINATOR = toDiscriminator(83, 254, 253, 137, 59, 122, 68, 156); public static Instruction removePerpLpSharesInExpiringMarket(final AccountMeta invokedDriftProgramMeta, final PublicKey stateKey, @@ -670,7 +671,7 @@ public static Instruction removePerpLpSharesInExpiringMarket(final AccountMeta i return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_USER_NAME_DISCRIMINATOR = toDiscriminator(135, 25, 185, 56, 165, 53, 34, 136); + public static final Discriminator UPDATE_USER_NAME_DISCRIMINATOR = toDiscriminator(135, 25, 185, 56, 165, 53, 34, 136); public static Instruction updateUserName(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -691,7 +692,7 @@ public static Instruction updateUserName(final AccountMeta invokedDriftProgramMe return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_USER_CUSTOM_MARGIN_RATIO_DISCRIMINATOR = toDiscriminator(21, 221, 140, 187, 32, 129, 11, 123); + public static final Discriminator UPDATE_USER_CUSTOM_MARGIN_RATIO_DISCRIMINATOR = toDiscriminator(21, 221, 140, 187, 32, 129, 11, 123); public static Instruction updateUserCustomMarginRatio(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -712,7 +713,7 @@ public static Instruction updateUserCustomMarginRatio(final AccountMeta invokedD return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_USER_MARGIN_TRADING_ENABLED_DISCRIMINATOR = toDiscriminator(194, 92, 204, 223, 246, 188, 31, 203); + public static final Discriminator UPDATE_USER_MARGIN_TRADING_ENABLED_DISCRIMINATOR = toDiscriminator(194, 92, 204, 223, 246, 188, 31, 203); public static Instruction updateUserMarginTradingEnabled(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -733,7 +734,7 @@ public static Instruction updateUserMarginTradingEnabled(final AccountMeta invok return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_USER_DELEGATE_DISCRIMINATOR = toDiscriminator(139, 205, 141, 141, 113, 36, 94, 187); + public static final Discriminator UPDATE_USER_DELEGATE_DISCRIMINATOR = toDiscriminator(139, 205, 141, 141, 113, 36, 94, 187); public static Instruction updateUserDelegate(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -754,7 +755,7 @@ public static Instruction updateUserDelegate(final AccountMeta invokedDriftProgr return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_USER_REDUCE_ONLY_DISCRIMINATOR = toDiscriminator(199, 71, 42, 67, 144, 19, 86, 109); + public static final Discriminator UPDATE_USER_REDUCE_ONLY_DISCRIMINATOR = toDiscriminator(199, 71, 42, 67, 144, 19, 86, 109); public static Instruction updateUserReduceOnly(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -775,7 +776,7 @@ public static Instruction updateUserReduceOnly(final AccountMeta invokedDriftPro return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_USER_ADVANCED_LP_DISCRIMINATOR = toDiscriminator(66, 80, 107, 186, 27, 242, 66, 95); + public static final Discriminator UPDATE_USER_ADVANCED_LP_DISCRIMINATOR = toDiscriminator(66, 80, 107, 186, 27, 242, 66, 95); public static Instruction updateUserAdvancedLp(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -796,7 +797,7 @@ public static Instruction updateUserAdvancedLp(final AccountMeta invokedDriftPro return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] DELETE_USER_DISCRIMINATOR = toDiscriminator(186, 85, 17, 249, 219, 231, 98, 251); + public static final Discriminator DELETE_USER_DISCRIMINATOR = toDiscriminator(186, 85, 17, 249, 219, 231, 98, 251); public static Instruction deleteUser(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -813,7 +814,7 @@ public static Instruction deleteUser(final AccountMeta invokedDriftProgramMeta, return Instruction.createInstruction(invokedDriftProgramMeta, keys, DELETE_USER_DISCRIMINATOR); } - public static final byte[] RECLAIM_RENT_DISCRIMINATOR = toDiscriminator(218, 200, 19, 197, 227, 89, 192, 22); + public static final Discriminator RECLAIM_RENT_DISCRIMINATOR = toDiscriminator(218, 200, 19, 197, 227, 89, 192, 22); public static Instruction reclaimRent(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -832,7 +833,7 @@ public static Instruction reclaimRent(final AccountMeta invokedDriftProgramMeta, return Instruction.createInstruction(invokedDriftProgramMeta, keys, RECLAIM_RENT_DISCRIMINATOR); } - public static final byte[] FILL_PERP_ORDER_DISCRIMINATOR = toDiscriminator(13, 188, 248, 103, 134, 217, 106, 240); + public static final Discriminator FILL_PERP_ORDER_DISCRIMINATOR = toDiscriminator(13, 188, 248, 103, 134, 217, 106, 240); public static Instruction fillPerpOrder(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -860,7 +861,7 @@ public static Instruction fillPerpOrder(final AccountMeta invokedDriftProgramMet return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] REVERT_FILL_DISCRIMINATOR = toDiscriminator(236, 238, 176, 69, 239, 10, 181, 193); + public static final Discriminator REVERT_FILL_DISCRIMINATOR = toDiscriminator(236, 238, 176, 69, 239, 10, 181, 193); public static Instruction revertFill(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -877,7 +878,7 @@ public static Instruction revertFill(final AccountMeta invokedDriftProgramMeta, return Instruction.createInstruction(invokedDriftProgramMeta, keys, REVERT_FILL_DISCRIMINATOR); } - public static final byte[] FILL_SPOT_ORDER_DISCRIMINATOR = toDiscriminator(212, 206, 130, 173, 21, 34, 199, 40); + public static final Discriminator FILL_SPOT_ORDER_DISCRIMINATOR = toDiscriminator(212, 206, 130, 173, 21, 34, 199, 40); public static Instruction fillSpotOrder(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -907,7 +908,7 @@ public static Instruction fillSpotOrder(final AccountMeta invokedDriftProgramMet return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] TRIGGER_ORDER_DISCRIMINATOR = toDiscriminator(63, 112, 51, 233, 232, 47, 240, 199); + public static final Discriminator TRIGGER_ORDER_DISCRIMINATOR = toDiscriminator(63, 112, 51, 233, 232, 47, 240, 199); public static Instruction triggerOrder(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -929,7 +930,7 @@ public static Instruction triggerOrder(final AccountMeta invokedDriftProgramMeta return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] FORCE_CANCEL_ORDERS_DISCRIMINATOR = toDiscriminator(64, 181, 196, 63, 222, 72, 64, 232); + public static final Discriminator FORCE_CANCEL_ORDERS_DISCRIMINATOR = toDiscriminator(64, 181, 196, 63, 222, 72, 64, 232); public static Instruction forceCancelOrders(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -946,7 +947,7 @@ public static Instruction forceCancelOrders(final AccountMeta invokedDriftProgra return Instruction.createInstruction(invokedDriftProgramMeta, keys, FORCE_CANCEL_ORDERS_DISCRIMINATOR); } - public static final byte[] UPDATE_USER_IDLE_DISCRIMINATOR = toDiscriminator(253, 133, 67, 22, 103, 161, 20, 100); + public static final Discriminator UPDATE_USER_IDLE_DISCRIMINATOR = toDiscriminator(253, 133, 67, 22, 103, 161, 20, 100); public static Instruction updateUserIdle(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -963,7 +964,7 @@ public static Instruction updateUserIdle(final AccountMeta invokedDriftProgramMe return Instruction.createInstruction(invokedDriftProgramMeta, keys, UPDATE_USER_IDLE_DISCRIMINATOR); } - public static final byte[] UPDATE_USER_OPEN_ORDERS_COUNT_DISCRIMINATOR = toDiscriminator(104, 39, 65, 210, 250, 163, 100, 134); + public static final Discriminator UPDATE_USER_OPEN_ORDERS_COUNT_DISCRIMINATOR = toDiscriminator(104, 39, 65, 210, 250, 163, 100, 134); public static Instruction updateUserOpenOrdersCount(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -980,7 +981,7 @@ public static Instruction updateUserOpenOrdersCount(final AccountMeta invokedDri return Instruction.createInstruction(invokedDriftProgramMeta, keys, UPDATE_USER_OPEN_ORDERS_COUNT_DISCRIMINATOR); } - public static final byte[] ADMIN_DISABLE_UPDATE_PERP_BID_ASK_TWAP_DISCRIMINATOR = toDiscriminator(17, 164, 82, 45, 183, 86, 191, 199); + public static final Discriminator ADMIN_DISABLE_UPDATE_PERP_BID_ASK_TWAP_DISCRIMINATOR = toDiscriminator(17, 164, 82, 45, 183, 86, 191, 199); public static Instruction adminDisableUpdatePerpBidAskTwap(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -1000,7 +1001,7 @@ public static Instruction adminDisableUpdatePerpBidAskTwap(final AccountMeta inv return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] SETTLE_PNL_DISCRIMINATOR = toDiscriminator(43, 61, 234, 45, 15, 95, 152, 153); + public static final Discriminator SETTLE_PNL_DISCRIMINATOR = toDiscriminator(43, 61, 234, 45, 15, 95, 152, 153); public static Instruction settlePnl(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -1022,7 +1023,7 @@ public static Instruction settlePnl(final AccountMeta invokedDriftProgramMeta, return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] SETTLE_MULTIPLE_PNLS_DISCRIMINATOR = toDiscriminator(127, 66, 117, 57, 40, 50, 152, 127); + public static final Discriminator SETTLE_MULTIPLE_PNLS_DISCRIMINATOR = toDiscriminator(127, 66, 117, 57, 40, 50, 152, 127); public static Instruction settleMultiplePnls(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -1046,7 +1047,7 @@ public static Instruction settleMultiplePnls(final AccountMeta invokedDriftProgr return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] SETTLE_FUNDING_PAYMENT_DISCRIMINATOR = toDiscriminator(222, 90, 202, 94, 28, 45, 115, 183); + public static final Discriminator SETTLE_FUNDING_PAYMENT_DISCRIMINATOR = toDiscriminator(222, 90, 202, 94, 28, 45, 115, 183); public static Instruction settleFundingPayment(final AccountMeta invokedDriftProgramMeta, final PublicKey stateKey, final PublicKey userKey) { final var keys = List.of( @@ -1057,7 +1058,7 @@ public static Instruction settleFundingPayment(final AccountMeta invokedDriftPro return Instruction.createInstruction(invokedDriftProgramMeta, keys, SETTLE_FUNDING_PAYMENT_DISCRIMINATOR); } - public static final byte[] SETTLE_LP_DISCRIMINATOR = toDiscriminator(155, 231, 116, 113, 97, 229, 139, 141); + public static final Discriminator SETTLE_LP_DISCRIMINATOR = toDiscriminator(155, 231, 116, 113, 97, 229, 139, 141); public static Instruction settleLp(final AccountMeta invokedDriftProgramMeta, final PublicKey stateKey, @@ -1075,7 +1076,7 @@ public static Instruction settleLp(final AccountMeta invokedDriftProgramMeta, return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] SETTLE_EXPIRED_MARKET_DISCRIMINATOR = toDiscriminator(120, 89, 11, 25, 122, 77, 72, 193); + public static final Discriminator SETTLE_EXPIRED_MARKET_DISCRIMINATOR = toDiscriminator(120, 89, 11, 25, 122, 77, 72, 193); public static Instruction settleExpiredMarket(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -1093,7 +1094,7 @@ public static Instruction settleExpiredMarket(final AccountMeta invokedDriftProg return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] LIQUIDATE_PERP_DISCRIMINATOR = toDiscriminator(75, 35, 119, 247, 191, 18, 139, 2); + public static final Discriminator LIQUIDATE_PERP_DISCRIMINATOR = toDiscriminator(75, 35, 119, 247, 191, 18, 139, 2); public static Instruction liquidatePerp(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -1125,7 +1126,7 @@ public static Instruction liquidatePerp(final AccountMeta invokedDriftProgramMet return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] LIQUIDATE_SPOT_DISCRIMINATOR = toDiscriminator(107, 0, 128, 41, 35, 229, 251, 18); + public static final Discriminator LIQUIDATE_SPOT_DISCRIMINATOR = toDiscriminator(107, 0, 128, 41, 35, 229, 251, 18); public static Instruction liquidateSpot(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -1160,7 +1161,7 @@ public static Instruction liquidateSpot(final AccountMeta invokedDriftProgramMet return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] LIQUIDATE_BORROW_FOR_PERP_PNL_DISCRIMINATOR = toDiscriminator(169, 17, 32, 90, 207, 148, 209, 27); + public static final Discriminator LIQUIDATE_BORROW_FOR_PERP_PNL_DISCRIMINATOR = toDiscriminator(169, 17, 32, 90, 207, 148, 209, 27); public static Instruction liquidateBorrowForPerpPnl(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -1195,7 +1196,7 @@ public static Instruction liquidateBorrowForPerpPnl(final AccountMeta invokedDri return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] LIQUIDATE_PERP_PNL_FOR_DEPOSIT_DISCRIMINATOR = toDiscriminator(237, 75, 198, 235, 233, 186, 75, 35); + public static final Discriminator LIQUIDATE_PERP_PNL_FOR_DEPOSIT_DISCRIMINATOR = toDiscriminator(237, 75, 198, 235, 233, 186, 75, 35); public static Instruction liquidatePerpPnlForDeposit(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -1230,7 +1231,7 @@ public static Instruction liquidatePerpPnlForDeposit(final AccountMeta invokedDr return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] RESOLVE_PERP_PNL_DEFICIT_DISCRIMINATOR = toDiscriminator(168, 204, 68, 150, 159, 126, 95, 148); + public static final Discriminator RESOLVE_PERP_PNL_DEFICIT_DISCRIMINATOR = toDiscriminator(168, 204, 68, 150, 159, 126, 95, 148); public static Instruction resolvePerpPnlDeficit(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -1259,7 +1260,7 @@ public static Instruction resolvePerpPnlDeficit(final AccountMeta invokedDriftPr return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] RESOLVE_PERP_BANKRUPTCY_DISCRIMINATOR = toDiscriminator(224, 16, 176, 214, 162, 213, 183, 222); + public static final Discriminator RESOLVE_PERP_BANKRUPTCY_DISCRIMINATOR = toDiscriminator(224, 16, 176, 214, 162, 213, 183, 222); public static Instruction resolvePerpBankruptcy(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -1296,7 +1297,7 @@ public static Instruction resolvePerpBankruptcy(final AccountMeta invokedDriftPr return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] RESOLVE_SPOT_BANKRUPTCY_DISCRIMINATOR = toDiscriminator(124, 194, 240, 254, 198, 213, 52, 122); + public static final Discriminator RESOLVE_SPOT_BANKRUPTCY_DISCRIMINATOR = toDiscriminator(124, 194, 240, 254, 198, 213, 52, 122); public static Instruction resolveSpotBankruptcy(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -1330,7 +1331,7 @@ public static Instruction resolveSpotBankruptcy(final AccountMeta invokedDriftPr return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] SETTLE_REVENUE_TO_INSURANCE_FUND_DISCRIMINATOR = toDiscriminator(200, 120, 93, 136, 69, 38, 199, 159); + public static final Discriminator SETTLE_REVENUE_TO_INSURANCE_FUND_DISCRIMINATOR = toDiscriminator(200, 120, 93, 136, 69, 38, 199, 159); public static Instruction settleRevenueToInsuranceFund(final AccountMeta invokedDriftProgramMeta, final PublicKey stateKey, @@ -1356,7 +1357,7 @@ public static Instruction settleRevenueToInsuranceFund(final AccountMeta invoked return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_FUNDING_RATE_DISCRIMINATOR = toDiscriminator(201, 178, 116, 212, 166, 144, 72, 238); + public static final Discriminator UPDATE_FUNDING_RATE_DISCRIMINATOR = toDiscriminator(201, 178, 116, 212, 166, 144, 72, 238); public static Instruction updateFundingRate(final AccountMeta invokedDriftProgramMeta, final PublicKey stateKey, @@ -1376,7 +1377,7 @@ public static Instruction updateFundingRate(final AccountMeta invokedDriftProgra return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PRELAUNCH_ORACLE_DISCRIMINATOR = toDiscriminator(220, 132, 27, 27, 233, 220, 61, 219); + public static final Discriminator UPDATE_PRELAUNCH_ORACLE_DISCRIMINATOR = toDiscriminator(220, 132, 27, 27, 233, 220, 61, 219); public static Instruction updatePrelaunchOracle(final AccountMeta invokedDriftProgramMeta, final PublicKey stateKey, @@ -1391,7 +1392,7 @@ public static Instruction updatePrelaunchOracle(final AccountMeta invokedDriftPr return Instruction.createInstruction(invokedDriftProgramMeta, keys, UPDATE_PRELAUNCH_ORACLE_DISCRIMINATOR); } - public static final byte[] UPDATE_PERP_BID_ASK_TWAP_DISCRIMINATOR = toDiscriminator(247, 23, 255, 65, 212, 90, 221, 194); + public static final Discriminator UPDATE_PERP_BID_ASK_TWAP_DISCRIMINATOR = toDiscriminator(247, 23, 255, 65, 212, 90, 221, 194); public static Instruction updatePerpBidAskTwap(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -1410,7 +1411,7 @@ public static Instruction updatePerpBidAskTwap(final AccountMeta invokedDriftPro return Instruction.createInstruction(invokedDriftProgramMeta, keys, UPDATE_PERP_BID_ASK_TWAP_DISCRIMINATOR); } - public static final byte[] UPDATE_SPOT_MARKET_CUMULATIVE_INTEREST_DISCRIMINATOR = toDiscriminator(39, 166, 139, 243, 158, 165, 155, 225); + public static final Discriminator UPDATE_SPOT_MARKET_CUMULATIVE_INTEREST_DISCRIMINATOR = toDiscriminator(39, 166, 139, 243, 158, 165, 155, 225); public static Instruction updateSpotMarketCumulativeInterest(final AccountMeta invokedDriftProgramMeta, final PublicKey stateKey, @@ -1427,7 +1428,7 @@ public static Instruction updateSpotMarketCumulativeInterest(final AccountMeta i return Instruction.createInstruction(invokedDriftProgramMeta, keys, UPDATE_SPOT_MARKET_CUMULATIVE_INTEREST_DISCRIMINATOR); } - public static final byte[] UPDATE_AMMS_DISCRIMINATOR = toDiscriminator(201, 106, 217, 253, 4, 175, 228, 97); + public static final Discriminator UPDATE_AMMS_DISCRIMINATOR = toDiscriminator(201, 106, 217, 253, 4, 175, 228, 97); public static Instruction updateAmms(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -1445,7 +1446,7 @@ public static Instruction updateAmms(final AccountMeta invokedDriftProgramMeta, return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_MARKET_EXPIRY_DISCRIMINATOR = toDiscriminator(208, 11, 211, 159, 226, 24, 11, 247); + public static final Discriminator UPDATE_SPOT_MARKET_EXPIRY_DISCRIMINATOR = toDiscriminator(208, 11, 211, 159, 226, 24, 11, 247); public static Instruction updateSpotMarketExpiry(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -1465,7 +1466,7 @@ public static Instruction updateSpotMarketExpiry(final AccountMeta invokedDriftP return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_USER_QUOTE_ASSET_INSURANCE_STAKE_DISCRIMINATOR = toDiscriminator(251, 101, 156, 7, 2, 63, 30, 23); + public static final Discriminator UPDATE_USER_QUOTE_ASSET_INSURANCE_STAKE_DISCRIMINATOR = toDiscriminator(251, 101, 156, 7, 2, 63, 30, 23); public static Instruction updateUserQuoteAssetInsuranceStake(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -1486,7 +1487,7 @@ public static Instruction updateUserQuoteAssetInsuranceStake(final AccountMeta i return Instruction.createInstruction(invokedDriftProgramMeta, keys, UPDATE_USER_QUOTE_ASSET_INSURANCE_STAKE_DISCRIMINATOR); } - public static final byte[] INITIALIZE_INSURANCE_FUND_STAKE_DISCRIMINATOR = toDiscriminator(187, 179, 243, 70, 248, 90, 92, 147); + public static final Discriminator INITIALIZE_INSURANCE_FUND_STAKE_DISCRIMINATOR = toDiscriminator(187, 179, 243, 70, 248, 90, 92, 147); public static Instruction initializeInsuranceFundStake(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -1516,7 +1517,7 @@ public static Instruction initializeInsuranceFundStake(final AccountMeta invoked return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] ADD_INSURANCE_FUND_STAKE_DISCRIMINATOR = toDiscriminator(251, 144, 115, 11, 222, 47, 62, 236); + public static final Discriminator ADD_INSURANCE_FUND_STAKE_DISCRIMINATOR = toDiscriminator(251, 144, 115, 11, 222, 47, 62, 236); public static Instruction addInsuranceFundStake(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -1553,7 +1554,7 @@ public static Instruction addInsuranceFundStake(final AccountMeta invokedDriftPr return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] REQUEST_REMOVE_INSURANCE_FUND_STAKE_DISCRIMINATOR = toDiscriminator(142, 70, 204, 92, 73, 106, 180, 52); + public static final Discriminator REQUEST_REMOVE_INSURANCE_FUND_STAKE_DISCRIMINATOR = toDiscriminator(142, 70, 204, 92, 73, 106, 180, 52); public static Instruction requestRemoveInsuranceFundStake(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -1580,7 +1581,7 @@ public static Instruction requestRemoveInsuranceFundStake(final AccountMeta invo return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] CANCEL_REQUEST_REMOVE_INSURANCE_FUND_STAKE_DISCRIMINATOR = toDiscriminator(97, 235, 78, 62, 212, 42, 241, 127); + public static final Discriminator CANCEL_REQUEST_REMOVE_INSURANCE_FUND_STAKE_DISCRIMINATOR = toDiscriminator(97, 235, 78, 62, 212, 42, 241, 127); public static Instruction cancelRequestRemoveInsuranceFundStake(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -1604,7 +1605,7 @@ public static Instruction cancelRequestRemoveInsuranceFundStake(final AccountMet return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] REMOVE_INSURANCE_FUND_STAKE_DISCRIMINATOR = toDiscriminator(128, 166, 142, 9, 254, 187, 143, 174); + public static final Discriminator REMOVE_INSURANCE_FUND_STAKE_DISCRIMINATOR = toDiscriminator(128, 166, 142, 9, 254, 187, 143, 174); public static Instruction removeInsuranceFundStake(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -1636,7 +1637,7 @@ public static Instruction removeInsuranceFundStake(final AccountMeta invokedDrif return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] TRANSFER_PROTOCOL_IF_SHARES_DISCRIMINATOR = toDiscriminator(94, 93, 226, 240, 195, 201, 184, 109); + public static final Discriminator TRANSFER_PROTOCOL_IF_SHARES_DISCRIMINATOR = toDiscriminator(94, 93, 226, 240, 195, 201, 184, 109); public static Instruction transferProtocolIfShares(final AccountMeta invokedDriftProgramMeta, final AccountMeta signerKey, @@ -1669,7 +1670,7 @@ public static Instruction transferProtocolIfShares(final AccountMeta invokedDrif return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PYTH_PULL_ORACLE_DISCRIMINATOR = toDiscriminator(230, 191, 189, 94, 108, 59, 74, 197); + public static final Discriminator UPDATE_PYTH_PULL_ORACLE_DISCRIMINATOR = toDiscriminator(230, 191, 189, 94, 108, 59, 74, 197); public static Instruction updatePythPullOracle(final AccountMeta invokedDriftProgramMeta, final AccountMeta keeperKey, @@ -1693,7 +1694,7 @@ public static Instruction updatePythPullOracle(final AccountMeta invokedDriftPro return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] POST_PYTH_PULL_ORACLE_UPDATE_ATOMIC_DISCRIMINATOR = toDiscriminator(116, 122, 137, 158, 224, 195, 173, 119); + public static final Discriminator POST_PYTH_PULL_ORACLE_UPDATE_ATOMIC_DISCRIMINATOR = toDiscriminator(116, 122, 137, 158, 224, 195, 173, 119); public static Instruction postPythPullOracleUpdateAtomic(final AccountMeta invokedDriftProgramMeta, final AccountMeta keeperKey, @@ -1717,7 +1718,7 @@ public static Instruction postPythPullOracleUpdateAtomic(final AccountMeta invok return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] INITIALIZE_DISCRIMINATOR = toDiscriminator(175, 175, 109, 31, 13, 152, 155, 237); + public static final Discriminator INITIALIZE_DISCRIMINATOR = toDiscriminator(175, 175, 109, 31, 13, 152, 155, 237); public static Instruction initialize(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -1740,7 +1741,7 @@ public static Instruction initialize(final AccountMeta invokedDriftProgramMeta, return Instruction.createInstruction(invokedDriftProgramMeta, keys, INITIALIZE_DISCRIMINATOR); } - public static final byte[] INITIALIZE_SPOT_MARKET_DISCRIMINATOR = toDiscriminator(234, 196, 128, 44, 94, 15, 48, 201); + public static final Discriminator INITIALIZE_SPOT_MARKET_DISCRIMINATOR = toDiscriminator(234, 196, 128, 44, 94, 15, 48, 201); public static Instruction initializeSpotMarket(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -1828,7 +1829,7 @@ public static Instruction initializeSpotMarket(final AccountMeta invokedDriftPro return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] DELETE_INITIALIZED_SPOT_MARKET_DISCRIMINATOR = toDiscriminator(31, 140, 67, 191, 189, 20, 101, 221); + public static final Discriminator DELETE_INITIALIZED_SPOT_MARKET_DISCRIMINATOR = toDiscriminator(31, 140, 67, 191, 189, 20, 101, 221); public static Instruction deleteInitializedSpotMarket(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -1856,7 +1857,7 @@ public static Instruction deleteInitializedSpotMarket(final AccountMeta invokedD return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] INITIALIZE_SERUM_FULFILLMENT_CONFIG_DISCRIMINATOR = toDiscriminator(193, 211, 132, 172, 70, 171, 7, 94); + public static final Discriminator INITIALIZE_SERUM_FULFILLMENT_CONFIG_DISCRIMINATOR = toDiscriminator(193, 211, 132, 172, 70, 171, 7, 94); public static Instruction initializeSerumFulfillmentConfig(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -1892,7 +1893,7 @@ public static Instruction initializeSerumFulfillmentConfig(final AccountMeta inv return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SERUM_FULFILLMENT_CONFIG_STATUS_DISCRIMINATOR = toDiscriminator(171, 109, 240, 251, 95, 1, 149, 89); + public static final Discriminator UPDATE_SERUM_FULFILLMENT_CONFIG_STATUS_DISCRIMINATOR = toDiscriminator(171, 109, 240, 251, 95, 1, 149, 89); public static Instruction updateSerumFulfillmentConfigStatus(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -1912,7 +1913,7 @@ public static Instruction updateSerumFulfillmentConfigStatus(final AccountMeta i return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] INITIALIZE_PHOENIX_FULFILLMENT_CONFIG_DISCRIMINATOR = toDiscriminator(135, 132, 110, 107, 185, 160, 169, 154); + public static final Discriminator INITIALIZE_PHOENIX_FULFILLMENT_CONFIG_DISCRIMINATOR = toDiscriminator(135, 132, 110, 107, 185, 160, 169, 154); public static Instruction initializePhoenixFulfillmentConfig(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -1946,7 +1947,7 @@ public static Instruction initializePhoenixFulfillmentConfig(final AccountMeta i return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] PHOENIX_FULFILLMENT_CONFIG_STATUS_DISCRIMINATOR = toDiscriminator(96, 31, 113, 32, 12, 203, 7, 154); + public static final Discriminator PHOENIX_FULFILLMENT_CONFIG_STATUS_DISCRIMINATOR = toDiscriminator(96, 31, 113, 32, 12, 203, 7, 154); public static Instruction phoenixFulfillmentConfigStatus(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -1966,7 +1967,7 @@ public static Instruction phoenixFulfillmentConfigStatus(final AccountMeta invok return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SERUM_VAULT_DISCRIMINATOR = toDiscriminator(219, 8, 246, 96, 169, 121, 91, 110); + public static final Discriminator UPDATE_SERUM_VAULT_DISCRIMINATOR = toDiscriminator(219, 8, 246, 96, 169, 121, 91, 110); public static Instruction updateSerumVault(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -1981,7 +1982,7 @@ public static Instruction updateSerumVault(final AccountMeta invokedDriftProgram return Instruction.createInstruction(invokedDriftProgramMeta, keys, UPDATE_SERUM_VAULT_DISCRIMINATOR); } - public static final byte[] INITIALIZE_PERP_MARKET_DISCRIMINATOR = toDiscriminator(132, 9, 229, 118, 117, 118, 117, 62); + public static final Discriminator INITIALIZE_PERP_MARKET_DISCRIMINATOR = toDiscriminator(132, 9, 229, 118, 117, 118, 117, 62); public static Instruction initializePerpMarket(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2077,7 +2078,7 @@ public static Instruction initializePerpMarket(final AccountMeta invokedDriftPro return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] DELETE_INITIALIZED_PERP_MARKET_DISCRIMINATOR = toDiscriminator(91, 154, 24, 87, 106, 59, 190, 66); + public static final Discriminator DELETE_INITIALIZED_PERP_MARKET_DISCRIMINATOR = toDiscriminator(91, 154, 24, 87, 106, 59, 190, 66); public static Instruction deleteInitializedPerpMarket(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2097,7 +2098,7 @@ public static Instruction deleteInitializedPerpMarket(final AccountMeta invokedD return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] MOVE_AMM_PRICE_DISCRIMINATOR = toDiscriminator(235, 109, 2, 82, 219, 118, 6, 159); + public static final Discriminator MOVE_AMM_PRICE_DISCRIMINATOR = toDiscriminator(235, 109, 2, 82, 219, 118, 6, 159); public static Instruction moveAmmPrice(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2123,7 +2124,7 @@ public static Instruction moveAmmPrice(final AccountMeta invokedDriftProgramMeta return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] RECENTER_PERP_MARKET_AMM_DISCRIMINATOR = toDiscriminator(24, 87, 10, 115, 165, 190, 80, 139); + public static final Discriminator RECENTER_PERP_MARKET_AMM_DISCRIMINATOR = toDiscriminator(24, 87, 10, 115, 165, 190, 80, 139); public static Instruction recenterPerpMarketAmm(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2146,7 +2147,7 @@ public static Instruction recenterPerpMarketAmm(final AccountMeta invokedDriftPr return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_AMM_SUMMARY_STATS_DISCRIMINATOR = toDiscriminator(122, 101, 249, 238, 209, 9, 241, 245); + public static final Discriminator UPDATE_PERP_MARKET_AMM_SUMMARY_STATS_DISCRIMINATOR = toDiscriminator(122, 101, 249, 238, 209, 9, 241, 245); public static Instruction updatePerpMarketAmmSummaryStats(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2170,7 +2171,7 @@ public static Instruction updatePerpMarketAmmSummaryStats(final AccountMeta invo return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_EXPIRY_DISCRIMINATOR = toDiscriminator(44, 221, 227, 151, 131, 140, 22, 110); + public static final Discriminator UPDATE_PERP_MARKET_EXPIRY_DISCRIMINATOR = toDiscriminator(44, 221, 227, 151, 131, 140, 22, 110); public static Instruction updatePerpMarketExpiry(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2190,7 +2191,7 @@ public static Instruction updatePerpMarketExpiry(final AccountMeta invokedDriftP return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] SETTLE_EXPIRED_MARKET_POOLS_TO_REVENUE_POOL_DISCRIMINATOR = toDiscriminator(55, 19, 238, 169, 227, 90, 200, 184); + public static final Discriminator SETTLE_EXPIRED_MARKET_POOLS_TO_REVENUE_POOL_DISCRIMINATOR = toDiscriminator(55, 19, 238, 169, 227, 90, 200, 184); public static Instruction settleExpiredMarketPoolsToRevenuePool(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2207,7 +2208,7 @@ public static Instruction settleExpiredMarketPoolsToRevenuePool(final AccountMet return Instruction.createInstruction(invokedDriftProgramMeta, keys, SETTLE_EXPIRED_MARKET_POOLS_TO_REVENUE_POOL_DISCRIMINATOR); } - public static final byte[] DEPOSIT_INTO_PERP_MARKET_FEE_POOL_DISCRIMINATOR = toDiscriminator(34, 58, 57, 68, 97, 80, 244, 6); + public static final Discriminator DEPOSIT_INTO_PERP_MARKET_FEE_POOL_DISCRIMINATOR = toDiscriminator(34, 58, 57, 68, 97, 80, 244, 6); public static Instruction depositIntoPerpMarketFeePool(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2237,7 +2238,7 @@ public static Instruction depositIntoPerpMarketFeePool(final AccountMeta invoked return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] DEPOSIT_INTO_SPOT_MARKET_REVENUE_POOL_DISCRIMINATOR = toDiscriminator(92, 40, 151, 42, 122, 254, 139, 246); + public static final Discriminator DEPOSIT_INTO_SPOT_MARKET_REVENUE_POOL_DISCRIMINATOR = toDiscriminator(92, 40, 151, 42, 122, 254, 139, 246); public static Instruction depositIntoSpotMarketRevenuePool(final AccountMeta invokedDriftProgramMeta, final AccountMeta authorityKey, @@ -2263,7 +2264,7 @@ public static Instruction depositIntoSpotMarketRevenuePool(final AccountMeta inv return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] REPEG_AMM_CURVE_DISCRIMINATOR = toDiscriminator(3, 36, 102, 89, 180, 128, 120, 213); + public static final Discriminator REPEG_AMM_CURVE_DISCRIMINATOR = toDiscriminator(3, 36, 102, 89, 180, 128, 120, 213); public static Instruction repegAmmCurve(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2285,7 +2286,7 @@ public static Instruction repegAmmCurve(final AccountMeta invokedDriftProgramMet return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_AMM_ORACLE_TWAP_DISCRIMINATOR = toDiscriminator(241, 74, 114, 123, 206, 153, 24, 202); + public static final Discriminator UPDATE_PERP_MARKET_AMM_ORACLE_TWAP_DISCRIMINATOR = toDiscriminator(241, 74, 114, 123, 206, 153, 24, 202); public static Instruction updatePerpMarketAmmOracleTwap(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2302,7 +2303,7 @@ public static Instruction updatePerpMarketAmmOracleTwap(final AccountMeta invoke return Instruction.createInstruction(invokedDriftProgramMeta, keys, UPDATE_PERP_MARKET_AMM_ORACLE_TWAP_DISCRIMINATOR); } - public static final byte[] RESET_PERP_MARKET_AMM_ORACLE_TWAP_DISCRIMINATOR = toDiscriminator(127, 10, 55, 164, 123, 226, 47, 24); + public static final Discriminator RESET_PERP_MARKET_AMM_ORACLE_TWAP_DISCRIMINATOR = toDiscriminator(127, 10, 55, 164, 123, 226, 47, 24); public static Instruction resetPerpMarketAmmOracleTwap(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2319,7 +2320,7 @@ public static Instruction resetPerpMarketAmmOracleTwap(final AccountMeta invoked return Instruction.createInstruction(invokedDriftProgramMeta, keys, RESET_PERP_MARKET_AMM_ORACLE_TWAP_DISCRIMINATOR); } - public static final byte[] UPDATE_K_DISCRIMINATOR = toDiscriminator(72, 98, 9, 139, 129, 229, 172, 56); + public static final Discriminator UPDATE_K_DISCRIMINATOR = toDiscriminator(72, 98, 9, 139, 129, 229, 172, 56); public static Instruction updateK(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2341,7 +2342,7 @@ public static Instruction updateK(final AccountMeta invokedDriftProgramMeta, return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_MARGIN_RATIO_DISCRIMINATOR = toDiscriminator(130, 173, 107, 45, 119, 105, 26, 113); + public static final Discriminator UPDATE_PERP_MARKET_MARGIN_RATIO_DISCRIMINATOR = toDiscriminator(130, 173, 107, 45, 119, 105, 26, 113); public static Instruction updatePerpMarketMarginRatio(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2364,7 +2365,7 @@ public static Instruction updatePerpMarketMarginRatio(final AccountMeta invokedD return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_FUNDING_PERIOD_DISCRIMINATOR = toDiscriminator(171, 161, 69, 91, 129, 139, 161, 28); + public static final Discriminator UPDATE_PERP_MARKET_FUNDING_PERIOD_DISCRIMINATOR = toDiscriminator(171, 161, 69, 91, 129, 139, 161, 28); public static Instruction updatePerpMarketFundingPeriod(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2384,7 +2385,7 @@ public static Instruction updatePerpMarketFundingPeriod(final AccountMeta invoke return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_MAX_IMBALANCES_DISCRIMINATOR = toDiscriminator(15, 206, 73, 133, 60, 8, 86, 89); + public static final Discriminator UPDATE_PERP_MARKET_MAX_IMBALANCES_DISCRIMINATOR = toDiscriminator(15, 206, 73, 133, 60, 8, 86, 89); public static Instruction updatePerpMarketMaxImbalances(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2410,7 +2411,7 @@ public static Instruction updatePerpMarketMaxImbalances(final AccountMeta invoke return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_LIQUIDATION_FEE_DISCRIMINATOR = toDiscriminator(90, 137, 9, 145, 41, 8, 148, 117); + public static final Discriminator UPDATE_PERP_MARKET_LIQUIDATION_FEE_DISCRIMINATOR = toDiscriminator(90, 137, 9, 145, 41, 8, 148, 117); public static Instruction updatePerpMarketLiquidationFee(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2433,7 +2434,7 @@ public static Instruction updatePerpMarketLiquidationFee(final AccountMeta invok return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_INSURANCE_FUND_UNSTAKING_PERIOD_DISCRIMINATOR = toDiscriminator(44, 69, 43, 226, 204, 223, 202, 52); + public static final Discriminator UPDATE_INSURANCE_FUND_UNSTAKING_PERIOD_DISCRIMINATOR = toDiscriminator(44, 69, 43, 226, 204, 223, 202, 52); public static Instruction updateInsuranceFundUnstakingPeriod(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2453,7 +2454,7 @@ public static Instruction updateInsuranceFundUnstakingPeriod(final AccountMeta i return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_MARKET_LIQUIDATION_FEE_DISCRIMINATOR = toDiscriminator(11, 13, 255, 53, 56, 136, 104, 177); + public static final Discriminator UPDATE_SPOT_MARKET_LIQUIDATION_FEE_DISCRIMINATOR = toDiscriminator(11, 13, 255, 53, 56, 136, 104, 177); public static Instruction updateSpotMarketLiquidationFee(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2476,7 +2477,7 @@ public static Instruction updateSpotMarketLiquidationFee(final AccountMeta invok return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_WITHDRAW_GUARD_THRESHOLD_DISCRIMINATOR = toDiscriminator(56, 18, 39, 61, 155, 211, 44, 133); + public static final Discriminator UPDATE_WITHDRAW_GUARD_THRESHOLD_DISCRIMINATOR = toDiscriminator(56, 18, 39, 61, 155, 211, 44, 133); public static Instruction updateWithdrawGuardThreshold(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2496,7 +2497,7 @@ public static Instruction updateWithdrawGuardThreshold(final AccountMeta invoked return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_MARKET_IF_FACTOR_DISCRIMINATOR = toDiscriminator(147, 30, 224, 34, 18, 230, 105, 4); + public static final Discriminator UPDATE_SPOT_MARKET_IF_FACTOR_DISCRIMINATOR = toDiscriminator(147, 30, 224, 34, 18, 230, 105, 4); public static Instruction updateSpotMarketIfFactor(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2522,7 +2523,7 @@ public static Instruction updateSpotMarketIfFactor(final AccountMeta invokedDrif return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_MARKET_REVENUE_SETTLE_PERIOD_DISCRIMINATOR = toDiscriminator(81, 92, 126, 41, 250, 225, 156, 219); + public static final Discriminator UPDATE_SPOT_MARKET_REVENUE_SETTLE_PERIOD_DISCRIMINATOR = toDiscriminator(81, 92, 126, 41, 250, 225, 156, 219); public static Instruction updateSpotMarketRevenueSettlePeriod(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2542,7 +2543,7 @@ public static Instruction updateSpotMarketRevenueSettlePeriod(final AccountMeta return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_MARKET_STATUS_DISCRIMINATOR = toDiscriminator(78, 94, 16, 188, 193, 110, 231, 31); + public static final Discriminator UPDATE_SPOT_MARKET_STATUS_DISCRIMINATOR = toDiscriminator(78, 94, 16, 188, 193, 110, 231, 31); public static Instruction updateSpotMarketStatus(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2562,7 +2563,7 @@ public static Instruction updateSpotMarketStatus(final AccountMeta invokedDriftP return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_MARKET_PAUSED_OPERATIONS_DISCRIMINATOR = toDiscriminator(100, 61, 153, 81, 180, 12, 6, 248); + public static final Discriminator UPDATE_SPOT_MARKET_PAUSED_OPERATIONS_DISCRIMINATOR = toDiscriminator(100, 61, 153, 81, 180, 12, 6, 248); public static Instruction updateSpotMarketPausedOperations(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2582,7 +2583,7 @@ public static Instruction updateSpotMarketPausedOperations(final AccountMeta inv return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_MARKET_ASSET_TIER_DISCRIMINATOR = toDiscriminator(253, 209, 231, 14, 242, 208, 243, 130); + public static final Discriminator UPDATE_SPOT_MARKET_ASSET_TIER_DISCRIMINATOR = toDiscriminator(253, 209, 231, 14, 242, 208, 243, 130); public static Instruction updateSpotMarketAssetTier(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2602,7 +2603,7 @@ public static Instruction updateSpotMarketAssetTier(final AccountMeta invokedDri return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_MARKET_MARGIN_WEIGHTS_DISCRIMINATOR = toDiscriminator(109, 33, 87, 195, 255, 36, 6, 81); + public static final Discriminator UPDATE_SPOT_MARKET_MARGIN_WEIGHTS_DISCRIMINATOR = toDiscriminator(109, 33, 87, 195, 255, 36, 6, 81); public static Instruction updateSpotMarketMarginWeights(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2634,7 +2635,7 @@ public static Instruction updateSpotMarketMarginWeights(final AccountMeta invoke return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_MARKET_BORROW_RATE_DISCRIMINATOR = toDiscriminator(71, 239, 236, 153, 210, 62, 254, 76); + public static final Discriminator UPDATE_SPOT_MARKET_BORROW_RATE_DISCRIMINATOR = toDiscriminator(71, 239, 236, 153, 210, 62, 254, 76); public static Instruction updateSpotMarketBorrowRate(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2663,7 +2664,7 @@ public static Instruction updateSpotMarketBorrowRate(final AccountMeta invokedDr return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_MARKET_MAX_TOKEN_DEPOSITS_DISCRIMINATOR = toDiscriminator(56, 191, 79, 18, 26, 121, 80, 208); + public static final Discriminator UPDATE_SPOT_MARKET_MAX_TOKEN_DEPOSITS_DISCRIMINATOR = toDiscriminator(56, 191, 79, 18, 26, 121, 80, 208); public static Instruction updateSpotMarketMaxTokenDeposits(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2683,7 +2684,7 @@ public static Instruction updateSpotMarketMaxTokenDeposits(final AccountMeta inv return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_MARKET_SCALE_INITIAL_ASSET_WEIGHT_START_DISCRIMINATOR = toDiscriminator(217, 204, 204, 118, 204, 130, 225, 147); + public static final Discriminator UPDATE_SPOT_MARKET_SCALE_INITIAL_ASSET_WEIGHT_START_DISCRIMINATOR = toDiscriminator(217, 204, 204, 118, 204, 130, 225, 147); public static Instruction updateSpotMarketScaleInitialAssetWeightStart(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2703,7 +2704,7 @@ public static Instruction updateSpotMarketScaleInitialAssetWeightStart(final Acc return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_MARKET_ORACLE_DISCRIMINATOR = toDiscriminator(114, 184, 102, 37, 246, 186, 180, 99); + public static final Discriminator UPDATE_SPOT_MARKET_ORACLE_DISCRIMINATOR = toDiscriminator(114, 184, 102, 37, 246, 186, 180, 99); public static Instruction updateSpotMarketOracle(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2728,7 +2729,7 @@ public static Instruction updateSpotMarketOracle(final AccountMeta invokedDriftP return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_MARKET_STEP_SIZE_AND_TICK_SIZE_DISCRIMINATOR = toDiscriminator(238, 153, 137, 80, 206, 59, 250, 61); + public static final Discriminator UPDATE_SPOT_MARKET_STEP_SIZE_AND_TICK_SIZE_DISCRIMINATOR = toDiscriminator(238, 153, 137, 80, 206, 59, 250, 61); public static Instruction updateSpotMarketStepSizeAndTickSize(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2751,7 +2752,7 @@ public static Instruction updateSpotMarketStepSizeAndTickSize(final AccountMeta return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_MARKET_MIN_ORDER_SIZE_DISCRIMINATOR = toDiscriminator(93, 128, 11, 119, 26, 20, 181, 50); + public static final Discriminator UPDATE_SPOT_MARKET_MIN_ORDER_SIZE_DISCRIMINATOR = toDiscriminator(93, 128, 11, 119, 26, 20, 181, 50); public static Instruction updateSpotMarketMinOrderSize(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2771,7 +2772,7 @@ public static Instruction updateSpotMarketMinOrderSize(final AccountMeta invoked return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_MARKET_ORDERS_ENABLED_DISCRIMINATOR = toDiscriminator(190, 79, 206, 15, 26, 229, 229, 43); + public static final Discriminator UPDATE_SPOT_MARKET_ORDERS_ENABLED_DISCRIMINATOR = toDiscriminator(190, 79, 206, 15, 26, 229, 229, 43); public static Instruction updateSpotMarketOrdersEnabled(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2791,7 +2792,7 @@ public static Instruction updateSpotMarketOrdersEnabled(final AccountMeta invoke return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_MARKET_IF_PAUSED_OPERATIONS_DISCRIMINATOR = toDiscriminator(101, 215, 79, 74, 59, 41, 79, 12); + public static final Discriminator UPDATE_SPOT_MARKET_IF_PAUSED_OPERATIONS_DISCRIMINATOR = toDiscriminator(101, 215, 79, 74, 59, 41, 79, 12); public static Instruction updateSpotMarketIfPausedOperations(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2811,7 +2812,7 @@ public static Instruction updateSpotMarketIfPausedOperations(final AccountMeta i return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_MARKET_NAME_DISCRIMINATOR = toDiscriminator(17, 208, 1, 1, 162, 211, 188, 224); + public static final Discriminator UPDATE_SPOT_MARKET_NAME_DISCRIMINATOR = toDiscriminator(17, 208, 1, 1, 162, 211, 188, 224); public static Instruction updateSpotMarketName(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2831,7 +2832,7 @@ public static Instruction updateSpotMarketName(final AccountMeta invokedDriftPro return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_STATUS_DISCRIMINATOR = toDiscriminator(71, 201, 175, 122, 255, 207, 196, 207); + public static final Discriminator UPDATE_PERP_MARKET_STATUS_DISCRIMINATOR = toDiscriminator(71, 201, 175, 122, 255, 207, 196, 207); public static Instruction updatePerpMarketStatus(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2851,7 +2852,7 @@ public static Instruction updatePerpMarketStatus(final AccountMeta invokedDriftP return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_PAUSED_OPERATIONS_DISCRIMINATOR = toDiscriminator(53, 16, 136, 132, 30, 220, 121, 85); + public static final Discriminator UPDATE_PERP_MARKET_PAUSED_OPERATIONS_DISCRIMINATOR = toDiscriminator(53, 16, 136, 132, 30, 220, 121, 85); public static Instruction updatePerpMarketPausedOperations(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2871,7 +2872,7 @@ public static Instruction updatePerpMarketPausedOperations(final AccountMeta inv return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_CONTRACT_TIER_DISCRIMINATOR = toDiscriminator(236, 128, 15, 95, 203, 214, 68, 117); + public static final Discriminator UPDATE_PERP_MARKET_CONTRACT_TIER_DISCRIMINATOR = toDiscriminator(236, 128, 15, 95, 203, 214, 68, 117); public static Instruction updatePerpMarketContractTier(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2891,7 +2892,7 @@ public static Instruction updatePerpMarketContractTier(final AccountMeta invoked return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_IMF_FACTOR_DISCRIMINATOR = toDiscriminator(207, 194, 56, 132, 35, 67, 71, 244); + public static final Discriminator UPDATE_PERP_MARKET_IMF_FACTOR_DISCRIMINATOR = toDiscriminator(207, 194, 56, 132, 35, 67, 71, 244); public static Instruction updatePerpMarketImfFactor(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2914,7 +2915,7 @@ public static Instruction updatePerpMarketImfFactor(final AccountMeta invokedDri return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_UNREALIZED_ASSET_WEIGHT_DISCRIMINATOR = toDiscriminator(135, 132, 205, 165, 109, 150, 166, 106); + public static final Discriminator UPDATE_PERP_MARKET_UNREALIZED_ASSET_WEIGHT_DISCRIMINATOR = toDiscriminator(135, 132, 205, 165, 109, 150, 166, 106); public static Instruction updatePerpMarketUnrealizedAssetWeight(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2937,7 +2938,7 @@ public static Instruction updatePerpMarketUnrealizedAssetWeight(final AccountMet return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_CONCENTRATION_COEF_DISCRIMINATOR = toDiscriminator(24, 78, 232, 126, 169, 176, 230, 16); + public static final Discriminator UPDATE_PERP_MARKET_CONCENTRATION_COEF_DISCRIMINATOR = toDiscriminator(24, 78, 232, 126, 169, 176, 230, 16); public static Instruction updatePerpMarketConcentrationCoef(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2957,7 +2958,7 @@ public static Instruction updatePerpMarketConcentrationCoef(final AccountMeta in return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_CURVE_UPDATE_INTENSITY_DISCRIMINATOR = toDiscriminator(50, 131, 6, 156, 226, 231, 189, 72); + public static final Discriminator UPDATE_PERP_MARKET_CURVE_UPDATE_INTENSITY_DISCRIMINATOR = toDiscriminator(50, 131, 6, 156, 226, 231, 189, 72); public static Instruction updatePerpMarketCurveUpdateIntensity(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2977,7 +2978,7 @@ public static Instruction updatePerpMarketCurveUpdateIntensity(final AccountMeta return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_TARGET_BASE_ASSET_AMOUNT_PER_LP_DISCRIMINATOR = toDiscriminator(62, 87, 68, 115, 29, 150, 150, 165); + public static final Discriminator UPDATE_PERP_MARKET_TARGET_BASE_ASSET_AMOUNT_PER_LP_DISCRIMINATOR = toDiscriminator(62, 87, 68, 115, 29, 150, 150, 165); public static Instruction updatePerpMarketTargetBaseAssetAmountPerLp(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -2997,7 +2998,7 @@ public static Instruction updatePerpMarketTargetBaseAssetAmountPerLp(final Accou return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_PER_LP_BASE_DISCRIMINATOR = toDiscriminator(103, 152, 103, 102, 89, 144, 193, 71); + public static final Discriminator UPDATE_PERP_MARKET_PER_LP_BASE_DISCRIMINATOR = toDiscriminator(103, 152, 103, 102, 89, 144, 193, 71); public static Instruction updatePerpMarketPerLpBase(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3017,7 +3018,7 @@ public static Instruction updatePerpMarketPerLpBase(final AccountMeta invokedDri return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_LP_COOLDOWN_TIME_DISCRIMINATOR = toDiscriminator(198, 133, 88, 41, 241, 119, 61, 14); + public static final Discriminator UPDATE_LP_COOLDOWN_TIME_DISCRIMINATOR = toDiscriminator(198, 133, 88, 41, 241, 119, 61, 14); public static Instruction updateLpCooldownTime(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3035,7 +3036,7 @@ public static Instruction updateLpCooldownTime(final AccountMeta invokedDriftPro return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_FEE_STRUCTURE_DISCRIMINATOR = toDiscriminator(23, 178, 111, 203, 73, 22, 140, 75); + public static final Discriminator UPDATE_PERP_FEE_STRUCTURE_DISCRIMINATOR = toDiscriminator(23, 178, 111, 203, 73, 22, 140, 75); public static Instruction updatePerpFeeStructure(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3053,7 +3054,7 @@ public static Instruction updatePerpFeeStructure(final AccountMeta invokedDriftP return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_FEE_STRUCTURE_DISCRIMINATOR = toDiscriminator(97, 216, 105, 131, 113, 246, 142, 141); + public static final Discriminator UPDATE_SPOT_FEE_STRUCTURE_DISCRIMINATOR = toDiscriminator(97, 216, 105, 131, 113, 246, 142, 141); public static Instruction updateSpotFeeStructure(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3071,7 +3072,7 @@ public static Instruction updateSpotFeeStructure(final AccountMeta invokedDriftP return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_INITIAL_PCT_TO_LIQUIDATE_DISCRIMINATOR = toDiscriminator(210, 133, 225, 128, 194, 50, 13, 109); + public static final Discriminator UPDATE_INITIAL_PCT_TO_LIQUIDATE_DISCRIMINATOR = toDiscriminator(210, 133, 225, 128, 194, 50, 13, 109); public static Instruction updateInitialPctToLiquidate(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3089,7 +3090,7 @@ public static Instruction updateInitialPctToLiquidate(final AccountMeta invokedD return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_LIQUIDATION_DURATION_DISCRIMINATOR = toDiscriminator(28, 154, 20, 249, 102, 192, 73, 71); + public static final Discriminator UPDATE_LIQUIDATION_DURATION_DISCRIMINATOR = toDiscriminator(28, 154, 20, 249, 102, 192, 73, 71); public static Instruction updateLiquidationDuration(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3107,7 +3108,7 @@ public static Instruction updateLiquidationDuration(final AccountMeta invokedDri return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_LIQUIDATION_MARGIN_BUFFER_RATIO_DISCRIMINATOR = toDiscriminator(132, 224, 243, 160, 154, 82, 97, 215); + public static final Discriminator UPDATE_LIQUIDATION_MARGIN_BUFFER_RATIO_DISCRIMINATOR = toDiscriminator(132, 224, 243, 160, 154, 82, 97, 215); public static Instruction updateLiquidationMarginBufferRatio(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3125,7 +3126,7 @@ public static Instruction updateLiquidationMarginBufferRatio(final AccountMeta i return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_ORACLE_GUARD_RAILS_DISCRIMINATOR = toDiscriminator(131, 112, 10, 59, 32, 54, 40, 164); + public static final Discriminator UPDATE_ORACLE_GUARD_RAILS_DISCRIMINATOR = toDiscriminator(131, 112, 10, 59, 32, 54, 40, 164); public static Instruction updateOracleGuardRails(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3143,7 +3144,7 @@ public static Instruction updateOracleGuardRails(final AccountMeta invokedDriftP return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_STATE_SETTLEMENT_DURATION_DISCRIMINATOR = toDiscriminator(97, 68, 199, 235, 131, 80, 61, 173); + public static final Discriminator UPDATE_STATE_SETTLEMENT_DURATION_DISCRIMINATOR = toDiscriminator(97, 68, 199, 235, 131, 80, 61, 173); public static Instruction updateStateSettlementDuration(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3161,7 +3162,7 @@ public static Instruction updateStateSettlementDuration(final AccountMeta invoke return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_STATE_MAX_NUMBER_OF_SUB_ACCOUNTS_DISCRIMINATOR = toDiscriminator(155, 123, 214, 2, 221, 166, 204, 85); + public static final Discriminator UPDATE_STATE_MAX_NUMBER_OF_SUB_ACCOUNTS_DISCRIMINATOR = toDiscriminator(155, 123, 214, 2, 221, 166, 204, 85); public static Instruction updateStateMaxNumberOfSubAccounts(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3179,7 +3180,7 @@ public static Instruction updateStateMaxNumberOfSubAccounts(final AccountMeta in return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_STATE_MAX_INITIALIZE_USER_FEE_DISCRIMINATOR = toDiscriminator(237, 225, 25, 237, 193, 45, 77, 97); + public static final Discriminator UPDATE_STATE_MAX_INITIALIZE_USER_FEE_DISCRIMINATOR = toDiscriminator(237, 225, 25, 237, 193, 45, 77, 97); public static Instruction updateStateMaxInitializeUserFee(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3197,7 +3198,7 @@ public static Instruction updateStateMaxInitializeUserFee(final AccountMeta invo return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_ORACLE_DISCRIMINATOR = toDiscriminator(182, 113, 111, 160, 67, 174, 89, 191); + public static final Discriminator UPDATE_PERP_MARKET_ORACLE_DISCRIMINATOR = toDiscriminator(182, 113, 111, 160, 67, 174, 89, 191); public static Instruction updatePerpMarketOracle(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3222,7 +3223,7 @@ public static Instruction updatePerpMarketOracle(final AccountMeta invokedDriftP return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_BASE_SPREAD_DISCRIMINATOR = toDiscriminator(71, 95, 84, 168, 9, 157, 198, 65); + public static final Discriminator UPDATE_PERP_MARKET_BASE_SPREAD_DISCRIMINATOR = toDiscriminator(71, 95, 84, 168, 9, 157, 198, 65); public static Instruction updatePerpMarketBaseSpread(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3242,7 +3243,7 @@ public static Instruction updatePerpMarketBaseSpread(final AccountMeta invokedDr return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_AMM_JIT_INTENSITY_DISCRIMINATOR = toDiscriminator(181, 191, 53, 109, 166, 249, 55, 142); + public static final Discriminator UPDATE_AMM_JIT_INTENSITY_DISCRIMINATOR = toDiscriminator(181, 191, 53, 109, 166, 249, 55, 142); public static Instruction updateAmmJitIntensity(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3262,7 +3263,7 @@ public static Instruction updateAmmJitIntensity(final AccountMeta invokedDriftPr return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_MAX_SPREAD_DISCRIMINATOR = toDiscriminator(80, 252, 122, 62, 40, 218, 91, 100); + public static final Discriminator UPDATE_PERP_MARKET_MAX_SPREAD_DISCRIMINATOR = toDiscriminator(80, 252, 122, 62, 40, 218, 91, 100); public static Instruction updatePerpMarketMaxSpread(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3282,7 +3283,7 @@ public static Instruction updatePerpMarketMaxSpread(final AccountMeta invokedDri return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_STEP_SIZE_AND_TICK_SIZE_DISCRIMINATOR = toDiscriminator(231, 255, 97, 25, 146, 139, 174, 4); + public static final Discriminator UPDATE_PERP_MARKET_STEP_SIZE_AND_TICK_SIZE_DISCRIMINATOR = toDiscriminator(231, 255, 97, 25, 146, 139, 174, 4); public static Instruction updatePerpMarketStepSizeAndTickSize(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3305,7 +3306,7 @@ public static Instruction updatePerpMarketStepSizeAndTickSize(final AccountMeta return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_NAME_DISCRIMINATOR = toDiscriminator(211, 31, 21, 210, 64, 108, 66, 201); + public static final Discriminator UPDATE_PERP_MARKET_NAME_DISCRIMINATOR = toDiscriminator(211, 31, 21, 210, 64, 108, 66, 201); public static Instruction updatePerpMarketName(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3325,7 +3326,7 @@ public static Instruction updatePerpMarketName(final AccountMeta invokedDriftPro return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_MIN_ORDER_SIZE_DISCRIMINATOR = toDiscriminator(226, 74, 5, 89, 108, 223, 46, 141); + public static final Discriminator UPDATE_PERP_MARKET_MIN_ORDER_SIZE_DISCRIMINATOR = toDiscriminator(226, 74, 5, 89, 108, 223, 46, 141); public static Instruction updatePerpMarketMinOrderSize(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3345,7 +3346,7 @@ public static Instruction updatePerpMarketMinOrderSize(final AccountMeta invoked return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_MAX_SLIPPAGE_RATIO_DISCRIMINATOR = toDiscriminator(235, 37, 40, 196, 70, 146, 54, 201); + public static final Discriminator UPDATE_PERP_MARKET_MAX_SLIPPAGE_RATIO_DISCRIMINATOR = toDiscriminator(235, 37, 40, 196, 70, 146, 54, 201); public static Instruction updatePerpMarketMaxSlippageRatio(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3365,7 +3366,7 @@ public static Instruction updatePerpMarketMaxSlippageRatio(final AccountMeta inv return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_MAX_FILL_RESERVE_FRACTION_DISCRIMINATOR = toDiscriminator(19, 172, 114, 154, 42, 135, 161, 133); + public static final Discriminator UPDATE_PERP_MARKET_MAX_FILL_RESERVE_FRACTION_DISCRIMINATOR = toDiscriminator(19, 172, 114, 154, 42, 135, 161, 133); public static Instruction updatePerpMarketMaxFillReserveFraction(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3385,7 +3386,7 @@ public static Instruction updatePerpMarketMaxFillReserveFraction(final AccountMe return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_MAX_OPEN_INTEREST_DISCRIMINATOR = toDiscriminator(194, 79, 149, 224, 246, 102, 186, 140); + public static final Discriminator UPDATE_PERP_MARKET_MAX_OPEN_INTEREST_DISCRIMINATOR = toDiscriminator(194, 79, 149, 224, 246, 102, 186, 140); public static Instruction updatePerpMarketMaxOpenInterest(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3405,7 +3406,7 @@ public static Instruction updatePerpMarketMaxOpenInterest(final AccountMeta invo return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_NUMBER_OF_USERS_DISCRIMINATOR = toDiscriminator(35, 62, 144, 177, 180, 62, 215, 196); + public static final Discriminator UPDATE_PERP_MARKET_NUMBER_OF_USERS_DISCRIMINATOR = toDiscriminator(35, 62, 144, 177, 180, 62, 215, 196); public static Instruction updatePerpMarketNumberOfUsers(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3427,7 +3428,7 @@ public static Instruction updatePerpMarketNumberOfUsers(final AccountMeta invoke return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_MARKET_FEE_ADJUSTMENT_DISCRIMINATOR = toDiscriminator(194, 174, 87, 102, 43, 148, 32, 112); + public static final Discriminator UPDATE_PERP_MARKET_FEE_ADJUSTMENT_DISCRIMINATOR = toDiscriminator(194, 174, 87, 102, 43, 148, 32, 112); public static Instruction updatePerpMarketFeeAdjustment(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3447,7 +3448,7 @@ public static Instruction updatePerpMarketFeeAdjustment(final AccountMeta invoke return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_MARKET_FEE_ADJUSTMENT_DISCRIMINATOR = toDiscriminator(148, 182, 3, 126, 157, 114, 220, 99); + public static final Discriminator UPDATE_SPOT_MARKET_FEE_ADJUSTMENT_DISCRIMINATOR = toDiscriminator(148, 182, 3, 126, 157, 114, 220, 99); public static Instruction updateSpotMarketFeeAdjustment(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3467,7 +3468,7 @@ public static Instruction updateSpotMarketFeeAdjustment(final AccountMeta invoke return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_ADMIN_DISCRIMINATOR = toDiscriminator(161, 176, 40, 213, 60, 184, 179, 228); + public static final Discriminator UPDATE_ADMIN_DISCRIMINATOR = toDiscriminator(161, 176, 40, 213, 60, 184, 179, 228); public static Instruction updateAdmin(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3485,7 +3486,7 @@ public static Instruction updateAdmin(final AccountMeta invokedDriftProgramMeta, return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_WHITELIST_MINT_DISCRIMINATOR = toDiscriminator(161, 15, 162, 19, 148, 120, 144, 151); + public static final Discriminator UPDATE_WHITELIST_MINT_DISCRIMINATOR = toDiscriminator(161, 15, 162, 19, 148, 120, 144, 151); public static Instruction updateWhitelistMint(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3503,7 +3504,7 @@ public static Instruction updateWhitelistMint(final AccountMeta invokedDriftProg return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_DISCOUNT_MINT_DISCRIMINATOR = toDiscriminator(32, 252, 122, 211, 66, 31, 47, 241); + public static final Discriminator UPDATE_DISCOUNT_MINT_DISCRIMINATOR = toDiscriminator(32, 252, 122, 211, 66, 31, 47, 241); public static Instruction updateDiscountMint(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3521,7 +3522,7 @@ public static Instruction updateDiscountMint(final AccountMeta invokedDriftProgr return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_EXCHANGE_STATUS_DISCRIMINATOR = toDiscriminator(83, 160, 252, 250, 129, 116, 49, 223); + public static final Discriminator UPDATE_EXCHANGE_STATUS_DISCRIMINATOR = toDiscriminator(83, 160, 252, 250, 129, 116, 49, 223); public static Instruction updateExchangeStatus(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3539,7 +3540,7 @@ public static Instruction updateExchangeStatus(final AccountMeta invokedDriftPro return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PERP_AUCTION_DURATION_DISCRIMINATOR = toDiscriminator(126, 110, 52, 174, 30, 206, 215, 90); + public static final Discriminator UPDATE_PERP_AUCTION_DURATION_DISCRIMINATOR = toDiscriminator(126, 110, 52, 174, 30, 206, 215, 90); public static Instruction updatePerpAuctionDuration(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3557,7 +3558,7 @@ public static Instruction updatePerpAuctionDuration(final AccountMeta invokedDri return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_SPOT_AUCTION_DURATION_DISCRIMINATOR = toDiscriminator(182, 178, 203, 72, 187, 143, 157, 107); + public static final Discriminator UPDATE_SPOT_AUCTION_DURATION_DISCRIMINATOR = toDiscriminator(182, 178, 203, 72, 187, 143, 157, 107); public static Instruction updateSpotAuctionDuration(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3575,7 +3576,7 @@ public static Instruction updateSpotAuctionDuration(final AccountMeta invokedDri return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] INITIALIZE_PROTOCOL_IF_SHARES_TRANSFER_CONFIG_DISCRIMINATOR = toDiscriminator(89, 131, 239, 200, 178, 141, 106, 194); + public static final Discriminator INITIALIZE_PROTOCOL_IF_SHARES_TRANSFER_CONFIG_DISCRIMINATOR = toDiscriminator(89, 131, 239, 200, 178, 141, 106, 194); public static Instruction initializeProtocolIfSharesTransferConfig(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3594,7 +3595,7 @@ public static Instruction initializeProtocolIfSharesTransferConfig(final Account return Instruction.createInstruction(invokedDriftProgramMeta, keys, INITIALIZE_PROTOCOL_IF_SHARES_TRANSFER_CONFIG_DISCRIMINATOR); } - public static final byte[] UPDATE_PROTOCOL_IF_SHARES_TRANSFER_CONFIG_DISCRIMINATOR = toDiscriminator(34, 135, 47, 91, 220, 24, 212, 53); + public static final Discriminator UPDATE_PROTOCOL_IF_SHARES_TRANSFER_CONFIG_DISCRIMINATOR = toDiscriminator(34, 135, 47, 91, 220, 24, 212, 53); public static Instruction updateProtocolIfSharesTransferConfig(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3616,7 +3617,7 @@ public static Instruction updateProtocolIfSharesTransferConfig(final AccountMeta return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] INITIALIZE_PRELAUNCH_ORACLE_DISCRIMINATOR = toDiscriminator(169, 178, 84, 25, 175, 62, 29, 247); + public static final Discriminator INITIALIZE_PRELAUNCH_ORACLE_DISCRIMINATOR = toDiscriminator(169, 178, 84, 25, 175, 62, 29, 247); public static Instruction initializePrelaunchOracle(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3640,7 +3641,7 @@ public static Instruction initializePrelaunchOracle(final AccountMeta invokedDri return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] UPDATE_PRELAUNCH_ORACLE_PARAMS_DISCRIMINATOR = toDiscriminator(98, 205, 147, 243, 18, 75, 83, 207); + public static final Discriminator UPDATE_PRELAUNCH_ORACLE_PARAMS_DISCRIMINATOR = toDiscriminator(98, 205, 147, 243, 18, 75, 83, 207); public static Instruction updatePrelaunchOracleParams(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3662,7 +3663,7 @@ public static Instruction updatePrelaunchOracleParams(final AccountMeta invokedD return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] DELETE_PRELAUNCH_ORACLE_DISCRIMINATOR = toDiscriminator(59, 169, 100, 49, 69, 17, 173, 253); + public static final Discriminator DELETE_PRELAUNCH_ORACLE_DISCRIMINATOR = toDiscriminator(59, 169, 100, 49, 69, 17, 173, 253); public static Instruction deletePrelaunchOracle(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, @@ -3684,7 +3685,7 @@ public static Instruction deletePrelaunchOracle(final AccountMeta invokedDriftPr return Instruction.createInstruction(invokedDriftProgramMeta, keys, _data); } - public static final byte[] INITIALIZE_PYTH_PULL_ORACLE_DISCRIMINATOR = toDiscriminator(249, 140, 253, 243, 248, 74, 240, 238); + public static final Discriminator INITIALIZE_PYTH_PULL_ORACLE_DISCRIMINATOR = toDiscriminator(249, 140, 253, 243, 248, 74, 240, 238); public static Instruction initializePythPullOracle(final AccountMeta invokedDriftProgramMeta, final AccountMeta adminKey, diff --git a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/InsuranceFundStake.java b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/InsuranceFundStake.java index 2b8c035..44df378 100644 --- a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/InsuranceFundStake.java +++ b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/InsuranceFundStake.java @@ -6,6 +6,7 @@ import software.sava.core.accounts.PublicKey; import software.sava.core.borsh.Borsh; +import software.sava.core.programs.Discriminator; import software.sava.core.rpc.Filter; import static software.sava.anchor.AnchorUtil.parseDiscriminator; @@ -18,7 +19,7 @@ import static software.sava.core.encoding.ByteUtil.putInt64LE; public record InsuranceFundStake(PublicKey _address, - byte[] discriminator, + Discriminator discriminator, PublicKey authority, BigInteger ifShares, BigInteger lastWithdrawRequestShares, @@ -107,8 +108,8 @@ public static InsuranceFundStake read(final PublicKey _address, final byte[] _da public static final BiFunction FACTORY = InsuranceFundStake::read; public static InsuranceFundStake read(final PublicKey _address, final byte[] _data, final int offset) { - final byte[] discriminator = parseDiscriminator(_data, offset); - int i = offset + discriminator.length; + final var discriminator = parseDiscriminator(_data, offset); + int i = offset + discriminator.length(); final var authority = readPubKey(_data, i); i += 32; final var ifShares = getInt128LE(_data, i); @@ -144,8 +145,7 @@ public static InsuranceFundStake read(final PublicKey _address, final byte[] _da @Override public int write(final byte[] _data, final int offset) { - System.arraycopy(discriminator, 0, _data, offset, discriminator.length); - int i = offset + discriminator.length; + int i = offset + discriminator.write(_data, offset); authority.write(_data, i); i += 32; putInt128LE(_data, i, ifShares); diff --git a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/PerpMarket.java b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/PerpMarket.java index dfd237e..1256fc4 100644 --- a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/PerpMarket.java +++ b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/PerpMarket.java @@ -4,6 +4,7 @@ import software.sava.core.accounts.PublicKey; import software.sava.core.borsh.Borsh; +import software.sava.core.programs.Discriminator; import software.sava.core.rpc.Filter; import static software.sava.anchor.AnchorUtil.parseDiscriminator; @@ -16,7 +17,7 @@ import static software.sava.core.encoding.ByteUtil.putInt64LE; public record PerpMarket(PublicKey _address, - byte[] discriminator, + Discriminator discriminator, // The perp market's address. It is a pda of the market index PublicKey pubkey, // The automated market maker @@ -116,8 +117,8 @@ public static PerpMarket read(final PublicKey _address, final byte[] _data) { public static final BiFunction FACTORY = PerpMarket::read; public static PerpMarket read(final PublicKey _address, final byte[] _data, final int offset) { - final byte[] discriminator = parseDiscriminator(_data, offset); - int i = offset + discriminator.length; + final var discriminator = parseDiscriminator(_data, offset); + int i = offset + discriminator.length(); final var pubkey = readPubKey(_data, i); i += 32; final var amm = AMM.read(_data, i); @@ -210,8 +211,7 @@ public static PerpMarket read(final PublicKey _address, final byte[] _data, fina @Override public int write(final byte[] _data, final int offset) { - System.arraycopy(discriminator, 0, _data, offset, discriminator.length); - int i = offset + discriminator.length; + int i = offset + discriminator.write(_data, offset); pubkey.write(_data, i); i += 32; i += Borsh.write(amm, _data, i); diff --git a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/PhoenixV1FulfillmentConfig.java b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/PhoenixV1FulfillmentConfig.java index 6899e10..4dfb875 100644 --- a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/PhoenixV1FulfillmentConfig.java +++ b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/PhoenixV1FulfillmentConfig.java @@ -4,6 +4,7 @@ import software.sava.core.accounts.PublicKey; import software.sava.core.borsh.Borsh; +import software.sava.core.programs.Discriminator; import software.sava.core.rpc.Filter; import static software.sava.anchor.AnchorUtil.parseDiscriminator; @@ -12,7 +13,7 @@ import static software.sava.core.encoding.ByteUtil.putInt16LE; public record PhoenixV1FulfillmentConfig(PublicKey _address, - byte[] discriminator, + Discriminator discriminator, PublicKey pubkey, PublicKey phoenixProgramId, PublicKey phoenixLogAuthority, @@ -87,8 +88,8 @@ public static PhoenixV1FulfillmentConfig read(final PublicKey _address, final by public static final BiFunction FACTORY = PhoenixV1FulfillmentConfig::read; public static PhoenixV1FulfillmentConfig read(final PublicKey _address, final byte[] _data, final int offset) { - final byte[] discriminator = parseDiscriminator(_data, offset); - int i = offset + discriminator.length; + final var discriminator = parseDiscriminator(_data, offset); + int i = offset + discriminator.length(); final var pubkey = readPubKey(_data, i); i += 32; final var phoenixProgramId = readPubKey(_data, i); @@ -124,8 +125,7 @@ public static PhoenixV1FulfillmentConfig read(final PublicKey _address, final by @Override public int write(final byte[] _data, final int offset) { - System.arraycopy(discriminator, 0, _data, offset, discriminator.length); - int i = offset + discriminator.length; + int i = offset + discriminator.write(_data, offset); pubkey.write(_data, i); i += 32; phoenixProgramId.write(_data, i); diff --git a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/PrelaunchOracle.java b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/PrelaunchOracle.java index 95fc268..c88bb24 100644 --- a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/PrelaunchOracle.java +++ b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/PrelaunchOracle.java @@ -4,6 +4,7 @@ import software.sava.core.accounts.PublicKey; import software.sava.core.borsh.Borsh; +import software.sava.core.programs.Discriminator; import software.sava.core.rpc.Filter; import static software.sava.anchor.AnchorUtil.parseDiscriminator; @@ -13,7 +14,7 @@ import static software.sava.core.encoding.ByteUtil.putInt64LE; public record PrelaunchOracle(PublicKey _address, - byte[] discriminator, + Discriminator discriminator, long price, long maxPrice, long confidence, @@ -80,8 +81,8 @@ public static PrelaunchOracle read(final PublicKey _address, final byte[] _data) public static final BiFunction FACTORY = PrelaunchOracle::read; public static PrelaunchOracle read(final PublicKey _address, final byte[] _data, final int offset) { - final byte[] discriminator = parseDiscriminator(_data, offset); - int i = offset + discriminator.length; + final var discriminator = parseDiscriminator(_data, offset); + int i = offset + discriminator.length(); final var price = getInt64LE(_data, i); i += 8; final var maxPrice = getInt64LE(_data, i); @@ -108,8 +109,7 @@ public static PrelaunchOracle read(final PublicKey _address, final byte[] _data, @Override public int write(final byte[] _data, final int offset) { - System.arraycopy(discriminator, 0, _data, offset, discriminator.length); - int i = offset + discriminator.length; + int i = offset + discriminator.write(_data, offset); putInt64LE(_data, i, price); i += 8; putInt64LE(_data, i, maxPrice); diff --git a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/ProtocolIfSharesTransferConfig.java b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/ProtocolIfSharesTransferConfig.java index ccc0864..f9ec22b 100644 --- a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/ProtocolIfSharesTransferConfig.java +++ b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/ProtocolIfSharesTransferConfig.java @@ -6,6 +6,7 @@ import software.sava.core.accounts.PublicKey; import software.sava.core.borsh.Borsh; +import software.sava.core.programs.Discriminator; import software.sava.core.rpc.Filter; import static software.sava.anchor.AnchorUtil.parseDiscriminator; @@ -15,7 +16,7 @@ import static software.sava.core.encoding.ByteUtil.putInt64LE; public record ProtocolIfSharesTransferConfig(PublicKey _address, - byte[] discriminator, + Discriminator discriminator, PublicKey[] whitelistedSigners, BigInteger maxTransferPerEpoch, BigInteger currentEpochTransfer, @@ -60,8 +61,8 @@ public static ProtocolIfSharesTransferConfig read(final PublicKey _address, fina public static final BiFunction FACTORY = ProtocolIfSharesTransferConfig::read; public static ProtocolIfSharesTransferConfig read(final PublicKey _address, final byte[] _data, final int offset) { - final byte[] discriminator = parseDiscriminator(_data, offset); - int i = offset + discriminator.length; + final var discriminator = parseDiscriminator(_data, offset); + int i = offset + discriminator.length(); final var whitelistedSigners = Borsh.readArray(new PublicKey[4], _data, i); i += Borsh.fixedLen(whitelistedSigners); final var maxTransferPerEpoch = getInt128LE(_data, i); @@ -82,8 +83,7 @@ public static ProtocolIfSharesTransferConfig read(final PublicKey _address, fina @Override public int write(final byte[] _data, final int offset) { - System.arraycopy(discriminator, 0, _data, offset, discriminator.length); - int i = offset + discriminator.length; + int i = offset + discriminator.write(_data, offset); i += Borsh.fixedWrite(whitelistedSigners, _data, i); putInt128LE(_data, i, maxTransferPerEpoch); i += 16; diff --git a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/ReferrerName.java b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/ReferrerName.java index 400361d..956a3b0 100644 --- a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/ReferrerName.java +++ b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/ReferrerName.java @@ -4,13 +4,14 @@ import software.sava.core.accounts.PublicKey; import software.sava.core.borsh.Borsh; +import software.sava.core.programs.Discriminator; import software.sava.core.rpc.Filter; import static software.sava.anchor.AnchorUtil.parseDiscriminator; import static software.sava.core.accounts.PublicKey.readPubKey; public record ReferrerName(PublicKey _address, - byte[] discriminator, + Discriminator discriminator, PublicKey authority, PublicKey user, PublicKey userStats, @@ -47,8 +48,8 @@ public static ReferrerName read(final PublicKey _address, final byte[] _data) { public static final BiFunction FACTORY = ReferrerName::read; public static ReferrerName read(final PublicKey _address, final byte[] _data, final int offset) { - final byte[] discriminator = parseDiscriminator(_data, offset); - int i = offset + discriminator.length; + final var discriminator = parseDiscriminator(_data, offset); + int i = offset + discriminator.length(); final var authority = readPubKey(_data, i); i += 32; final var user = readPubKey(_data, i); @@ -66,8 +67,7 @@ public static ReferrerName read(final PublicKey _address, final byte[] _data, fi @Override public int write(final byte[] _data, final int offset) { - System.arraycopy(discriminator, 0, _data, offset, discriminator.length); - int i = offset + discriminator.length; + int i = offset + discriminator.write(_data, offset); authority.write(_data, i); i += 32; user.write(_data, i); diff --git a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/SerumV3FulfillmentConfig.java b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/SerumV3FulfillmentConfig.java index 1c6427a..018b670 100644 --- a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/SerumV3FulfillmentConfig.java +++ b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/SerumV3FulfillmentConfig.java @@ -4,6 +4,7 @@ import software.sava.core.accounts.PublicKey; import software.sava.core.borsh.Borsh; +import software.sava.core.programs.Discriminator; import software.sava.core.rpc.Filter; import static software.sava.anchor.AnchorUtil.parseDiscriminator; @@ -14,7 +15,7 @@ import static software.sava.core.encoding.ByteUtil.putInt64LE; public record SerumV3FulfillmentConfig(PublicKey _address, - byte[] discriminator, + Discriminator discriminator, PublicKey pubkey, PublicKey serumProgramId, PublicKey serumMarket, @@ -121,8 +122,8 @@ public static SerumV3FulfillmentConfig read(final PublicKey _address, final byte public static final BiFunction FACTORY = SerumV3FulfillmentConfig::read; public static SerumV3FulfillmentConfig read(final PublicKey _address, final byte[] _data, final int offset) { - final byte[] discriminator = parseDiscriminator(_data, offset); - int i = offset + discriminator.length; + final var discriminator = parseDiscriminator(_data, offset); + int i = offset + discriminator.length(); final var pubkey = readPubKey(_data, i); i += 32; final var serumProgramId = readPubKey(_data, i); @@ -173,8 +174,7 @@ public static SerumV3FulfillmentConfig read(final PublicKey _address, final byte @Override public int write(final byte[] _data, final int offset) { - System.arraycopy(discriminator, 0, _data, offset, discriminator.length); - int i = offset + discriminator.length; + int i = offset + discriminator.write(_data, offset); pubkey.write(_data, i); i += 32; serumProgramId.write(_data, i); diff --git a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/SpotMarket.java b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/SpotMarket.java index 7cbaebb..186074f 100644 --- a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/SpotMarket.java +++ b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/SpotMarket.java @@ -6,6 +6,7 @@ import software.sava.core.accounts.PublicKey; import software.sava.core.borsh.Borsh; +import software.sava.core.programs.Discriminator; import software.sava.core.rpc.Filter; import static software.sava.anchor.AnchorUtil.parseDiscriminator; @@ -20,7 +21,7 @@ import static software.sava.core.encoding.ByteUtil.putInt64LE; public record SpotMarket(PublicKey _address, - byte[] discriminator, + Discriminator discriminator, // The address of the spot market. It is a pda of the market index PublicKey pubkey, // The oracle used to price the markets deposits/borrows @@ -217,8 +218,8 @@ public static SpotMarket read(final PublicKey _address, final byte[] _data) { public static final BiFunction FACTORY = SpotMarket::read; public static SpotMarket read(final PublicKey _address, final byte[] _data, final int offset) { - final byte[] discriminator = parseDiscriminator(_data, offset); - int i = offset + discriminator.length; + final var discriminator = parseDiscriminator(_data, offset); + int i = offset + discriminator.length(); final var pubkey = readPubKey(_data, i); i += 32; final var oracle = readPubKey(_data, i); @@ -395,8 +396,7 @@ public static SpotMarket read(final PublicKey _address, final byte[] _data, fina @Override public int write(final byte[] _data, final int offset) { - System.arraycopy(discriminator, 0, _data, offset, discriminator.length); - int i = offset + discriminator.length; + int i = offset + discriminator.write(_data, offset); pubkey.write(_data, i); i += 32; oracle.write(_data, i); diff --git a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/State.java b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/State.java index c7b2b37..82a4a97 100644 --- a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/State.java +++ b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/State.java @@ -4,6 +4,7 @@ import software.sava.core.accounts.PublicKey; import software.sava.core.borsh.Borsh; +import software.sava.core.programs.Discriminator; import software.sava.core.rpc.Filter; import static software.sava.anchor.AnchorUtil.parseDiscriminator; @@ -16,7 +17,7 @@ import static software.sava.core.encoding.ByteUtil.putInt64LE; public record State(PublicKey _address, - byte[] discriminator, + Discriminator discriminator, PublicKey admin, PublicKey whitelistMint, PublicKey discountMint, @@ -199,8 +200,8 @@ public static State read(final PublicKey _address, final byte[] _data) { public static final BiFunction FACTORY = State::read; public static State read(final PublicKey _address, final byte[] _data, final int offset) { - final byte[] discriminator = parseDiscriminator(_data, offset); - int i = offset + discriminator.length; + final var discriminator = parseDiscriminator(_data, offset); + int i = offset + discriminator.length(); final var admin = readPubKey(_data, i); i += 32; final var whitelistMint = readPubKey(_data, i); @@ -281,8 +282,7 @@ public static State read(final PublicKey _address, final byte[] _data, final int @Override public int write(final byte[] _data, final int offset) { - System.arraycopy(discriminator, 0, _data, offset, discriminator.length); - int i = offset + discriminator.length; + int i = offset + discriminator.write(_data, offset); admin.write(_data, i); i += 32; whitelistMint.write(_data, i); diff --git a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/User.java b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/User.java index 3010ab2..80c0bea 100644 --- a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/User.java +++ b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/User.java @@ -4,6 +4,7 @@ import software.sava.core.accounts.PublicKey; import software.sava.core.borsh.Borsh; +import software.sava.core.programs.Discriminator; import software.sava.core.rpc.Filter; import static software.sava.anchor.AnchorUtil.parseDiscriminator; @@ -16,7 +17,7 @@ import static software.sava.core.encoding.ByteUtil.putInt64LE; public record User(PublicKey _address, - byte[] discriminator, + Discriminator discriminator, // The owner/authority of the account PublicKey authority, // An addresses that can control the account on the authority's behalf. Has limited power, cant withdraw @@ -104,8 +105,8 @@ public static User read(final PublicKey _address, final byte[] _data) { public static final BiFunction FACTORY = User::read; public static User read(final PublicKey _address, final byte[] _data, final int offset) { - final byte[] discriminator = parseDiscriminator(_data, offset); - int i = offset + discriminator.length; + final var discriminator = parseDiscriminator(_data, offset); + int i = offset + discriminator.length(); final var authority = readPubKey(_data, i); i += 32; final var delegate = readPubKey(_data, i); @@ -192,8 +193,7 @@ public static User read(final PublicKey _address, final byte[] _data, final int @Override public int write(final byte[] _data, final int offset) { - System.arraycopy(discriminator, 0, _data, offset, discriminator.length); - int i = offset + discriminator.length; + int i = offset + discriminator.write(_data, offset); authority.write(_data, i); i += 32; delegate.write(_data, i); diff --git a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/UserStats.java b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/UserStats.java index 25914e5..c28d30a 100644 --- a/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/UserStats.java +++ b/programs/src/main/java/software/sava/anchor/programs/drift/anchor/types/UserStats.java @@ -4,6 +4,7 @@ import software.sava.core.accounts.PublicKey; import software.sava.core.borsh.Borsh; +import software.sava.core.programs.Discriminator; import software.sava.core.rpc.Filter; import static software.sava.anchor.AnchorUtil.parseDiscriminator; @@ -14,7 +15,7 @@ import static software.sava.core.encoding.ByteUtil.putInt64LE; public record UserStats(PublicKey _address, - byte[] discriminator, + Discriminator discriminator, // The authority for all of a users sub accounts PublicKey authority, // The address that referred this user @@ -78,8 +79,8 @@ public static UserStats read(final PublicKey _address, final byte[] _data) { public static final BiFunction FACTORY = UserStats::read; public static UserStats read(final PublicKey _address, final byte[] _data, final int offset) { - final byte[] discriminator = parseDiscriminator(_data, offset); - int i = offset + discriminator.length; + final var discriminator = parseDiscriminator(_data, offset); + int i = offset + discriminator.length(); final var authority = readPubKey(_data, i); i += 32; final var referrer = readPubKey(_data, i); @@ -133,8 +134,7 @@ public static UserStats read(final PublicKey _address, final byte[] _data, final @Override public int write(final byte[] _data, final int offset) { - System.arraycopy(discriminator, 0, _data, offset, discriminator.length); - int i = offset + discriminator.length; + int i = offset + discriminator.write(_data, offset); authority.write(_data, i); i += 32; referrer.write(_data, i); diff --git a/programs/src/main/java/software/sava/anchor/programs/glam/anchor/GlamProgram.java b/programs/src/main/java/software/sava/anchor/programs/glam/anchor/GlamProgram.java index 47022e2..59ffb3e 100644 --- a/programs/src/main/java/software/sava/anchor/programs/glam/anchor/GlamProgram.java +++ b/programs/src/main/java/software/sava/anchor/programs/glam/anchor/GlamProgram.java @@ -7,6 +7,7 @@ import software.sava.core.accounts.PublicKey; import software.sava.core.accounts.meta.AccountMeta; import software.sava.core.borsh.Borsh; +import software.sava.core.programs.Discriminator; import software.sava.core.tx.Instruction; import static java.nio.charset.StandardCharsets.UTF_8; @@ -16,11 +17,11 @@ import static software.sava.core.accounts.meta.AccountMeta.createWrite; import static software.sava.core.encoding.ByteUtil.putInt32LE; import static software.sava.core.encoding.ByteUtil.putInt64LE; -import static software.sava.core.programs.ProgramUtil.toDiscriminator; +import static software.sava.core.programs.Discriminator.toDiscriminator; public final class GlamProgram { - public static final byte[] INITIALIZE_FUND_DISCRIMINATOR = toDiscriminator(212, 42, 24, 245, 146, 141, 78, 198); + public static final Discriminator INITIALIZE_FUND_DISCRIMINATOR = toDiscriminator(212, 42, 24, 245, 146, 141, 78, 198); public static Instruction initializeFund(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, @@ -44,7 +45,7 @@ public static Instruction initializeFund(final AccountMeta invokedGlamProgramMet return Instruction.createInstruction(invokedGlamProgramMeta, keys, _data); } - public static final byte[] ADD_SHARE_CLASS_DISCRIMINATOR = toDiscriminator(34, 49, 47, 6, 204, 166, 51, 204); + public static final Discriminator ADD_SHARE_CLASS_DISCRIMINATOR = toDiscriminator(34, 49, 47, 6, 204, 166, 51, 204); public static Instruction addShareClass(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, @@ -70,7 +71,7 @@ public static Instruction addShareClass(final AccountMeta invokedGlamProgramMeta return Instruction.createInstruction(invokedGlamProgramMeta, keys, _data); } - public static final byte[] UPDATE_FUND_DISCRIMINATOR = toDiscriminator(132, 171, 13, 83, 34, 122, 82, 155); + public static final Discriminator UPDATE_FUND_DISCRIMINATOR = toDiscriminator(132, 171, 13, 83, 34, 122, 82, 155); public static Instruction updateFund(final AccountMeta invokedGlamProgramMeta, final AccountMeta signerKey, @@ -88,7 +89,7 @@ public static Instruction updateFund(final AccountMeta invokedGlamProgramMeta, return Instruction.createInstruction(invokedGlamProgramMeta, keys, _data); } - public static final byte[] CLOSE_FUND_DISCRIMINATOR = toDiscriminator(230, 183, 3, 112, 236, 252, 5, 185); + public static final Discriminator CLOSE_FUND_DISCRIMINATOR = toDiscriminator(230, 183, 3, 112, 236, 252, 5, 185); public static Instruction closeFund(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, final PublicKey fundKey) { final var keys = List.of( @@ -99,7 +100,7 @@ public static Instruction closeFund(final AccountMeta invokedGlamProgramMeta, fi return Instruction.createInstruction(invokedGlamProgramMeta, keys, CLOSE_FUND_DISCRIMINATOR); } - public static final byte[] SUBSCRIBE_DISCRIMINATOR = toDiscriminator(254, 28, 191, 138, 156, 179, 183, 53); + public static final Discriminator SUBSCRIBE_DISCRIMINATOR = toDiscriminator(254, 28, 191, 138, 156, 179, 183, 53); public static Instruction subscribe(final AccountMeta invokedGlamProgramMeta, final AccountMeta signerKey, @@ -140,7 +141,7 @@ public static Instruction subscribe(final AccountMeta invokedGlamProgramMeta, return Instruction.createInstruction(invokedGlamProgramMeta, keys, _data); } - public static final byte[] REDEEM_DISCRIMINATOR = toDiscriminator(184, 12, 86, 149, 70, 196, 97, 225); + public static final Discriminator REDEEM_DISCRIMINATOR = toDiscriminator(184, 12, 86, 149, 70, 196, 97, 225); public static Instruction redeem(final AccountMeta invokedGlamProgramMeta, final AccountMeta signerKey, @@ -176,7 +177,7 @@ public static Instruction redeem(final AccountMeta invokedGlamProgramMeta, return Instruction.createInstruction(invokedGlamProgramMeta, keys, _data); } - public static final byte[] DRIFT_INITIALIZE_DISCRIMINATOR = toDiscriminator(21, 21, 69, 55, 41, 129, 44, 198); + public static final Discriminator DRIFT_INITIALIZE_DISCRIMINATOR = toDiscriminator(21, 21, 69, 55, 41, 129, 44, 198); public static Instruction driftInitialize(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, @@ -208,7 +209,7 @@ public static Instruction driftInitialize(final AccountMeta invokedGlamProgramMe return Instruction.createInstruction(invokedGlamProgramMeta, keys, _data); } - public static final byte[] DRIFT_UPDATE_DELEGATED_TRADER_DISCRIMINATOR = toDiscriminator(98, 66, 206, 146, 109, 215, 206, 57); + public static final Discriminator DRIFT_UPDATE_DELEGATED_TRADER_DISCRIMINATOR = toDiscriminator(98, 66, 206, 146, 109, 215, 206, 57); public static Instruction driftUpdateDelegatedTrader(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, @@ -232,7 +233,7 @@ public static Instruction driftUpdateDelegatedTrader(final AccountMeta invokedGl return Instruction.createInstruction(invokedGlamProgramMeta, keys, _data); } - public static final byte[] DRIFT_DEPOSIT_DISCRIMINATOR = toDiscriminator(252, 63, 250, 201, 98, 55, 130, 12); + public static final Discriminator DRIFT_DEPOSIT_DISCRIMINATOR = toDiscriminator(252, 63, 250, 201, 98, 55, 130, 12); public static Instruction driftDeposit(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, @@ -266,7 +267,7 @@ public static Instruction driftDeposit(final AccountMeta invokedGlamProgramMeta, return Instruction.createInstruction(invokedGlamProgramMeta, keys, _data); } - public static final byte[] DRIFT_WITHDRAW_DISCRIMINATOR = toDiscriminator(86, 59, 186, 123, 183, 181, 234, 137); + public static final Discriminator DRIFT_WITHDRAW_DISCRIMINATOR = toDiscriminator(86, 59, 186, 123, 183, 181, 234, 137); public static Instruction driftWithdraw(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, @@ -302,7 +303,7 @@ public static Instruction driftWithdraw(final AccountMeta invokedGlamProgramMeta return Instruction.createInstruction(invokedGlamProgramMeta, keys, _data); } - public static final byte[] DRIFT_CLOSE_DISCRIMINATOR = toDiscriminator(23, 133, 219, 157, 137, 34, 93, 58); + public static final Discriminator DRIFT_CLOSE_DISCRIMINATOR = toDiscriminator(23, 133, 219, 157, 137, 34, 93, 58); public static Instruction driftClose(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, @@ -327,7 +328,7 @@ public static Instruction driftClose(final AccountMeta invokedGlamProgramMeta, return Instruction.createInstruction(invokedGlamProgramMeta, keys, DRIFT_CLOSE_DISCRIMINATOR); } - public static final byte[] MARINADE_DEPOSIT_SOL_DISCRIMINATOR = toDiscriminator(64, 140, 200, 40, 56, 218, 181, 68); + public static final Discriminator MARINADE_DEPOSIT_SOL_DISCRIMINATOR = toDiscriminator(64, 140, 200, 40, 56, 218, 181, 68); public static Instruction marinadeDepositSol(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, @@ -371,7 +372,7 @@ public static Instruction marinadeDepositSol(final AccountMeta invokedGlamProgra return Instruction.createInstruction(invokedGlamProgramMeta, keys, _data); } - public static final byte[] MARINADE_DEPOSIT_STAKE_DISCRIMINATOR = toDiscriminator(69, 207, 194, 211, 186, 55, 199, 130); + public static final Discriminator MARINADE_DEPOSIT_STAKE_DISCRIMINATOR = toDiscriminator(69, 207, 194, 211, 186, 55, 199, 130); public static Instruction marinadeDepositStake(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, @@ -421,7 +422,7 @@ public static Instruction marinadeDepositStake(final AccountMeta invokedGlamProg return Instruction.createInstruction(invokedGlamProgramMeta, keys, _data); } - public static final byte[] MARINADE_LIQUID_UNSTAKE_DISCRIMINATOR = toDiscriminator(29, 146, 34, 21, 26, 68, 141, 161); + public static final Discriminator MARINADE_LIQUID_UNSTAKE_DISCRIMINATOR = toDiscriminator(29, 146, 34, 21, 26, 68, 141, 161); public static Instruction marinadeLiquidUnstake(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, @@ -461,7 +462,7 @@ public static Instruction marinadeLiquidUnstake(final AccountMeta invokedGlamPro return Instruction.createInstruction(invokedGlamProgramMeta, keys, _data); } - public static final byte[] MARINADE_DELAYED_UNSTAKE_DISCRIMINATOR = toDiscriminator(117, 66, 3, 222, 230, 94, 129, 95); + public static final Discriminator MARINADE_DELAYED_UNSTAKE_DISCRIMINATOR = toDiscriminator(117, 66, 3, 222, 230, 94, 129, 95); public static Instruction marinadeDelayedUnstake(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, @@ -507,7 +508,7 @@ public static Instruction marinadeDelayedUnstake(final AccountMeta invokedGlamPr return Instruction.createInstruction(invokedGlamProgramMeta, keys, _data); } - public static final byte[] MARINADE_CLAIM_TICKETS_DISCRIMINATOR = toDiscriminator(14, 146, 182, 30, 205, 47, 134, 189); + public static final Discriminator MARINADE_CLAIM_TICKETS_DISCRIMINATOR = toDiscriminator(14, 146, 182, 30, 205, 47, 134, 189); public static Instruction marinadeClaimTickets(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, @@ -536,7 +537,7 @@ public static Instruction marinadeClaimTickets(final AccountMeta invokedGlamProg return Instruction.createInstruction(invokedGlamProgramMeta, keys, MARINADE_CLAIM_TICKETS_DISCRIMINATOR); } - public static final byte[] STAKE_POOL_DEPOSIT_SOL_DISCRIMINATOR = toDiscriminator(147, 187, 91, 151, 158, 187, 247, 79); + public static final Discriminator STAKE_POOL_DEPOSIT_SOL_DISCRIMINATOR = toDiscriminator(147, 187, 91, 151, 158, 187, 247, 79); public static Instruction stakePoolDepositSol(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, @@ -576,7 +577,7 @@ public static Instruction stakePoolDepositSol(final AccountMeta invokedGlamProgr return Instruction.createInstruction(invokedGlamProgramMeta, keys, _data); } - public static final byte[] STAKE_POOL_DEPOSIT_STAKE_DISCRIMINATOR = toDiscriminator(212, 158, 195, 174, 179, 105, 9, 97); + public static final Discriminator STAKE_POOL_DEPOSIT_STAKE_DISCRIMINATOR = toDiscriminator(212, 158, 195, 174, 179, 105, 9, 97); public static Instruction stakePoolDepositStake(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, @@ -625,7 +626,7 @@ public static Instruction stakePoolDepositStake(final AccountMeta invokedGlamPro return Instruction.createInstruction(invokedGlamProgramMeta, keys, STAKE_POOL_DEPOSIT_STAKE_DISCRIMINATOR); } - public static final byte[] STAKE_POOL_WITHDRAW_SOL_DISCRIMINATOR = toDiscriminator(179, 100, 204, 0, 192, 46, 233, 181); + public static final Discriminator STAKE_POOL_WITHDRAW_SOL_DISCRIMINATOR = toDiscriminator(179, 100, 204, 0, 192, 46, 233, 181); public static Instruction stakePoolWithdrawSol(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, @@ -669,7 +670,7 @@ public static Instruction stakePoolWithdrawSol(final AccountMeta invokedGlamProg return Instruction.createInstruction(invokedGlamProgramMeta, keys, _data); } - public static final byte[] STAKE_POOL_WITHDRAW_STAKE_DISCRIMINATOR = toDiscriminator(7, 70, 250, 22, 49, 1, 143, 1); + public static final Discriminator STAKE_POOL_WITHDRAW_STAKE_DISCRIMINATOR = toDiscriminator(7, 70, 250, 22, 49, 1, 143, 1); public static Instruction stakePoolWithdrawStake(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, @@ -721,7 +722,7 @@ public static Instruction stakePoolWithdrawStake(final AccountMeta invokedGlamPr return Instruction.createInstruction(invokedGlamProgramMeta, keys, _data); } - public static final byte[] INITIALIZE_AND_DELEGATE_STAKE_DISCRIMINATOR = toDiscriminator(71, 101, 230, 157, 50, 23, 47, 1); + public static final Discriminator INITIALIZE_AND_DELEGATE_STAKE_DISCRIMINATOR = toDiscriminator(71, 101, 230, 157, 50, 23, 47, 1); public static Instruction initializeAndDelegateStake(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, @@ -763,7 +764,7 @@ public static Instruction initializeAndDelegateStake(final AccountMeta invokedGl return Instruction.createInstruction(invokedGlamProgramMeta, keys, _data); } - public static final byte[] DEACTIVATE_STAKE_ACCOUNTS_DISCRIMINATOR = toDiscriminator(58, 18, 6, 22, 226, 216, 161, 193); + public static final Discriminator DEACTIVATE_STAKE_ACCOUNTS_DISCRIMINATOR = toDiscriminator(58, 18, 6, 22, 226, 216, 161, 193); public static Instruction deactivateStakeAccounts(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, @@ -782,7 +783,7 @@ public static Instruction deactivateStakeAccounts(final AccountMeta invokedGlamP return Instruction.createInstruction(invokedGlamProgramMeta, keys, DEACTIVATE_STAKE_ACCOUNTS_DISCRIMINATOR); } - public static final byte[] WITHDRAW_FROM_STAKE_ACCOUNTS_DISCRIMINATOR = toDiscriminator(93, 209, 100, 231, 169, 160, 192, 197); + public static final Discriminator WITHDRAW_FROM_STAKE_ACCOUNTS_DISCRIMINATOR = toDiscriminator(93, 209, 100, 231, 169, 160, 192, 197); public static Instruction withdrawFromStakeAccounts(final AccountMeta invokedGlamProgramMeta, final AccountMeta managerKey, @@ -803,7 +804,7 @@ public static Instruction withdrawFromStakeAccounts(final AccountMeta invokedGla return Instruction.createInstruction(invokedGlamProgramMeta, keys, WITHDRAW_FROM_STAKE_ACCOUNTS_DISCRIMINATOR); } - public static final byte[] JUPITER_SWAP_DISCRIMINATOR = toDiscriminator(116, 207, 0, 196, 252, 120, 243, 18); + public static final Discriminator JUPITER_SWAP_DISCRIMINATOR = toDiscriminator(116, 207, 0, 196, 252, 120, 243, 18); public static Instruction jupiterSwap(final AccountMeta invokedGlamProgramMeta, final AccountMeta signerKey, @@ -849,7 +850,7 @@ public static Instruction jupiterSwap(final AccountMeta invokedGlamProgramMeta, return Instruction.createInstruction(invokedGlamProgramMeta, keys, _data); } - public static final byte[] WSOL_WRAP_DISCRIMINATOR = toDiscriminator(26, 2, 139, 159, 239, 195, 193, 9); + public static final Discriminator WSOL_WRAP_DISCRIMINATOR = toDiscriminator(26, 2, 139, 159, 239, 195, 193, 9); public static Instruction wsolWrap(final AccountMeta invokedGlamProgramMeta, final AccountMeta signerKey, @@ -879,7 +880,7 @@ public static Instruction wsolWrap(final AccountMeta invokedGlamProgramMeta, return Instruction.createInstruction(invokedGlamProgramMeta, keys, _data); } - public static final byte[] WSOL_UNWRAP_DISCRIMINATOR = toDiscriminator(123, 189, 16, 96, 233, 186, 54, 215); + public static final Discriminator WSOL_UNWRAP_DISCRIMINATOR = toDiscriminator(123, 189, 16, 96, 233, 186, 54, 215); public static Instruction wsolUnwrap(final AccountMeta invokedGlamProgramMeta, final AccountMeta signerKey, diff --git a/programs/src/main/java/software/sava/anchor/programs/glam/anchor/types/FundAccount.java b/programs/src/main/java/software/sava/anchor/programs/glam/anchor/types/FundAccount.java index 8b874b2..1e8e62f 100644 --- a/programs/src/main/java/software/sava/anchor/programs/glam/anchor/types/FundAccount.java +++ b/programs/src/main/java/software/sava/anchor/programs/glam/anchor/types/FundAccount.java @@ -6,6 +6,7 @@ import software.sava.core.accounts.PublicKey; import software.sava.core.borsh.Borsh; +import software.sava.core.programs.Discriminator; import software.sava.core.rpc.Filter; import static java.nio.charset.StandardCharsets.UTF_8; @@ -15,7 +16,7 @@ import static software.sava.core.encoding.ByteUtil.getInt32LE; public record FundAccount(PublicKey _address, - byte[] discriminator, + Discriminator discriminator, String name, byte[] _name, String uri, byte[] _uri, PublicKey treasury, @@ -36,7 +37,7 @@ public static Filter createNameFilter(final String name) { } public static FundAccount createRecord(final PublicKey _address, - final byte[] discriminator, + final Discriminator discriminator, final String name, final String uri, final PublicKey treasury, @@ -70,8 +71,8 @@ public static FundAccount read(final PublicKey _address, final byte[] _data) { public static final BiFunction FACTORY = FundAccount::read; public static FundAccount read(final PublicKey _address, final byte[] _data, final int offset) { - final byte[] discriminator = parseDiscriminator(_data, offset); - int i = offset + discriminator.length; + final var discriminator = parseDiscriminator(_data, offset); + int i = offset + discriminator.length(); final var name = Borsh.string(_data, i); i += (Integer.BYTES + getInt32LE(_data, i)); final var uri = Borsh.string(_data, i); @@ -104,8 +105,7 @@ public static FundAccount read(final PublicKey _address, final byte[] _data, fin @Override public int write(final byte[] _data, final int offset) { - System.arraycopy(discriminator, 0, _data, offset, discriminator.length); - int i = offset + discriminator.length; + int i = offset + discriminator.write(_data, offset); i += Borsh.write(_name, _data, i); i += Borsh.write(_uri, _data, i); treasury.write(_data, i); diff --git a/programs/src/main/java/software/sava/anchor/programs/glam/anchor/types/FundMetadataAccount.java b/programs/src/main/java/software/sava/anchor/programs/glam/anchor/types/FundMetadataAccount.java index 51882bb..5b72080 100644 --- a/programs/src/main/java/software/sava/anchor/programs/glam/anchor/types/FundMetadataAccount.java +++ b/programs/src/main/java/software/sava/anchor/programs/glam/anchor/types/FundMetadataAccount.java @@ -4,13 +4,14 @@ import software.sava.core.accounts.PublicKey; import software.sava.core.borsh.Borsh; +import software.sava.core.programs.Discriminator; import software.sava.core.rpc.Filter; import static software.sava.anchor.AnchorUtil.parseDiscriminator; import static software.sava.core.accounts.PublicKey.readPubKey; public record FundMetadataAccount(PublicKey _address, - byte[] discriminator, + Discriminator discriminator, PublicKey fundPubkey, CompanyField[] company, FundField[] fund, @@ -35,8 +36,8 @@ public static FundMetadataAccount read(final PublicKey _address, final byte[] _d public static final BiFunction FACTORY = FundMetadataAccount::read; public static FundMetadataAccount read(final PublicKey _address, final byte[] _data, final int offset) { - final byte[] discriminator = parseDiscriminator(_data, offset); - int i = offset + discriminator.length; + final var discriminator = parseDiscriminator(_data, offset); + int i = offset + discriminator.length(); final var fundPubkey = readPubKey(_data, i); i += 32; final var company = Borsh.readVector(CompanyField.class, CompanyField::read, _data, i); @@ -57,8 +58,7 @@ public static FundMetadataAccount read(final PublicKey _address, final byte[] _d @Override public int write(final byte[] _data, final int offset) { - System.arraycopy(discriminator, 0, _data, offset, discriminator.length); - int i = offset + discriminator.length; + int i = offset + discriminator.write(_data, offset); fundPubkey.write(_data, i); i += 32; i += Borsh.write(company, _data, i); diff --git a/programs/src/main/java/software/sava/anchor/programs/marinade/anchor/MarinadeFinanceProgram.java b/programs/src/main/java/software/sava/anchor/programs/marinade/anchor/MarinadeFinanceProgram.java index 9562ae9..bcaa683 100644 --- a/programs/src/main/java/software/sava/anchor/programs/marinade/anchor/MarinadeFinanceProgram.java +++ b/programs/src/main/java/software/sava/anchor/programs/marinade/anchor/MarinadeFinanceProgram.java @@ -9,6 +9,7 @@ import software.sava.core.accounts.PublicKey; import software.sava.core.accounts.meta.AccountMeta; import software.sava.core.borsh.Borsh; +import software.sava.core.programs.Discriminator; import software.sava.core.tx.Instruction; import static software.sava.anchor.AnchorUtil.writeDiscriminator; @@ -16,11 +17,11 @@ import static software.sava.core.accounts.meta.AccountMeta.createWrite; import static software.sava.core.encoding.ByteUtil.putInt32LE; import static software.sava.core.encoding.ByteUtil.putInt64LE; -import static software.sava.core.programs.ProgramUtil.toDiscriminator; +import static software.sava.core.programs.Discriminator.toDiscriminator; public final class MarinadeFinanceProgram { - public static final byte[] INITIALIZE_DISCRIMINATOR = toDiscriminator(175, 175, 109, 31, 13, 152, 155, 237); + public static final Discriminator INITIALIZE_DISCRIMINATOR = toDiscriminator(175, 175, 109, 31, 13, 152, 155, 237); public static Instruction initialize(final AccountMeta invokedMarinadeFinanceProgramMeta, final PublicKey stateKey, @@ -54,7 +55,7 @@ public static Instruction initialize(final AccountMeta invokedMarinadeFinancePro return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] CHANGE_AUTHORITY_DISCRIMINATOR = toDiscriminator(50, 106, 66, 104, 99, 118, 145, 88); + public static final Discriminator CHANGE_AUTHORITY_DISCRIMINATOR = toDiscriminator(50, 106, 66, 104, 99, 118, 145, 88); public static Instruction changeAuthority(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta adminAuthorityKey, @@ -72,7 +73,7 @@ public static Instruction changeAuthority(final AccountMeta invokedMarinadeFinan return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] ADD_VALIDATOR_DISCRIMINATOR = toDiscriminator(250, 113, 53, 54, 141, 117, 215, 185); + public static final Discriminator ADD_VALIDATOR_DISCRIMINATOR = toDiscriminator(250, 113, 53, 54, 141, 117, 215, 185); public static Instruction addValidator(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta managerAuthorityKey, @@ -105,7 +106,7 @@ public static Instruction addValidator(final AccountMeta invokedMarinadeFinanceP return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] REMOVE_VALIDATOR_DISCRIMINATOR = toDiscriminator(25, 96, 211, 155, 161, 14, 168, 188); + public static final Discriminator REMOVE_VALIDATOR_DISCRIMINATOR = toDiscriminator(25, 96, 211, 155, 161, 14, 168, 188); public static Instruction removeValidator(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta managerAuthorityKey, @@ -132,7 +133,7 @@ public static Instruction removeValidator(final AccountMeta invokedMarinadeFinan return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] SET_VALIDATOR_SCORE_DISCRIMINATOR = toDiscriminator(101, 41, 206, 33, 216, 111, 25, 78); + public static final Discriminator SET_VALIDATOR_SCORE_DISCRIMINATOR = toDiscriminator(101, 41, 206, 33, 216, 111, 25, 78); public static Instruction setValidatorScore(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta managerAuthorityKey, @@ -158,7 +159,7 @@ public static Instruction setValidatorScore(final AccountMeta invokedMarinadeFin return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] CONFIG_VALIDATOR_SYSTEM_DISCRIMINATOR = toDiscriminator(27, 90, 97, 209, 17, 115, 7, 40); + public static final Discriminator CONFIG_VALIDATOR_SYSTEM_DISCRIMINATOR = toDiscriminator(27, 90, 97, 209, 17, 115, 7, 40); public static Instruction configValidatorSystem(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta managerAuthorityKey, @@ -176,7 +177,7 @@ public static Instruction configValidatorSystem(final AccountMeta invokedMarinad return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] DEPOSIT_DISCRIMINATOR = toDiscriminator(242, 35, 198, 137, 82, 225, 242, 182); + public static final Discriminator DEPOSIT_DISCRIMINATOR = toDiscriminator(242, 35, 198, 137, 82, 225, 242, 182); public static Instruction deposit(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta transferFromKey, @@ -213,7 +214,7 @@ public static Instruction deposit(final AccountMeta invokedMarinadeFinanceProgra return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] DEPOSIT_STAKE_ACCOUNT_DISCRIMINATOR = toDiscriminator(110, 130, 115, 41, 164, 102, 2, 59); + public static final Discriminator DEPOSIT_STAKE_ACCOUNT_DISCRIMINATOR = toDiscriminator(110, 130, 115, 41, 164, 102, 2, 59); public static Instruction depositStakeAccount(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta stakeAuthorityKey, @@ -258,7 +259,7 @@ public static Instruction depositStakeAccount(final AccountMeta invokedMarinadeF return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] LIQUID_UNSTAKE_DISCRIMINATOR = toDiscriminator(30, 30, 119, 240, 191, 227, 12, 16); + public static final Discriminator LIQUID_UNSTAKE_DISCRIMINATOR = toDiscriminator(30, 30, 119, 240, 191, 227, 12, 16); public static Instruction liquidUnstake(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta getMsolFromAuthorityKey, @@ -292,7 +293,7 @@ public static Instruction liquidUnstake(final AccountMeta invokedMarinadeFinance return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] ADD_LIQUIDITY_DISCRIMINATOR = toDiscriminator(181, 157, 89, 67, 143, 182, 52, 72); + public static final Discriminator ADD_LIQUIDITY_DISCRIMINATOR = toDiscriminator(181, 157, 89, 67, 143, 182, 52, 72); public static Instruction addLiquidity(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta transferFromKey, @@ -324,7 +325,7 @@ public static Instruction addLiquidity(final AccountMeta invokedMarinadeFinanceP return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] REMOVE_LIQUIDITY_DISCRIMINATOR = toDiscriminator(80, 85, 209, 72, 24, 206, 177, 108); + public static final Discriminator REMOVE_LIQUIDITY_DISCRIMINATOR = toDiscriminator(80, 85, 209, 72, 24, 206, 177, 108); public static Instruction removeLiquidity(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta burnFromAuthorityKey, @@ -360,7 +361,7 @@ public static Instruction removeLiquidity(final AccountMeta invokedMarinadeFinan return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] CONFIG_LP_DISCRIMINATOR = toDiscriminator(10, 24, 168, 119, 86, 48, 225, 17); + public static final Discriminator CONFIG_LP_DISCRIMINATOR = toDiscriminator(10, 24, 168, 119, 86, 48, 225, 17); public static Instruction configLp(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta adminAuthorityKey, @@ -378,7 +379,7 @@ public static Instruction configLp(final AccountMeta invokedMarinadeFinanceProgr return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] CONFIG_MARINADE_DISCRIMINATOR = toDiscriminator(67, 3, 34, 114, 190, 185, 17, 62); + public static final Discriminator CONFIG_MARINADE_DISCRIMINATOR = toDiscriminator(67, 3, 34, 114, 190, 185, 17, 62); public static Instruction configMarinade(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta adminAuthorityKey, @@ -396,7 +397,7 @@ public static Instruction configMarinade(final AccountMeta invokedMarinadeFinanc return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] ORDER_UNSTAKE_DISCRIMINATOR = toDiscriminator(97, 167, 144, 107, 117, 190, 128, 36); + public static final Discriminator ORDER_UNSTAKE_DISCRIMINATOR = toDiscriminator(97, 167, 144, 107, 117, 190, 128, 36); public static Instruction orderUnstake(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta burnMsolAuthorityKey, @@ -426,7 +427,7 @@ public static Instruction orderUnstake(final AccountMeta invokedMarinadeFinanceP return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] CLAIM_DISCRIMINATOR = toDiscriminator(62, 198, 214, 193, 213, 159, 108, 210); + public static final Discriminator CLAIM_DISCRIMINATOR = toDiscriminator(62, 198, 214, 193, 213, 159, 108, 210); public static Instruction claim(final AccountMeta invokedMarinadeFinanceProgramMeta, final PublicKey stateKey, @@ -447,7 +448,7 @@ public static Instruction claim(final AccountMeta invokedMarinadeFinanceProgramM return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, CLAIM_DISCRIMINATOR); } - public static final byte[] STAKE_RESERVE_DISCRIMINATOR = toDiscriminator(87, 217, 23, 179, 205, 25, 113, 129); + public static final Discriminator STAKE_RESERVE_DISCRIMINATOR = toDiscriminator(87, 217, 23, 179, 205, 25, 113, 129); public static Instruction stakeReserve(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta stakeAccountKey, @@ -491,7 +492,7 @@ public static Instruction stakeReserve(final AccountMeta invokedMarinadeFinanceP return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] UPDATE_ACTIVE_DISCRIMINATOR = toDiscriminator(4, 67, 81, 64, 136, 245, 93, 152); + public static final Discriminator UPDATE_ACTIVE_DISCRIMINATOR = toDiscriminator(4, 67, 81, 64, 136, 245, 93, 152); public static Instruction updateActive(final AccountMeta invokedMarinadeFinanceProgramMeta, final PublicKey commonKey, @@ -512,7 +513,7 @@ public static Instruction updateActive(final AccountMeta invokedMarinadeFinanceP return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] UPDATE_DEACTIVATED_DISCRIMINATOR = toDiscriminator(16, 232, 131, 115, 156, 100, 239, 50); + public static final Discriminator UPDATE_DEACTIVATED_DISCRIMINATOR = toDiscriminator(16, 232, 131, 115, 156, 100, 239, 50); public static Instruction updateDeactivated(final AccountMeta invokedMarinadeFinanceProgramMeta, final PublicKey commonKey, @@ -532,7 +533,7 @@ public static Instruction updateDeactivated(final AccountMeta invokedMarinadeFin return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] DEACTIVATE_STAKE_DISCRIMINATOR = toDiscriminator(165, 158, 229, 97, 168, 220, 187, 225); + public static final Discriminator DEACTIVATE_STAKE_DISCRIMINATOR = toDiscriminator(165, 158, 229, 97, 168, 220, 187, 225); public static Instruction deactivateStake(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta splitStakeAccountKey, @@ -577,7 +578,7 @@ public static Instruction deactivateStake(final AccountMeta invokedMarinadeFinan return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] EMERGENCY_UNSTAKE_DISCRIMINATOR = toDiscriminator(123, 69, 168, 195, 183, 213, 199, 214); + public static final Discriminator EMERGENCY_UNSTAKE_DISCRIMINATOR = toDiscriminator(123, 69, 168, 195, 183, 213, 199, 214); public static Instruction emergencyUnstake(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta validatorManagerAuthorityKey, @@ -610,7 +611,7 @@ public static Instruction emergencyUnstake(final AccountMeta invokedMarinadeFina return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] PARTIAL_UNSTAKE_DISCRIMINATOR = toDiscriminator(55, 241, 205, 221, 45, 114, 205, 163); + public static final Discriminator PARTIAL_UNSTAKE_DISCRIMINATOR = toDiscriminator(55, 241, 205, 221, 45, 114, 205, 163); public static Instruction partialUnstake(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta validatorManagerAuthorityKey, @@ -658,7 +659,7 @@ public static Instruction partialUnstake(final AccountMeta invokedMarinadeFinanc return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] MERGE_STAKES_DISCRIMINATOR = toDiscriminator(216, 36, 141, 225, 243, 78, 125, 237); + public static final Discriminator MERGE_STAKES_DISCRIMINATOR = toDiscriminator(216, 36, 141, 225, 243, 78, 125, 237); public static Instruction mergeStakes(final AccountMeta invokedMarinadeFinanceProgramMeta, final PublicKey stateKey, @@ -700,7 +701,7 @@ public static Instruction mergeStakes(final AccountMeta invokedMarinadeFinancePr return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] REDELEGATE_DISCRIMINATOR = toDiscriminator(212, 82, 51, 160, 228, 80, 116, 35); + public static final Discriminator REDELEGATE_DISCRIMINATOR = toDiscriminator(212, 82, 51, 160, 228, 80, 116, 35); public static Instruction redelegate(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta splitStakeAccountKey, @@ -750,7 +751,7 @@ public static Instruction redelegate(final AccountMeta invokedMarinadeFinancePro return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] PAUSE_DISCRIMINATOR = toDiscriminator(211, 22, 221, 251, 74, 121, 193, 47); + public static final Discriminator PAUSE_DISCRIMINATOR = toDiscriminator(211, 22, 221, 251, 74, 121, 193, 47); public static Instruction pause(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta pauseAuthorityKey, final PublicKey stateKey) { final var keys = List.of( @@ -761,7 +762,7 @@ public static Instruction pause(final AccountMeta invokedMarinadeFinanceProgramM return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, PAUSE_DISCRIMINATOR); } - public static final byte[] RESUME_DISCRIMINATOR = toDiscriminator(1, 166, 51, 170, 127, 32, 141, 206); + public static final Discriminator RESUME_DISCRIMINATOR = toDiscriminator(1, 166, 51, 170, 127, 32, 141, 206); public static Instruction resume(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta pauseAuthorityKey, final PublicKey stateKey) { final var keys = List.of( @@ -772,7 +773,7 @@ public static Instruction resume(final AccountMeta invokedMarinadeFinanceProgram return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, RESUME_DISCRIMINATOR); } - public static final byte[] WITHDRAW_STAKE_ACCOUNT_DISCRIMINATOR = toDiscriminator(211, 85, 184, 65, 183, 177, 233, 217); + public static final Discriminator WITHDRAW_STAKE_ACCOUNT_DISCRIMINATOR = toDiscriminator(211, 85, 184, 65, 183, 177, 233, 217); public static Instruction withdrawStakeAccount(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta burnMsolAuthorityKey, @@ -827,7 +828,7 @@ public static Instruction withdrawStakeAccount(final AccountMeta invokedMarinade return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] REALLOC_VALIDATOR_LIST_DISCRIMINATOR = toDiscriminator(215, 59, 218, 133, 93, 138, 60, 123); + public static final Discriminator REALLOC_VALIDATOR_LIST_DISCRIMINATOR = toDiscriminator(215, 59, 218, 133, 93, 138, 60, 123); public static Instruction reallocValidatorList(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta adminAuthorityKey, @@ -851,7 +852,7 @@ public static Instruction reallocValidatorList(final AccountMeta invokedMarinade return Instruction.createInstruction(invokedMarinadeFinanceProgramMeta, keys, _data); } - public static final byte[] REALLOC_STAKE_LIST_DISCRIMINATOR = toDiscriminator(12, 36, 124, 27, 128, 96, 85, 199); + public static final Discriminator REALLOC_STAKE_LIST_DISCRIMINATOR = toDiscriminator(12, 36, 124, 27, 128, 96, 85, 199); public static Instruction reallocStakeList(final AccountMeta invokedMarinadeFinanceProgramMeta, final AccountMeta adminAuthorityKey, diff --git a/programs/src/main/java/software/sava/anchor/programs/marinade/anchor/types/State.java b/programs/src/main/java/software/sava/anchor/programs/marinade/anchor/types/State.java index 169f5c7..0fb240d 100644 --- a/programs/src/main/java/software/sava/anchor/programs/marinade/anchor/types/State.java +++ b/programs/src/main/java/software/sava/anchor/programs/marinade/anchor/types/State.java @@ -4,6 +4,7 @@ import software.sava.core.accounts.PublicKey; import software.sava.core.borsh.Borsh; +import software.sava.core.programs.Discriminator; import software.sava.core.rpc.Filter; import static software.sava.anchor.AnchorUtil.parseDiscriminator; @@ -12,7 +13,7 @@ import static software.sava.core.encoding.ByteUtil.putInt64LE; public record State(PublicKey _address, - byte[] discriminator, + Discriminator discriminator, PublicKey msolMint, PublicKey adminAuthority, PublicKey operationalSolAccount, @@ -100,8 +101,8 @@ public static State read(final PublicKey _address, final byte[] _data) { public static final BiFunction FACTORY = State::read; public static State read(final PublicKey _address, final byte[] _data, final int offset) { - final byte[] discriminator = parseDiscriminator(_data, offset); - int i = offset + discriminator.length; + final var discriminator = parseDiscriminator(_data, offset); + int i = offset + discriminator.length(); final var msolMint = readPubKey(_data, i); i += 32; final var adminAuthority = readPubKey(_data, i); @@ -194,8 +195,7 @@ public static State read(final PublicKey _address, final byte[] _data, final int @Override public int write(final byte[] _data, final int offset) { - System.arraycopy(discriminator, 0, _data, offset, discriminator.length); - int i = offset + discriminator.length; + int i = offset + discriminator.write(_data, offset); msolMint.write(_data, i); i += 32; adminAuthority.write(_data, i); diff --git a/programs/src/main/java/software/sava/anchor/programs/marinade/anchor/types/TicketAccountData.java b/programs/src/main/java/software/sava/anchor/programs/marinade/anchor/types/TicketAccountData.java index 9a12952..4b943fb 100644 --- a/programs/src/main/java/software/sava/anchor/programs/marinade/anchor/types/TicketAccountData.java +++ b/programs/src/main/java/software/sava/anchor/programs/marinade/anchor/types/TicketAccountData.java @@ -4,6 +4,7 @@ import software.sava.core.accounts.PublicKey; import software.sava.core.borsh.Borsh; +import software.sava.core.programs.Discriminator; import software.sava.core.rpc.Filter; import static software.sava.anchor.AnchorUtil.parseDiscriminator; @@ -12,7 +13,7 @@ import static software.sava.core.encoding.ByteUtil.putInt64LE; public record TicketAccountData(PublicKey _address, - byte[] discriminator, + Discriminator discriminator, PublicKey stateAddress, PublicKey beneficiary, long lamportsAmount, @@ -57,8 +58,8 @@ public static TicketAccountData read(final PublicKey _address, final byte[] _dat public static final BiFunction FACTORY = TicketAccountData::read; public static TicketAccountData read(final PublicKey _address, final byte[] _data, final int offset) { - final byte[] discriminator = parseDiscriminator(_data, offset); - int i = offset + discriminator.length; + final var discriminator = parseDiscriminator(_data, offset); + int i = offset + discriminator.length(); final var stateAddress = readPubKey(_data, i); i += 32; final var beneficiary = readPubKey(_data, i); @@ -76,8 +77,7 @@ public static TicketAccountData read(final PublicKey _address, final byte[] _dat @Override public int write(final byte[] _data, final int offset) { - System.arraycopy(discriminator, 0, _data, offset, discriminator.length); - int i = offset + discriminator.length; + int i = offset + discriminator.write(_data, offset); stateAddress.write(_data, i); i += 32; beneficiary.write(_data, i);