UNPKG

@drift-labs/sdk

Version:
40 lines (39 loc) 1.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.decodeSignedMsgOrderParamsMessage = exports.encodeSignedMsgOrderParamsMessage = void 0; const sha256_1 = require("@noble/hashes/sha256"); function encodeSignedMsgOrderParamsMessage(args) { const { coderTypes, delegateSigner } = args; const orderParamsMessage = { ...args.orderParamsMessage }; if (orderParamsMessage.maxMarginRatio === undefined) { orderParamsMessage.maxMarginRatio = null; } if (orderParamsMessage.isolatedPositionDeposit === undefined) { orderParamsMessage.isolatedPositionDeposit = null; } const anchorIxName = delegateSigner ? 'global' + ':' + 'SignedMsgOrderParamsDelegateMessage' : 'global' + ':' + 'SignedMsgOrderParamsMessage'; const prefix = Buffer.from((0, sha256_1.sha256)(anchorIxName).slice(0, 8)); const withBuilderDefaults = { ...orderParamsMessage, builderIdx: orderParamsMessage.builderIdx !== undefined ? orderParamsMessage.builderIdx : null, builderFeeTenthBps: orderParamsMessage.builderFeeTenthBps !== undefined ? orderParamsMessage.builderFeeTenthBps : null, }; const body = delegateSigner ? coderTypes.encode('signedMsgOrderParamsDelegateMessage', withBuilderDefaults) : coderTypes.encode('signedMsgOrderParamsMessage', withBuilderDefaults); return Buffer.concat([prefix, body]); } exports.encodeSignedMsgOrderParamsMessage = encodeSignedMsgOrderParamsMessage; function decodeSignedMsgOrderParamsMessage(args) { const decodeStr = args.delegateSigner ? 'signedMsgOrderParamsDelegateMessage' : 'signedMsgOrderParamsMessage'; return args.coderTypes.decode(decodeStr, Buffer.concat([args.encodedMessage.slice(8), Buffer.alloc(128)])); } exports.decodeSignedMsgOrderParamsMessage = decodeSignedMsgOrderParamsMessage;