@lightconexyz/lightcone-sdk 0.4.0 → 0.4.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -9
- package/dist/client.d.ts +5 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +14 -1
- package/dist/client.js.map +1 -1
- package/dist/context.d.ts +2 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +3 -2
- package/dist/context.js.map +1 -1
- package/dist/domain/market/client.d.ts +2 -9
- package/dist/domain/market/client.d.ts.map +1 -1
- package/dist/domain/market/client.js +2 -27
- package/dist/domain/market/client.js.map +1 -1
- package/dist/domain/market/index.d.ts +0 -1
- package/dist/domain/market/index.d.ts.map +1 -1
- package/dist/domain/market/index.js +0 -1
- package/dist/domain/market/index.js.map +1 -1
- package/dist/domain/order/client.d.ts.map +1 -1
- package/dist/domain/order/client.js +2 -1
- package/dist/domain/order/client.js.map +1 -1
- package/dist/domain/order/index.d.ts +12 -1
- package/dist/domain/order/index.d.ts.map +1 -1
- package/dist/domain/order/index.js +14 -5
- package/dist/domain/order/index.js.map +1 -1
- package/dist/domain/order/wire.d.ts +7 -2
- package/dist/domain/order/wire.d.ts.map +1 -1
- package/dist/domain/order/wire.js +18 -0
- package/dist/domain/order/wire.js.map +1 -1
- package/dist/domain/orderbook/client.d.ts.map +1 -1
- package/dist/domain/orderbook/client.js +2 -1
- package/dist/domain/orderbook/client.js.map +1 -1
- package/dist/domain/position/builders.d.ts +19 -19
- package/dist/domain/position/builders.d.ts.map +1 -1
- package/dist/domain/position/builders.js +63 -4
- package/dist/domain/position/builders.js.map +1 -1
- package/dist/domain/position/client.d.ts +2 -5
- package/dist/domain/position/client.d.ts.map +1 -1
- package/dist/domain/position/client.js +3 -61
- package/dist/domain/position/client.js.map +1 -1
- package/dist/error.d.ts +2 -1
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js +8 -0
- package/dist/error.js.map +1 -1
- package/dist/prelude.d.ts +2 -2
- package/dist/prelude.d.ts.map +1 -1
- package/dist/prelude.js +3 -4
- package/dist/prelude.js.map +1 -1
- package/dist/privy/index.d.ts.map +1 -1
- package/dist/privy/index.js +3 -2
- package/dist/privy/index.js.map +1 -1
- package/dist/program/accounts.d.ts.map +1 -1
- package/dist/program/accounts.js +10 -9
- package/dist/program/accounts.js.map +1 -1
- package/dist/program/builder.d.ts.map +1 -1
- package/dist/program/builder.js +5 -4
- package/dist/program/builder.js.map +1 -1
- package/dist/program/envelope.d.ts +5 -0
- package/dist/program/envelope.d.ts.map +1 -1
- package/dist/program/envelope.js +39 -0
- package/dist/program/envelope.js.map +1 -1
- package/dist/program/error.d.ts +17 -2
- package/dist/program/error.d.ts.map +1 -1
- package/dist/program/error.js +46 -5
- package/dist/program/error.js.map +1 -1
- package/dist/program/index.d.ts +2 -2
- package/dist/program/index.d.ts.map +1 -1
- package/dist/program/index.js +5 -5
- package/dist/program/index.js.map +1 -1
- package/dist/program/instructions.d.ts +5 -5
- package/dist/program/instructions.d.ts.map +1 -1
- package/dist/program/instructions.js +19 -18
- package/dist/program/instructions.js.map +1 -1
- package/dist/program/orders.d.ts +3 -1
- package/dist/program/orders.d.ts.map +1 -1
- package/dist/program/orders.js +13 -9
- package/dist/program/orders.js.map +1 -1
- package/dist/program/pda.d.ts.map +1 -1
- package/dist/program/pda.js +2 -1
- package/dist/program/pda.js.map +1 -1
- package/dist/program/types.d.ts +4 -4
- package/dist/program/types.d.ts.map +1 -1
- package/dist/program/types.js.map +1 -1
- package/dist/program/utils.d.ts.map +1 -1
- package/dist/program/utils.js +4 -3
- package/dist/program/utils.js.map +1 -1
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +3 -2
- package/dist/rpc.js.map +1 -1
- package/dist/shared/price.d.ts.map +1 -1
- package/dist/shared/price.js +2 -1
- package/dist/shared/price.js.map +1 -1
- package/dist/shared/types.d.ts +2 -0
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js +4 -1
- package/dist/shared/types.js.map +1 -1
- package/dist/ws/index.d.ts.map +1 -1
- package/dist/ws/index.js +6 -5
- package/dist/ws/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/domain/market/builders.d.ts +0 -37
- package/dist/domain/market/builders.d.ts.map +0 -1
- package/dist/domain/market/builders.js +0 -114
- package/dist/domain/market/builders.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/program/envelope.ts"],"names":[],"mappings":"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","sourcesContent":["import Decimal from \"decimal.js\";\nimport { Keypair, PublicKey } from \"@solana/web3.js\";\nimport bs58 from \"bs58\";\nimport type { ClientContext } from \"../context\";\nimport { requireSigningStrategy } from \"../context\";\nimport { SdkError } from \"../error\";\nimport { RetryPolicy } from \"../http\";\nimport {\n privyOrderFromLimitEnvelope,\n privyOrderFromTriggerEnvelope,\n} from \"../privy\";\nimport { alignPriceToTick, scalePriceSize } from \"../shared/scaling\";\nimport { isUserCancellation } from \"../shared/signing\";\nimport { orderbookDecimals, type OrderBookPair } from \"../domain/orderbook\";\nimport type {\n DepositSource,\n SubmitOrderRequest,\n TimeInForce,\n TriggerType,\n} from \"../shared\";\nimport type { SubmitOrderResponse } from \"../domain/order/client\";\nimport type { TriggerOrderResponse } from \"../domain/order/client\";\nimport { ProgramSdkError } from \"./error\";\nimport {\n generateSalt,\n hashOrderHex,\n signOrder,\n signOrderFull,\n toSubmitRequest,\n type SubmitRequestOptions,\n} from \"./orders\";\nimport { OrderSide, type SignedOrder } from \"./types\";\n\ninterface OrderFields {\n nonce?: number;\n salt?: bigint;\n maker?: PublicKey;\n market?: PublicKey;\n baseMint?: PublicKey;\n quoteMint?: PublicKey;\n side?: OrderSide;\n amountIn?: bigint;\n amountOut?: bigint;\n expiration: bigint;\n priceRaw?: string;\n sizeRaw?: string;\n depositSource?: DepositSource;\n}\n\nfunction defaultFields(): OrderFields {\n return {\n expiration: 0n,\n };\n}\n\nfunction toUnsignedOrder(fields: OrderFields): Omit<SignedOrder, \"signature\"> {\n if (fields.nonce === undefined) throw ProgramSdkError.missingField(\"nonce\");\n if (!fields.maker) throw ProgramSdkError.missingField(\"maker\");\n if (!fields.market) throw ProgramSdkError.missingField(\"market\");\n if (!fields.baseMint) throw ProgramSdkError.missingField(\"base_mint\");\n if (!fields.quoteMint) throw ProgramSdkError.missingField(\"quote_mint\");\n if (fields.side === undefined) throw ProgramSdkError.missingField(\"side\");\n if (fields.amountIn === undefined) throw ProgramSdkError.missingField(\"amount_in\");\n if (fields.amountOut === undefined) throw ProgramSdkError.missingField(\"amount_out\");\n\n return {\n nonce: fields.nonce,\n salt: fields.salt ?? generateSalt(),\n maker: fields.maker,\n market: fields.market,\n baseMint: fields.baseMint,\n quoteMint: fields.quoteMint,\n side: fields.side,\n amountIn: fields.amountIn,\n amountOut: fields.amountOut,\n expiration: fields.expiration,\n };\n}\n\nexport interface OrderEnvelope {\n nonce(value: number): this;\n salt(value: bigint): this;\n maker(value: PublicKey): this;\n market(value: PublicKey): this;\n baseMint(value: PublicKey): this;\n quoteMint(value: PublicKey): this;\n bid(): this;\n ask(): this;\n side(value: OrderSide): this;\n amountIn(value: bigint): this;\n amountOut(value: bigint): this;\n expiration(value: bigint): this;\n price(value: string): this;\n size(value: string): this;\n depositSource(value: DepositSource): this;\n payload(): Omit<SignedOrder, \"signature\">;\n sign(keypair: Keypair, orderbook: OrderBookPair): SubmitOrderRequest;\n finalize(signatureBase58: string, orderbook: OrderBookPair): SubmitOrderRequest;\n}\n\nclass BaseEnvelope {\n protected readonly fields: OrderFields;\n\n constructor(fields?: OrderFields) {\n this.fields = fields ? { ...fields } : defaultFields();\n }\n\n nonce(value: number): this {\n this.fields.nonce = value;\n return this;\n }\n\n salt(value: bigint): this {\n this.fields.salt = value;\n return this;\n }\n\n maker(value: PublicKey): this {\n this.fields.maker = value;\n return this;\n }\n\n market(value: PublicKey): this {\n this.fields.market = value;\n return this;\n }\n\n baseMint(value: PublicKey): this {\n this.fields.baseMint = value;\n return this;\n }\n\n quoteMint(value: PublicKey): this {\n this.fields.quoteMint = value;\n return this;\n }\n\n bid(): this {\n this.fields.side = OrderSide.BID;\n return this;\n }\n\n ask(): this {\n this.fields.side = OrderSide.ASK;\n return this;\n }\n\n side(value: OrderSide): this {\n this.fields.side = value;\n return this;\n }\n\n amountIn(value: bigint): this {\n this.fields.amountIn = value;\n return this;\n }\n\n amountOut(value: bigint): this {\n this.fields.amountOut = value;\n return this;\n }\n\n expiration(value: bigint): this {\n this.fields.expiration = value;\n return this;\n }\n\n price(value: string): this {\n this.fields.priceRaw = value;\n return this;\n }\n\n size(value: string): this {\n this.fields.sizeRaw = value;\n return this;\n }\n\n depositSource(value: DepositSource): this {\n this.fields.depositSource = value;\n return this;\n }\n\n payload(): Omit<SignedOrder, \"signature\"> {\n return toUnsignedOrder(this.fields);\n }\n\n getNonce(): number | undefined {\n return this.fields.nonce;\n }\n\n getSalt(): bigint | undefined {\n return this.fields.salt;\n }\n\n getMaker(): PublicKey | undefined {\n return this.fields.maker;\n }\n\n getMarket(): PublicKey | undefined {\n return this.fields.market;\n }\n\n getBaseMint(): PublicKey | undefined {\n return this.fields.baseMint;\n }\n\n getQuoteMint(): PublicKey | undefined {\n return this.fields.quoteMint;\n }\n\n getSide(): OrderSide | undefined {\n return this.fields.side;\n }\n\n getAmountIn(): bigint | undefined {\n return this.fields.amountIn;\n }\n\n getAmountOut(): bigint | undefined {\n return this.fields.amountOut;\n }\n\n getExpiration(): bigint {\n return this.fields.expiration;\n }\n\n getDepositSource(): DepositSource | undefined {\n return this.fields.depositSource;\n }\n\n /**\n * Auto-scale price/size to raw amounts if the user provided human-readable\n * strings but not pre-computed amounts. Skips if amounts are already set.\n */\n protected autoScale(orderbook: OrderBookPair): void {\n if (this.fields.amountIn !== undefined || this.fields.amountOut !== undefined) {\n return;\n }\n\n if (!this.fields.priceRaw) throw ProgramSdkError.missingField(\"price\");\n if (!this.fields.sizeRaw) throw ProgramSdkError.missingField(\"size\");\n if (this.fields.side === undefined) throw ProgramSdkError.missingField(\"side\");\n\n const decimals = orderbookDecimals(orderbook);\n const price = new Decimal(this.fields.priceRaw);\n const alignedPrice = alignPriceToTick(price, decimals);\n const scaled = scalePriceSize(alignedPrice, this.fields.sizeRaw, this.fields.side, decimals);\n this.fields.amountIn = scaled.amountIn;\n this.fields.amountOut = scaled.amountOut;\n }\n\n protected finalizeWithHexSignature(\n signatureHex: string,\n orderbookId: string,\n options: SubmitRequestOptions = {}\n ): SubmitOrderRequest {\n const unsigned = toUnsignedOrder(this.fields);\n return toSubmitRequest(\n {\n ...unsigned,\n signature: Buffer.from(signatureHex, \"hex\"),\n },\n orderbookId,\n {\n ...options,\n depositSource: this.fields.depositSource,\n }\n );\n }\n}\n\nexport class LimitOrderEnvelope extends BaseEnvelope implements OrderEnvelope {\n private timeInForceValue?: TimeInForce;\n\n static new(): LimitOrderEnvelope {\n return new LimitOrderEnvelope();\n }\n\n timeInForce(value: TimeInForce): this {\n this.timeInForceValue = value;\n return this;\n }\n\n getTimeInForce(): TimeInForce | undefined {\n return this.timeInForceValue;\n }\n\n sign(keypair: Keypair, orderbook: OrderBookPair): SubmitOrderRequest {\n this.autoScale(orderbook);\n const signed = signOrderFull(this.payload(), keypair);\n return toSubmitRequest(signed, orderbook.orderbookId, {\n timeInForce: this.timeInForceValue,\n depositSource: this.getDepositSource(),\n });\n }\n\n finalize(signatureBase58: string, orderbook: OrderBookPair): SubmitOrderRequest {\n this.autoScale(orderbook);\n const signatureHex = Buffer.from(bs58.decode(signatureBase58)).toString(\"hex\");\n return this.finalizeWithHexSignature(signatureHex, orderbook.orderbookId, {\n timeInForce: this.timeInForceValue,\n });\n }\n\n async submit(\n client: ClientContext,\n orderbook: OrderBookPair\n ): Promise<SubmitOrderResponse> {\n const strategy = requireSigningStrategy(client);\n this.autoScale(orderbook);\n\n switch (strategy.type) {\n case \"native\": {\n const request = this.sign(strategy.keypair, orderbook);\n const url = `${client.http.baseUrl()}/api/orders/submit`;\n return client.http.post<SubmitOrderResponse, SubmitOrderRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n case \"walletAdapter\": {\n const unsigned = this.payload();\n const hash = hashOrderHex({ ...unsigned, signature: Buffer.alloc(64) });\n const sigBytes = await strategy.signer\n .signMessage(new TextEncoder().encode(hash))\n .catch((err: unknown) => {\n const msg = err instanceof Error ? err.message : String(err);\n if (isUserCancellation(msg)) throw SdkError.userCancelled();\n throw SdkError.signing(msg);\n });\n const request = this.finalize(bs58.encode(sigBytes), orderbook);\n const url = `${client.http.baseUrl()}/api/orders/submit`;\n return client.http.post<SubmitOrderResponse, SubmitOrderRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n case \"privy\": {\n const envelope = privyOrderFromLimitEnvelope(this, orderbook.orderbookId);\n const url = `${client.http.baseUrl()}/api/privy/sign_and_send_order`;\n return client.http.post(url, { wallet_id: strategy.walletId, order: envelope }, RetryPolicy.None);\n }\n }\n }\n}\n\nexport class TriggerOrderEnvelope extends BaseEnvelope implements OrderEnvelope {\n private timeInForceValue?: TimeInForce;\n private triggerPriceValue?: number;\n private triggerTypeValue?: TriggerType;\n\n static new(): TriggerOrderEnvelope {\n return new TriggerOrderEnvelope();\n }\n\n timeInForce(value: TimeInForce): this {\n this.timeInForceValue = value;\n return this;\n }\n\n triggerPrice(value: number): this {\n this.triggerPriceValue = value;\n return this;\n }\n\n triggerType(value: TriggerType): this {\n this.triggerTypeValue = value;\n return this;\n }\n\n takeProfit(price: number): this {\n this.triggerPriceValue = price;\n this.triggerTypeValue = \"TP\" as TriggerType;\n return this;\n }\n\n stopLoss(price: number): this {\n this.triggerPriceValue = price;\n this.triggerTypeValue = \"SL\" as TriggerType;\n return this;\n }\n\n gtc(): this {\n this.timeInForceValue = \"GTC\" as TimeInForce;\n return this;\n }\n\n ioc(): this {\n this.timeInForceValue = \"IOC\" as TimeInForce;\n return this;\n }\n\n fok(): this {\n this.timeInForceValue = \"FOK\" as TimeInForce;\n return this;\n }\n\n alo(): this {\n this.timeInForceValue = \"ALO\" as TimeInForce;\n return this;\n }\n\n getTimeInForce(): TimeInForce | undefined {\n return this.timeInForceValue;\n }\n\n getTriggerPrice(): number | undefined {\n return this.triggerPriceValue;\n }\n\n getTriggerType(): TriggerType | undefined {\n return this.triggerTypeValue;\n }\n\n sign(keypair: Keypair, orderbook: OrderBookPair): SubmitOrderRequest {\n this.requireTriggerFields();\n this.autoScale(orderbook);\n const signed = signOrderFull(this.payload(), keypair);\n return toSubmitRequest(signed, orderbook.orderbookId, {\n timeInForce: this.timeInForceValue,\n triggerPrice: this.triggerPriceValue,\n triggerType: this.triggerTypeValue,\n depositSource: this.getDepositSource(),\n });\n }\n\n finalize(signatureBase58: string, orderbook: OrderBookPair): SubmitOrderRequest {\n this.requireTriggerFields();\n this.autoScale(orderbook);\n const signatureHex = Buffer.from(bs58.decode(signatureBase58)).toString(\"hex\");\n return this.finalizeWithHexSignature(signatureHex, orderbook.orderbookId, {\n timeInForce: this.timeInForceValue,\n triggerPrice: this.triggerPriceValue,\n triggerType: this.triggerTypeValue,\n });\n }\n\n async submit(\n client: ClientContext,\n orderbook: OrderBookPair\n ): Promise<TriggerOrderResponse> {\n const strategy = requireSigningStrategy(client);\n this.requireTriggerFields();\n this.autoScale(orderbook);\n\n switch (strategy.type) {\n case \"native\": {\n const request = this.sign(strategy.keypair, orderbook);\n const url = `${client.http.baseUrl()}/api/orders/submit`;\n return client.http.post<TriggerOrderResponse, SubmitOrderRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n case \"walletAdapter\": {\n const unsigned = this.payload();\n const hash = hashOrderHex({ ...unsigned, signature: Buffer.alloc(64) });\n const sigBytes = await strategy.signer\n .signMessage(new TextEncoder().encode(hash))\n .catch((err: unknown) => {\n const msg = err instanceof Error ? err.message : String(err);\n if (isUserCancellation(msg)) throw SdkError.userCancelled();\n throw SdkError.signing(msg);\n });\n const request = this.finalize(bs58.encode(sigBytes), orderbook);\n const url = `${client.http.baseUrl()}/api/orders/submit`;\n return client.http.post<TriggerOrderResponse, SubmitOrderRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n case \"privy\": {\n const envelope = privyOrderFromTriggerEnvelope(this, orderbook.orderbookId);\n const url = `${client.http.baseUrl()}/api/privy/sign_and_send_order`;\n return client.http.post(url, { wallet_id: strategy.walletId, order: envelope }, RetryPolicy.None);\n }\n }\n }\n\n private requireTriggerFields(): void {\n if (this.triggerPriceValue === undefined) {\n throw ProgramSdkError.missingField(\"trigger_price\");\n }\n if (!this.triggerTypeValue) {\n throw ProgramSdkError.missingField(\"trigger_type\");\n }\n }\n}\n\nexport function signPayload(\n payload: Omit<SignedOrder, \"signature\">,\n keypair: Keypair\n): string {\n return signOrder({ ...payload, signature: Buffer.alloc(64) }, keypair).toString(\"hex\");\n}\n"]}
|
|
1
|
+
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/program/envelope.ts"],"names":[],"mappings":"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","sourcesContent":["import Decimal from \"decimal.js\";\nimport { Keypair, PublicKey } from \"@solana/web3.js\";\nimport bs58 from \"bs58\";\nimport type { ClientContext } from \"../context\";\nimport { requireSigningStrategy } from \"../context\";\nimport { SdkError } from \"../error\";\nimport { RetryPolicy } from \"../http\";\nimport {\n privyOrderFromLimitEnvelope,\n privyOrderFromTriggerEnvelope,\n} from \"../privy\";\nimport { alignPriceToTick, scalePriceSize } from \"../shared/scaling\";\nimport { isUserCancellation } from \"../shared/signing\";\nimport { orderbookDecimals, type OrderBookPair } from \"../domain/orderbook\";\nimport type {\n DepositSource,\n SubmitOrderRequest,\n TimeInForce,\n TriggerType,\n} from \"../shared\";\nimport type { SubmitOrderResponse } from \"../domain/order/client\";\nimport type { TriggerOrderResponse } from \"../domain/order/client\";\nimport { ProgramSdkError } from \"./error\";\nimport {\n generateSalt,\n hashOrderHex,\n signOrder,\n signOrderFull,\n toSubmitRequest,\n type SubmitRequestOptions,\n} from \"./orders\";\nimport { OrderSide, type SignedOrder } from \"./types\";\n\ninterface OrderFields {\n nonce?: number;\n salt?: bigint;\n maker?: PublicKey;\n market?: PublicKey;\n baseMint?: PublicKey;\n quoteMint?: PublicKey;\n side?: OrderSide;\n amountIn?: bigint;\n amountOut?: bigint;\n expiration: bigint;\n priceRaw?: string;\n sizeRaw?: string;\n depositSource?: DepositSource;\n}\n\nfunction defaultFields(): OrderFields {\n return {\n expiration: 0n,\n };\n}\n\nfunction toUnsignedOrder(fields: OrderFields): Omit<SignedOrder, \"signature\"> {\n if (fields.nonce === undefined) throw ProgramSdkError.missingField(\"nonce\");\n if (!fields.maker) throw ProgramSdkError.missingField(\"maker\");\n if (!fields.market) throw ProgramSdkError.missingField(\"market\");\n if (!fields.baseMint) throw ProgramSdkError.missingField(\"base_mint\");\n if (!fields.quoteMint) throw ProgramSdkError.missingField(\"quote_mint\");\n if (fields.side === undefined) throw ProgramSdkError.missingField(\"side\");\n if (fields.amountIn === undefined) throw ProgramSdkError.missingField(\"amount_in\");\n if (fields.amountOut === undefined) throw ProgramSdkError.missingField(\"amount_out\");\n\n return {\n nonce: fields.nonce,\n salt: fields.salt ?? generateSalt(),\n maker: fields.maker,\n market: fields.market,\n baseMint: fields.baseMint,\n quoteMint: fields.quoteMint,\n side: fields.side,\n amountIn: fields.amountIn,\n amountOut: fields.amountOut,\n expiration: fields.expiration,\n };\n}\n\nexport interface OrderEnvelope {\n nonce(value: number): this;\n salt(value: bigint): this;\n maker(value: PublicKey): this;\n market(value: PublicKey): this;\n baseMint(value: PublicKey): this;\n quoteMint(value: PublicKey): this;\n bid(): this;\n ask(): this;\n side(value: OrderSide): this;\n amountIn(value: bigint): this;\n amountOut(value: bigint): this;\n expiration(value: bigint): this;\n price(value: string): this;\n size(value: string): this;\n depositSource(value: DepositSource): this;\n payload(): Omit<SignedOrder, \"signature\">;\n sign(keypair: Keypair, orderbook: OrderBookPair): SubmitOrderRequest;\n finalize(signatureBase58: string, orderbook: OrderBookPair): SubmitOrderRequest;\n}\n\nclass BaseEnvelope {\n protected readonly fields: OrderFields;\n\n constructor(fields?: OrderFields) {\n this.fields = fields ? { ...fields } : defaultFields();\n }\n\n nonce(value: number): this {\n this.fields.nonce = value;\n return this;\n }\n\n salt(value: bigint): this {\n this.fields.salt = value;\n return this;\n }\n\n maker(value: PublicKey): this {\n this.fields.maker = value;\n return this;\n }\n\n market(value: PublicKey): this {\n this.fields.market = value;\n return this;\n }\n\n baseMint(value: PublicKey): this {\n this.fields.baseMint = value;\n return this;\n }\n\n quoteMint(value: PublicKey): this {\n this.fields.quoteMint = value;\n return this;\n }\n\n bid(): this {\n this.fields.side = OrderSide.BID;\n return this;\n }\n\n ask(): this {\n this.fields.side = OrderSide.ASK;\n return this;\n }\n\n side(value: OrderSide): this {\n this.fields.side = value;\n return this;\n }\n\n amountIn(value: bigint): this {\n this.fields.amountIn = value;\n return this;\n }\n\n amountOut(value: bigint): this {\n this.fields.amountOut = value;\n return this;\n }\n\n expiration(value: bigint): this {\n this.fields.expiration = value;\n return this;\n }\n\n price(value: string): this {\n this.fields.priceRaw = value;\n return this;\n }\n\n size(value: string): this {\n this.fields.sizeRaw = value;\n return this;\n }\n\n depositSource(value: DepositSource): this {\n this.fields.depositSource = value;\n return this;\n }\n\n payload(): Omit<SignedOrder, \"signature\"> {\n return toUnsignedOrder(this.fields);\n }\n\n getNonce(): number | undefined {\n return this.fields.nonce;\n }\n\n getSalt(): bigint | undefined {\n return this.fields.salt;\n }\n\n getMaker(): PublicKey | undefined {\n return this.fields.maker;\n }\n\n getMarket(): PublicKey | undefined {\n return this.fields.market;\n }\n\n getBaseMint(): PublicKey | undefined {\n return this.fields.baseMint;\n }\n\n getQuoteMint(): PublicKey | undefined {\n return this.fields.quoteMint;\n }\n\n getSide(): OrderSide | undefined {\n return this.fields.side;\n }\n\n getAmountIn(): bigint | undefined {\n return this.fields.amountIn;\n }\n\n getAmountOut(): bigint | undefined {\n return this.fields.amountOut;\n }\n\n getExpiration(): bigint {\n return this.fields.expiration;\n }\n\n getDepositSource(): DepositSource | undefined {\n return this.fields.depositSource;\n }\n\n /**\n * Auto-fill market, base_mint, quote_mint, and salt from the orderbook\n * if not explicitly set by the caller.\n */\n protected autoFillFromOrderbook(orderbook: OrderBookPair): void {\n if (!this.fields.market) {\n this.fields.market = new PublicKey(orderbook.marketPubkey);\n }\n if (this.fields.salt === undefined) {\n this.fields.salt = generateSalt();\n }\n if (!this.fields.baseMint) {\n this.fields.baseMint = new PublicKey(orderbook.base.pubkey);\n }\n if (!this.fields.quoteMint) {\n this.fields.quoteMint = new PublicKey(orderbook.quote.pubkey);\n }\n }\n\n /**\n * Auto-scale price/size to raw amounts if the user provided human-readable\n * strings but not pre-computed amounts. Skips if amounts are already set.\n */\n protected autoScale(orderbook: OrderBookPair): void {\n if (this.fields.amountIn !== undefined || this.fields.amountOut !== undefined) {\n return;\n }\n\n if (!this.fields.priceRaw) throw ProgramSdkError.missingField(\"price\");\n if (!this.fields.sizeRaw) throw ProgramSdkError.missingField(\"size\");\n if (this.fields.side === undefined) throw ProgramSdkError.missingField(\"side\");\n\n const decimals = orderbookDecimals(orderbook);\n const price = new Decimal(this.fields.priceRaw);\n const alignedPrice = alignPriceToTick(price, decimals);\n const scaled = scalePriceSize(alignedPrice, this.fields.sizeRaw, this.fields.side, decimals);\n this.fields.amountIn = scaled.amountIn;\n this.fields.amountOut = scaled.amountOut;\n }\n\n protected finalizeWithHexSignature(\n signatureHex: string,\n orderbookId: string,\n options: SubmitRequestOptions = {}\n ): SubmitOrderRequest {\n const unsigned = toUnsignedOrder(this.fields);\n return toSubmitRequest(\n {\n ...unsigned,\n signature: Buffer.from(signatureHex, \"hex\"),\n },\n orderbookId,\n {\n ...options,\n depositSource: this.fields.depositSource,\n }\n );\n }\n}\n\nexport class LimitOrderEnvelope extends BaseEnvelope implements OrderEnvelope {\n private timeInForceValue?: TimeInForce;\n\n static new(): LimitOrderEnvelope {\n return new LimitOrderEnvelope();\n }\n\n timeInForce(value: TimeInForce): this {\n this.timeInForceValue = value;\n return this;\n }\n\n getTimeInForce(): TimeInForce | undefined {\n return this.timeInForceValue;\n }\n\n sign(keypair: Keypair, orderbook: OrderBookPair): SubmitOrderRequest {\n this.autoFillFromOrderbook(orderbook);\n this.autoScale(orderbook);\n const signed = signOrderFull(this.payload(), keypair);\n return toSubmitRequest(signed, orderbook.orderbookId, {\n timeInForce: this.timeInForceValue,\n depositSource: this.getDepositSource(),\n });\n }\n\n finalize(signatureBase58: string, orderbook: OrderBookPair): SubmitOrderRequest {\n this.autoFillFromOrderbook(orderbook);\n this.autoScale(orderbook);\n const signatureHex = Buffer.from(bs58.decode(signatureBase58)).toString(\"hex\");\n return this.finalizeWithHexSignature(signatureHex, orderbook.orderbookId, {\n timeInForce: this.timeInForceValue,\n });\n }\n\n async submit(\n client: ClientContext,\n orderbook: OrderBookPair\n ): Promise<SubmitOrderResponse> {\n const strategy = requireSigningStrategy(client);\n this.autoFillFromOrderbook(orderbook);\n this.autoScale(orderbook);\n\n // Nonce cache: cache if explicitly set, auto-populate from cache if not\n if (this.fields.nonce !== undefined) {\n client.setOrderNonce?.(this.fields.nonce);\n } else {\n this.fields.nonce = client.orderNonce?.() ?? 0;\n }\n\n switch (strategy.type) {\n case \"native\": {\n const request = this.sign(strategy.keypair, orderbook);\n const url = `${client.http.baseUrl()}/api/orders/submit`;\n return client.http.post<SubmitOrderResponse, SubmitOrderRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n case \"walletAdapter\": {\n const unsigned = this.payload();\n const hash = hashOrderHex({ ...unsigned, signature: Buffer.alloc(64) });\n const sigBytes = await strategy.signer\n .signMessage(new TextEncoder().encode(hash))\n .catch((err: unknown) => {\n const msg = err instanceof Error ? err.message : String(err);\n if (isUserCancellation(msg)) throw SdkError.userCancelled();\n throw SdkError.signing(msg);\n });\n const request = this.finalize(bs58.encode(sigBytes), orderbook);\n const url = `${client.http.baseUrl()}/api/orders/submit`;\n return client.http.post<SubmitOrderResponse, SubmitOrderRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n case \"privy\": {\n const envelope = privyOrderFromLimitEnvelope(this, orderbook.orderbookId);\n const url = `${client.http.baseUrl()}/api/privy/sign_and_send_order`;\n return client.http.post(url, { wallet_id: strategy.walletId, order: envelope }, RetryPolicy.None);\n }\n }\n }\n}\n\nexport class TriggerOrderEnvelope extends BaseEnvelope implements OrderEnvelope {\n private timeInForceValue?: TimeInForce;\n private triggerPriceValue?: number;\n private triggerTypeValue?: TriggerType;\n\n static new(): TriggerOrderEnvelope {\n return new TriggerOrderEnvelope();\n }\n\n timeInForce(value: TimeInForce): this {\n this.timeInForceValue = value;\n return this;\n }\n\n triggerPrice(value: number): this {\n this.triggerPriceValue = value;\n return this;\n }\n\n triggerType(value: TriggerType): this {\n this.triggerTypeValue = value;\n return this;\n }\n\n takeProfit(price: number): this {\n this.triggerPriceValue = price;\n this.triggerTypeValue = \"TP\" as TriggerType;\n return this;\n }\n\n stopLoss(price: number): this {\n this.triggerPriceValue = price;\n this.triggerTypeValue = \"SL\" as TriggerType;\n return this;\n }\n\n gtc(): this {\n this.timeInForceValue = \"GTC\" as TimeInForce;\n return this;\n }\n\n ioc(): this {\n this.timeInForceValue = \"IOC\" as TimeInForce;\n return this;\n }\n\n fok(): this {\n this.timeInForceValue = \"FOK\" as TimeInForce;\n return this;\n }\n\n alo(): this {\n this.timeInForceValue = \"ALO\" as TimeInForce;\n return this;\n }\n\n getTimeInForce(): TimeInForce | undefined {\n return this.timeInForceValue;\n }\n\n getTriggerPrice(): number | undefined {\n return this.triggerPriceValue;\n }\n\n getTriggerType(): TriggerType | undefined {\n return this.triggerTypeValue;\n }\n\n sign(keypair: Keypair, orderbook: OrderBookPair): SubmitOrderRequest {\n this.requireTriggerFields();\n this.autoFillFromOrderbook(orderbook);\n this.autoScale(orderbook);\n const signed = signOrderFull(this.payload(), keypair);\n return toSubmitRequest(signed, orderbook.orderbookId, {\n timeInForce: this.timeInForceValue,\n triggerPrice: this.triggerPriceValue,\n triggerType: this.triggerTypeValue,\n depositSource: this.getDepositSource(),\n });\n }\n\n finalize(signatureBase58: string, orderbook: OrderBookPair): SubmitOrderRequest {\n this.requireTriggerFields();\n this.autoFillFromOrderbook(orderbook);\n this.autoScale(orderbook);\n const signatureHex = Buffer.from(bs58.decode(signatureBase58)).toString(\"hex\");\n return this.finalizeWithHexSignature(signatureHex, orderbook.orderbookId, {\n timeInForce: this.timeInForceValue,\n triggerPrice: this.triggerPriceValue,\n triggerType: this.triggerTypeValue,\n });\n }\n\n async submit(\n client: ClientContext,\n orderbook: OrderBookPair\n ): Promise<TriggerOrderResponse> {\n const strategy = requireSigningStrategy(client);\n this.requireTriggerFields();\n this.autoFillFromOrderbook(orderbook);\n this.autoScale(orderbook);\n\n // Nonce cache: cache if explicitly set, auto-populate from cache if not\n if (this.fields.nonce !== undefined) {\n client.setOrderNonce?.(this.fields.nonce);\n } else {\n this.fields.nonce = client.orderNonce?.() ?? 0;\n }\n\n switch (strategy.type) {\n case \"native\": {\n const request = this.sign(strategy.keypair, orderbook);\n const url = `${client.http.baseUrl()}/api/orders/submit`;\n return client.http.post<TriggerOrderResponse, SubmitOrderRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n case \"walletAdapter\": {\n const unsigned = this.payload();\n const hash = hashOrderHex({ ...unsigned, signature: Buffer.alloc(64) });\n const sigBytes = await strategy.signer\n .signMessage(new TextEncoder().encode(hash))\n .catch((err: unknown) => {\n const msg = err instanceof Error ? err.message : String(err);\n if (isUserCancellation(msg)) throw SdkError.userCancelled();\n throw SdkError.signing(msg);\n });\n const request = this.finalize(bs58.encode(sigBytes), orderbook);\n const url = `${client.http.baseUrl()}/api/orders/submit`;\n return client.http.post<TriggerOrderResponse, SubmitOrderRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n case \"privy\": {\n const envelope = privyOrderFromTriggerEnvelope(this, orderbook.orderbookId);\n const url = `${client.http.baseUrl()}/api/privy/sign_and_send_order`;\n return client.http.post(url, { wallet_id: strategy.walletId, order: envelope }, RetryPolicy.None);\n }\n }\n }\n\n private requireTriggerFields(): void {\n if (this.triggerPriceValue === undefined) {\n throw ProgramSdkError.missingField(\"trigger_price\");\n }\n if (!this.triggerTypeValue) {\n throw ProgramSdkError.missingField(\"trigger_type\");\n }\n }\n}\n\nexport function signPayload(\n payload: Omit<SignedOrder, \"signature\">,\n keypair: Keypair\n): string {\n return signOrder({ ...payload, signature: Buffer.alloc(64) }, keypair).toString(\"hex\");\n}\n"]}
|
package/dist/program/error.d.ts
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
|
+
export type ProgramErrorVariant = "InvalidDiscriminator" | "AccountNotFound" | "InvalidDataLength" | "InvalidOutcomeCount" | "InvalidOutcomeIndex" | "TooManyMakers" | "SignatureVerificationFailed" | "InvalidSignature" | "Serialization" | "InvalidSide" | "InvalidMarketStatus" | "MissingField" | "Overflow" | "DivisionByZero" | "InvalidPubkey" | "UnsignedOrder";
|
|
1
2
|
export declare class ProgramSdkError extends Error {
|
|
2
|
-
|
|
3
|
-
|
|
3
|
+
readonly variant: ProgramErrorVariant;
|
|
4
|
+
constructor(variant: ProgramErrorVariant, message: string);
|
|
5
|
+
static invalidDiscriminator(accountType: string, expected: string, actual: string): ProgramSdkError;
|
|
6
|
+
static accountNotFound(name: string): ProgramSdkError;
|
|
7
|
+
static invalidDataLength(name: string, expected: number, actual: number): ProgramSdkError;
|
|
8
|
+
static invalidOutcomeCount(count: number): ProgramSdkError;
|
|
9
|
+
static invalidOutcomeIndex(index: number, max: number): ProgramSdkError;
|
|
10
|
+
static tooManyMakers(count: number): ProgramSdkError;
|
|
11
|
+
static signatureVerificationFailed(): ProgramSdkError;
|
|
4
12
|
static invalidSignature(): ProgramSdkError;
|
|
13
|
+
static serialization(message: string): ProgramSdkError;
|
|
14
|
+
static invalidSide(value: number): ProgramSdkError;
|
|
15
|
+
static invalidMarketStatus(value: number): ProgramSdkError;
|
|
16
|
+
static missingField(field: string): ProgramSdkError;
|
|
17
|
+
static overflow(message: string): ProgramSdkError;
|
|
18
|
+
static divisionByZero(): ProgramSdkError;
|
|
19
|
+
static invalidPubkey(message: string): ProgramSdkError;
|
|
5
20
|
static unsignedOrder(): ProgramSdkError;
|
|
6
21
|
}
|
|
7
22
|
export type ProgramResult<T> = Promise<T> | T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/program/error.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAgB,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/program/error.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAC3B,sBAAsB,GACtB,iBAAiB,GACjB,mBAAmB,GACnB,qBAAqB,GACrB,qBAAqB,GACrB,eAAe,GACf,6BAA6B,GAC7B,kBAAkB,GAClB,eAAe,GACf,aAAa,GACb,qBAAqB,GACrB,cAAc,GACd,UAAU,GACV,gBAAgB,GAChB,eAAe,GACf,eAAe,CAAC;AAEpB,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;gBAE1B,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM;IAMzD,MAAM,CAAC,oBAAoB,CACzB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,eAAe;IAOlB,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAIrD,MAAM,CAAC,iBAAiB,CACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,eAAe;IAOlB,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;IAO1D,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe;IAOvE,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;IAOpD,MAAM,CAAC,2BAA2B,IAAI,eAAe;IAOrD,MAAM,CAAC,gBAAgB,IAAI,eAAe;IAI1C,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;IAItD,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;IAIlD,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;IAO1D,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;IAOnD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;IAIjD,MAAM,CAAC,cAAc,IAAI,eAAe;IAIxC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;IAItD,MAAM,CAAC,aAAa,IAAI,eAAe;CAMxC;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC"}
|
package/dist/program/error.js
CHANGED
|
@@ -2,18 +2,59 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ProgramSdkError = void 0;
|
|
4
4
|
class ProgramSdkError extends Error {
|
|
5
|
-
|
|
5
|
+
variant;
|
|
6
|
+
constructor(variant, message) {
|
|
6
7
|
super(message);
|
|
7
8
|
this.name = "ProgramSdkError";
|
|
9
|
+
this.variant = variant;
|
|
8
10
|
}
|
|
9
|
-
static
|
|
10
|
-
return new ProgramSdkError(`
|
|
11
|
+
static invalidDiscriminator(accountType, expected, actual) {
|
|
12
|
+
return new ProgramSdkError("InvalidDiscriminator", `Invalid ${accountType} discriminator. Expected ${expected}, got ${actual}`);
|
|
13
|
+
}
|
|
14
|
+
static accountNotFound(name) {
|
|
15
|
+
return new ProgramSdkError("AccountNotFound", `${name} not found`);
|
|
16
|
+
}
|
|
17
|
+
static invalidDataLength(name, expected, actual) {
|
|
18
|
+
return new ProgramSdkError("InvalidDataLength", `Invalid ${name} data length: ${actual}, expected ${expected}`);
|
|
19
|
+
}
|
|
20
|
+
static invalidOutcomeCount(count) {
|
|
21
|
+
return new ProgramSdkError("InvalidOutcomeCount", `Invalid number of outcomes: ${count}. Must be between 2 and 6.`);
|
|
22
|
+
}
|
|
23
|
+
static invalidOutcomeIndex(index, max) {
|
|
24
|
+
return new ProgramSdkError("InvalidOutcomeIndex", `Invalid outcome index: ${index}. Must be between 0 and ${max}.`);
|
|
25
|
+
}
|
|
26
|
+
static tooManyMakers(count) {
|
|
27
|
+
return new ProgramSdkError("TooManyMakers", `Too many makers: ${count}`);
|
|
28
|
+
}
|
|
29
|
+
static signatureVerificationFailed() {
|
|
30
|
+
return new ProgramSdkError("SignatureVerificationFailed", "Signature verification failed");
|
|
11
31
|
}
|
|
12
32
|
static invalidSignature() {
|
|
13
|
-
return new ProgramSdkError("Invalid signature");
|
|
33
|
+
return new ProgramSdkError("InvalidSignature", "Invalid signature");
|
|
34
|
+
}
|
|
35
|
+
static serialization(message) {
|
|
36
|
+
return new ProgramSdkError("Serialization", message);
|
|
37
|
+
}
|
|
38
|
+
static invalidSide(value) {
|
|
39
|
+
return new ProgramSdkError("InvalidSide", `Invalid side: ${value}`);
|
|
40
|
+
}
|
|
41
|
+
static invalidMarketStatus(value) {
|
|
42
|
+
return new ProgramSdkError("InvalidMarketStatus", `Unknown market status: ${value}`);
|
|
43
|
+
}
|
|
44
|
+
static missingField(field) {
|
|
45
|
+
return new ProgramSdkError("MissingField", `Missing required field: ${field}`);
|
|
46
|
+
}
|
|
47
|
+
static overflow(message) {
|
|
48
|
+
return new ProgramSdkError("Overflow", message);
|
|
49
|
+
}
|
|
50
|
+
static divisionByZero() {
|
|
51
|
+
return new ProgramSdkError("DivisionByZero", "Division by zero");
|
|
52
|
+
}
|
|
53
|
+
static invalidPubkey(message) {
|
|
54
|
+
return new ProgramSdkError("InvalidPubkey", message);
|
|
14
55
|
}
|
|
15
56
|
static unsignedOrder() {
|
|
16
|
-
return new ProgramSdkError("Order must be signed before converting to submit request");
|
|
57
|
+
return new ProgramSdkError("UnsignedOrder", "Order must be signed before converting to submit request");
|
|
17
58
|
}
|
|
18
59
|
}
|
|
19
60
|
exports.ProgramSdkError = ProgramSdkError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/program/error.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/program/error.ts"],"names":[],"mappings":";;;AAkBA,MAAa,eAAgB,SAAQ,KAAK;IAC/B,OAAO,CAAsB;IAEtC,YAAY,OAA4B,EAAE,OAAe;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,oBAAoB,CACzB,WAAmB,EACnB,QAAgB,EAChB,MAAc;QAEd,OAAO,IAAI,eAAe,CACxB,sBAAsB,EACtB,WAAW,WAAW,4BAA4B,QAAQ,SAAS,MAAM,EAAE,CAC5E,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAY;QACjC,OAAO,IAAI,eAAe,CAAC,iBAAiB,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,iBAAiB,CACtB,IAAY,EACZ,QAAgB,EAChB,MAAc;QAEd,OAAO,IAAI,eAAe,CACxB,mBAAmB,EACnB,WAAW,IAAI,iBAAiB,MAAM,cAAc,QAAQ,EAAE,CAC/D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,KAAa;QACtC,OAAO,IAAI,eAAe,CACxB,qBAAqB,EACrB,+BAA+B,KAAK,4BAA4B,CACjE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,KAAa,EAAE,GAAW;QACnD,OAAO,IAAI,eAAe,CACxB,qBAAqB,EACrB,0BAA0B,KAAK,2BAA2B,GAAG,GAAG,CACjE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,KAAa;QAChC,OAAO,IAAI,eAAe,CACxB,eAAe,EACf,oBAAoB,KAAK,EAAE,CAC5B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,2BAA2B;QAChC,OAAO,IAAI,eAAe,CACxB,6BAA6B,EAC7B,+BAA+B,CAChC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,OAAO,IAAI,eAAe,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,OAAe;QAClC,OAAO,IAAI,eAAe,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,KAAa;QAC9B,OAAO,IAAI,eAAe,CAAC,aAAa,EAAE,iBAAiB,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,KAAa;QACtC,OAAO,IAAI,eAAe,CACxB,qBAAqB,EACrB,0BAA0B,KAAK,EAAE,CAClC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,KAAa;QAC/B,OAAO,IAAI,eAAe,CACxB,cAAc,EACd,2BAA2B,KAAK,EAAE,CACnC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,OAAe;QAC7B,OAAO,IAAI,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,OAAO,IAAI,eAAe,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,OAAe;QAClC,OAAO,IAAI,eAAe,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,aAAa;QAClB,OAAO,IAAI,eAAe,CACxB,eAAe,EACf,0DAA0D,CAC3D,CAAC;IACJ,CAAC;CACF;AA3GD,0CA2GC","sourcesContent":["export type ProgramErrorVariant =\n | \"InvalidDiscriminator\"\n | \"AccountNotFound\"\n | \"InvalidDataLength\"\n | \"InvalidOutcomeCount\"\n | \"InvalidOutcomeIndex\"\n | \"TooManyMakers\"\n | \"SignatureVerificationFailed\"\n | \"InvalidSignature\"\n | \"Serialization\"\n | \"InvalidSide\"\n | \"InvalidMarketStatus\"\n | \"MissingField\"\n | \"Overflow\"\n | \"DivisionByZero\"\n | \"InvalidPubkey\"\n | \"UnsignedOrder\";\n\nexport class ProgramSdkError extends Error {\n readonly variant: ProgramErrorVariant;\n\n constructor(variant: ProgramErrorVariant, message: string) {\n super(message);\n this.name = \"ProgramSdkError\";\n this.variant = variant;\n }\n\n static invalidDiscriminator(\n accountType: string,\n expected: string,\n actual: string,\n ): ProgramSdkError {\n return new ProgramSdkError(\n \"InvalidDiscriminator\",\n `Invalid ${accountType} discriminator. Expected ${expected}, got ${actual}`,\n );\n }\n\n static accountNotFound(name: string): ProgramSdkError {\n return new ProgramSdkError(\"AccountNotFound\", `${name} not found`);\n }\n\n static invalidDataLength(\n name: string,\n expected: number,\n actual: number,\n ): ProgramSdkError {\n return new ProgramSdkError(\n \"InvalidDataLength\",\n `Invalid ${name} data length: ${actual}, expected ${expected}`,\n );\n }\n\n static invalidOutcomeCount(count: number): ProgramSdkError {\n return new ProgramSdkError(\n \"InvalidOutcomeCount\",\n `Invalid number of outcomes: ${count}. Must be between 2 and 6.`,\n );\n }\n\n static invalidOutcomeIndex(index: number, max: number): ProgramSdkError {\n return new ProgramSdkError(\n \"InvalidOutcomeIndex\",\n `Invalid outcome index: ${index}. Must be between 0 and ${max}.`,\n );\n }\n\n static tooManyMakers(count: number): ProgramSdkError {\n return new ProgramSdkError(\n \"TooManyMakers\",\n `Too many makers: ${count}`,\n );\n }\n\n static signatureVerificationFailed(): ProgramSdkError {\n return new ProgramSdkError(\n \"SignatureVerificationFailed\",\n \"Signature verification failed\",\n );\n }\n\n static invalidSignature(): ProgramSdkError {\n return new ProgramSdkError(\"InvalidSignature\", \"Invalid signature\");\n }\n\n static serialization(message: string): ProgramSdkError {\n return new ProgramSdkError(\"Serialization\", message);\n }\n\n static invalidSide(value: number): ProgramSdkError {\n return new ProgramSdkError(\"InvalidSide\", `Invalid side: ${value}`);\n }\n\n static invalidMarketStatus(value: number): ProgramSdkError {\n return new ProgramSdkError(\n \"InvalidMarketStatus\",\n `Unknown market status: ${value}`,\n );\n }\n\n static missingField(field: string): ProgramSdkError {\n return new ProgramSdkError(\n \"MissingField\",\n `Missing required field: ${field}`,\n );\n }\n\n static overflow(message: string): ProgramSdkError {\n return new ProgramSdkError(\"Overflow\", message);\n }\n\n static divisionByZero(): ProgramSdkError {\n return new ProgramSdkError(\"DivisionByZero\", \"Division by zero\");\n }\n\n static invalidPubkey(message: string): ProgramSdkError {\n return new ProgramSdkError(\"InvalidPubkey\", message);\n }\n\n static unsignedOrder(): ProgramSdkError {\n return new ProgramSdkError(\n \"UnsignedOrder\",\n \"Order must be signed before converting to submit request\",\n );\n }\n}\n\nexport type ProgramResult<T> = Promise<T> | T;\n"]}
|
package/dist/program/index.d.ts
CHANGED
|
@@ -5,12 +5,12 @@ export { LimitOrderEnvelope, TriggerOrderEnvelope, type OrderEnvelope } from "./
|
|
|
5
5
|
export { ProgramSdkError, ProgramSdkError as SdkError } from "./error";
|
|
6
6
|
export type { ProgramResult, ProgramResult as SdkResult } from "./error";
|
|
7
7
|
export { MarketStatus, OrderSide, } from "./types";
|
|
8
|
-
export type { Exchange, GlobalDepositToken, Market, Position, OrderStatus, UserNonce, Orderbook, SignedOrder, OrderPayload, Order, InitializeParams, CreateMarketParams, OutcomeMetadata, AddDepositMintParams,
|
|
8
|
+
export type { Exchange, GlobalDepositToken, Market, Position, OrderStatus, UserNonce, Orderbook, SignedOrder, OrderPayload, Order, InitializeParams, CreateMarketParams, OutcomeMetadata, AddDepositMintParams, BuildDepositParams, BuildMergeParams, CancelOrderParams, IncrementNonceParams, SettleMarketParams, RedeemWinningsParams, SetPausedParams, SetOperatorParams, WithdrawFromPositionParams, ActivateMarketParams, MatchOrdersMultiParams, SetAuthorityParams, CreateOrderbookParams, WhitelistDepositTokenParams, DepositToGlobalParams, GlobalToMarketDepositParams, InitPositionTokensParams, ExtendPositionTokensParams, MakerFill, DepositAndSwapParams, WithdrawFromGlobalParams, BuildResult, InitializeAccounts, CreateMarketAccounts, AddDepositMintAccounts, MintCompleteSetAccounts, MergeCompleteSetAccounts, CancelOrderAccounts, IncrementNonceAccounts, SettleMarketAccounts, RedeemWinningsAccounts, ActivateMarketAccounts, MatchOrdersMultiAccounts, BidOrderParams, AskOrderParams, } from "./types";
|
|
9
9
|
export { PROGRAM_ID, ALT_PROGRAM_ID, TOKEN_PROGRAM_ID, TOKEN_2022_PROGRAM_ID, ASSOCIATED_TOKEN_PROGRAM_ID, SYSTEM_PROGRAM_ID, RENT_SYSVAR_ID, INSTRUCTION, DISCRIMINATOR, ACCOUNT_SIZE, ORDER_SIZE, MAX_OUTCOMES, MIN_OUTCOMES, MAX_MAKERS, SEEDS, } from "./constants";
|
|
10
10
|
export { toLeBytes, fromLeBytes, toBeBytes, fromBeBytes, toU8, toU32Le, toU64Le, toI64Le, fromI64Le, keccak256, deriveConditionId, getAssociatedTokenAddress, getConditionalTokenAta, getDepositTokenAta, serializeString, deserializeString, validateOutcomes, validateOutcomeIndex, validate32Bytes, } from "./utils";
|
|
11
11
|
export { getExchangePda, getMarketPda, getVaultPda, getMintAuthorityPda, getConditionalMintPda, getAllConditionalMintPdas, getOrderStatusPda, getUserNoncePda, getPositionPda, getOrderbookPda, getAltPda, getGlobalDepositTokenPda, getUserGlobalDepositPda, getPositionAltPda, pda, } from "./pda";
|
|
12
12
|
export { deserializeExchange, deserializeMarket, deserializePosition, deserializeOrderStatus, deserializeUserNonce, deserializeOrderbook, deserializeGlobalDepositToken, isExchangeAccount, isMarketAccount, isPositionAccount, isOrderStatusAccount, isUserNonceAccount, isOrderbookAccount, isGlobalDepositTokenAccount, } from "./accounts";
|
|
13
|
-
export { buildInitializeIx, buildCreateMarketIx, buildAddDepositMintIx,
|
|
13
|
+
export { buildInitializeIx, buildCreateMarketIx, buildAddDepositMintIx, buildDepositIx, buildMergeIx, buildCancelOrderIx, buildIncrementNonceIx, buildSettleMarketIx, buildRedeemWinningsIx, buildSetPausedIx, buildSetOperatorIx, buildWithdrawFromPositionIx, buildActivateMarketIx, buildMatchOrdersMultiIx, buildSetAuthorityIx, buildCreateOrderbookIx, buildWhitelistDepositTokenIx, buildDepositToGlobalIx, buildGlobalToMarketDepositIx, buildInitPositionTokensIx, buildExtendPositionTokensIx, buildDepositAndSwapIx, buildWithdrawFromGlobalIx, buildInitializeTx, buildCreateMarketTx, buildAddDepositMintTx, buildDepositTx, buildMergeTx, buildCancelOrderTx, buildIncrementNonceTx, buildSettleMarketTx, buildRedeemWinningsTx, buildSetPausedTx, buildSetOperatorTx, buildWithdrawFromPositionTx, buildActivateMarketTx, buildMatchOrdersMultiTx, buildSetAuthorityTx, buildCreateOrderbookTx, buildWhitelistDepositTokenTx, buildDepositToGlobalTx, buildGlobalToMarketDepositTx, buildInitPositionTokensTx, buildExtendPositionTokensTx, buildDepositAndSwapTx, buildWithdrawFromGlobalTx, } from "./instructions";
|
|
14
14
|
export { generateSalt, hashOrder, hashOrderHex, getOrderMessage, signOrder, signOrderFull, verifyOrderSignature, serializeSignedOrder, deserializeSignedOrder, serializeOrder, deserializeOrder, signedOrderToOrder, createBidOrder, createAskOrder, createSignedBidOrder, createSignedAskOrder, isOrderExpired, ordersCanCross, calculateTakerFill, signatureHex, isSigned, applySignature, orderToSigned, deriveOrderbookId, toSubmitRequest, cancelOrderMessage, signCancelOrder, cancelTriggerOrderMessage, signCancelTriggerOrder, cancelAllMessage, generateCancelAllSalt, signCancelAll, is_order_expired, orders_can_cross, calculate_taker_fill, cancel_order_message, cancel_trigger_order_message, cancel_all_message, generate_cancel_all_salt, derive_condition_id, apply_signature, order_to_signed, } from "./orders";
|
|
15
15
|
export { OrderBuilder } from "./builder";
|
|
16
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/program/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AACvE,YAAY,EAAE,aAAa,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,SAAS,CAAC;AAKzE,OAAO,EACL,YAAY,EACZ,SAAS,GACV,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,QAAQ,EACR,kBAAkB,EAClB,MAAM,EACN,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,KAAK,EACL,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/program/index.ts"],"names":[],"mappings":"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"}
|
package/dist/program/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getOrderbookPda = exports.getPositionPda = exports.getUserNoncePda = exports.getOrderStatusPda = exports.getAllConditionalMintPdas = exports.getConditionalMintPda = exports.getMintAuthorityPda = exports.getVaultPda = exports.getMarketPda = exports.getExchangePda = exports.validate32Bytes = exports.validateOutcomeIndex = exports.validateOutcomes = exports.deserializeString = exports.serializeString = exports.getDepositTokenAta = exports.getConditionalTokenAta = exports.getAssociatedTokenAddress = exports.deriveConditionId = exports.keccak256 = exports.fromI64Le = exports.toI64Le = exports.toU64Le = exports.toU32Le = exports.toU8 = exports.fromBeBytes = exports.toBeBytes = exports.fromLeBytes = exports.toLeBytes = exports.SEEDS = exports.MAX_MAKERS = exports.MIN_OUTCOMES = exports.MAX_OUTCOMES = exports.ORDER_SIZE = exports.ACCOUNT_SIZE = exports.DISCRIMINATOR = exports.INSTRUCTION = exports.RENT_SYSVAR_ID = exports.SYSTEM_PROGRAM_ID = exports.ASSOCIATED_TOKEN_PROGRAM_ID = exports.TOKEN_2022_PROGRAM_ID = exports.TOKEN_PROGRAM_ID = exports.ALT_PROGRAM_ID = exports.PROGRAM_ID = exports.OrderSide = exports.MarketStatus = exports.SdkError = exports.ProgramSdkError = exports.TriggerOrderEnvelope = exports.LimitOrderEnvelope = void 0;
|
|
7
|
-
exports.buildSettleMarketTx = exports.buildIncrementNonceTx = exports.buildCancelOrderTx = exports.
|
|
7
|
+
exports.buildSettleMarketTx = exports.buildIncrementNonceTx = exports.buildCancelOrderTx = exports.buildMergeTx = exports.buildDepositTx = exports.buildAddDepositMintTx = exports.buildCreateMarketTx = exports.buildInitializeTx = exports.buildWithdrawFromGlobalIx = exports.buildDepositAndSwapIx = exports.buildExtendPositionTokensIx = exports.buildInitPositionTokensIx = exports.buildGlobalToMarketDepositIx = exports.buildDepositToGlobalIx = exports.buildWhitelistDepositTokenIx = exports.buildCreateOrderbookIx = exports.buildSetAuthorityIx = exports.buildMatchOrdersMultiIx = exports.buildActivateMarketIx = exports.buildWithdrawFromPositionIx = exports.buildSetOperatorIx = exports.buildSetPausedIx = exports.buildRedeemWinningsIx = exports.buildSettleMarketIx = exports.buildIncrementNonceIx = exports.buildCancelOrderIx = exports.buildMergeIx = exports.buildDepositIx = exports.buildAddDepositMintIx = exports.buildCreateMarketIx = exports.buildInitializeIx = exports.isGlobalDepositTokenAccount = exports.isOrderbookAccount = exports.isUserNonceAccount = exports.isOrderStatusAccount = exports.isPositionAccount = exports.isMarketAccount = exports.isExchangeAccount = exports.deserializeGlobalDepositToken = exports.deserializeOrderbook = exports.deserializeUserNonce = exports.deserializeOrderStatus = exports.deserializePosition = exports.deserializeMarket = exports.deserializeExchange = exports.pda = exports.getPositionAltPda = exports.getUserGlobalDepositPda = exports.getGlobalDepositTokenPda = exports.getAltPda = void 0;
|
|
8
8
|
exports.calculate_taker_fill = exports.orders_can_cross = exports.is_order_expired = exports.signCancelAll = exports.generateCancelAllSalt = exports.cancelAllMessage = exports.signCancelTriggerOrder = exports.cancelTriggerOrderMessage = exports.signCancelOrder = exports.cancelOrderMessage = exports.toSubmitRequest = exports.deriveOrderbookId = exports.orderToSigned = exports.applySignature = exports.isSigned = exports.signatureHex = exports.calculateTakerFill = exports.ordersCanCross = exports.isOrderExpired = exports.createSignedAskOrder = exports.createSignedBidOrder = exports.createAskOrder = exports.createBidOrder = exports.signedOrderToOrder = exports.deserializeOrder = exports.serializeOrder = exports.deserializeSignedOrder = exports.serializeSignedOrder = exports.verifyOrderSignature = exports.signOrderFull = exports.signOrder = exports.getOrderMessage = exports.hashOrderHex = exports.hashOrder = exports.generateSalt = exports.buildWithdrawFromGlobalTx = exports.buildDepositAndSwapTx = exports.buildExtendPositionTokensTx = exports.buildInitPositionTokensTx = exports.buildGlobalToMarketDepositTx = exports.buildDepositToGlobalTx = exports.buildWhitelistDepositTokenTx = exports.buildCreateOrderbookTx = exports.buildSetAuthorityTx = exports.buildMatchOrdersMultiTx = exports.buildActivateMarketTx = exports.buildWithdrawFromPositionTx = exports.buildSetOperatorTx = exports.buildSetPausedTx = exports.buildRedeemWinningsTx = void 0;
|
|
9
9
|
exports.OrderBuilder = exports.order_to_signed = exports.apply_signature = exports.derive_condition_id = exports.generate_cancel_all_salt = exports.cancel_all_message = exports.cancel_trigger_order_message = exports.cancel_order_message = void 0;
|
|
10
10
|
// ============================================================================
|
|
@@ -108,8 +108,8 @@ var instructions_1 = require("./instructions");
|
|
|
108
108
|
Object.defineProperty(exports, "buildInitializeIx", { enumerable: true, get: function () { return instructions_1.buildInitializeIx; } });
|
|
109
109
|
Object.defineProperty(exports, "buildCreateMarketIx", { enumerable: true, get: function () { return instructions_1.buildCreateMarketIx; } });
|
|
110
110
|
Object.defineProperty(exports, "buildAddDepositMintIx", { enumerable: true, get: function () { return instructions_1.buildAddDepositMintIx; } });
|
|
111
|
-
Object.defineProperty(exports, "
|
|
112
|
-
Object.defineProperty(exports, "
|
|
111
|
+
Object.defineProperty(exports, "buildDepositIx", { enumerable: true, get: function () { return instructions_1.buildDepositIx; } });
|
|
112
|
+
Object.defineProperty(exports, "buildMergeIx", { enumerable: true, get: function () { return instructions_1.buildMergeIx; } });
|
|
113
113
|
Object.defineProperty(exports, "buildCancelOrderIx", { enumerable: true, get: function () { return instructions_1.buildCancelOrderIx; } });
|
|
114
114
|
Object.defineProperty(exports, "buildIncrementNonceIx", { enumerable: true, get: function () { return instructions_1.buildIncrementNonceIx; } });
|
|
115
115
|
Object.defineProperty(exports, "buildSettleMarketIx", { enumerable: true, get: function () { return instructions_1.buildSettleMarketIx; } });
|
|
@@ -131,8 +131,8 @@ Object.defineProperty(exports, "buildWithdrawFromGlobalIx", { enumerable: true,
|
|
|
131
131
|
Object.defineProperty(exports, "buildInitializeTx", { enumerable: true, get: function () { return instructions_1.buildInitializeTx; } });
|
|
132
132
|
Object.defineProperty(exports, "buildCreateMarketTx", { enumerable: true, get: function () { return instructions_1.buildCreateMarketTx; } });
|
|
133
133
|
Object.defineProperty(exports, "buildAddDepositMintTx", { enumerable: true, get: function () { return instructions_1.buildAddDepositMintTx; } });
|
|
134
|
-
Object.defineProperty(exports, "
|
|
135
|
-
Object.defineProperty(exports, "
|
|
134
|
+
Object.defineProperty(exports, "buildDepositTx", { enumerable: true, get: function () { return instructions_1.buildDepositTx; } });
|
|
135
|
+
Object.defineProperty(exports, "buildMergeTx", { enumerable: true, get: function () { return instructions_1.buildMergeTx; } });
|
|
136
136
|
Object.defineProperty(exports, "buildCancelOrderTx", { enumerable: true, get: function () { return instructions_1.buildCancelOrderTx; } });
|
|
137
137
|
Object.defineProperty(exports, "buildIncrementNonceTx", { enumerable: true, get: function () { return instructions_1.buildIncrementNonceTx; } });
|
|
138
138
|
Object.defineProperty(exports, "buildSettleMarketTx", { enumerable: true, get: function () { return instructions_1.buildSettleMarketTx; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/program/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * On-chain program interaction module for Lightcone.\n */\n\n// ============================================================================\n// ENVELOPE / BUILDER\n// ============================================================================\nexport { LimitOrderEnvelope, TriggerOrderEnvelope, type OrderEnvelope } from \"./envelope\";\nexport { ProgramSdkError, ProgramSdkError as SdkError } from \"./error\";\nexport type { ProgramResult, ProgramResult as SdkResult } from \"./error\";\n\n// ============================================================================\n// TYPES\n// ============================================================================\nexport {\n MarketStatus,\n OrderSide,\n} from \"./types\";\n\nexport type {\n Exchange,\n GlobalDepositToken,\n Market,\n Position,\n OrderStatus,\n UserNonce,\n Orderbook,\n SignedOrder,\n OrderPayload,\n Order,\n InitializeParams,\n CreateMarketParams,\n OutcomeMetadata,\n AddDepositMintParams,\n MintCompleteSetParams,\n MergeCompleteSetParams,\n CancelOrderParams,\n IncrementNonceParams,\n SettleMarketParams,\n RedeemWinningsParams,\n SetPausedParams,\n SetOperatorParams,\n WithdrawFromPositionParams,\n ActivateMarketParams,\n MatchOrdersMultiParams,\n SetAuthorityParams,\n CreateOrderbookParams,\n WhitelistDepositTokenParams,\n DepositToGlobalParams,\n GlobalToMarketDepositParams,\n InitPositionTokensParams,\n ExtendPositionTokensParams,\n MakerFill,\n DepositAndSwapParams,\n WithdrawFromGlobalParams,\n BuildResult,\n InitializeAccounts,\n CreateMarketAccounts,\n AddDepositMintAccounts,\n MintCompleteSetAccounts,\n MergeCompleteSetAccounts,\n CancelOrderAccounts,\n IncrementNonceAccounts,\n SettleMarketAccounts,\n RedeemWinningsAccounts,\n ActivateMarketAccounts,\n MatchOrdersMultiAccounts,\n BidOrderParams,\n AskOrderParams,\n} from \"./types\";\n\n// ============================================================================\n// CONSTANTS\n// ============================================================================\nexport {\n PROGRAM_ID,\n ALT_PROGRAM_ID,\n TOKEN_PROGRAM_ID,\n TOKEN_2022_PROGRAM_ID,\n ASSOCIATED_TOKEN_PROGRAM_ID,\n SYSTEM_PROGRAM_ID,\n RENT_SYSVAR_ID,\n INSTRUCTION,\n DISCRIMINATOR,\n ACCOUNT_SIZE,\n ORDER_SIZE,\n MAX_OUTCOMES,\n MIN_OUTCOMES,\n MAX_MAKERS,\n SEEDS,\n} from \"./constants\";\n\n// ============================================================================\n// UTILITIES\n// ============================================================================\nexport {\n toLeBytes,\n fromLeBytes,\n toBeBytes,\n fromBeBytes,\n toU8,\n toU32Le,\n toU64Le,\n toI64Le,\n fromI64Le,\n keccak256,\n deriveConditionId,\n getAssociatedTokenAddress,\n getConditionalTokenAta,\n getDepositTokenAta,\n serializeString,\n deserializeString,\n validateOutcomes,\n validateOutcomeIndex,\n validate32Bytes,\n} from \"./utils\";\n\n// ============================================================================\n// PDA FUNCTIONS\n// ============================================================================\nexport {\n getExchangePda,\n getMarketPda,\n getVaultPda,\n getMintAuthorityPda,\n getConditionalMintPda,\n getAllConditionalMintPdas,\n getOrderStatusPda,\n getUserNoncePda,\n getPositionPda,\n getOrderbookPda,\n getAltPda,\n getGlobalDepositTokenPda,\n getUserGlobalDepositPda,\n getPositionAltPda,\n pda,\n} from \"./pda\";\n\n// ============================================================================\n// ACCOUNT DESERIALIZATION\n// ============================================================================\nexport {\n deserializeExchange,\n deserializeMarket,\n deserializePosition,\n deserializeOrderStatus,\n deserializeUserNonce,\n deserializeOrderbook,\n deserializeGlobalDepositToken,\n isExchangeAccount,\n isMarketAccount,\n isPositionAccount,\n isOrderStatusAccount,\n isUserNonceAccount,\n isOrderbookAccount,\n isGlobalDepositTokenAccount,\n} from \"./accounts\";\n\n// ============================================================================\n// INSTRUCTION BUILDERS\n// ============================================================================\nexport {\n buildInitializeIx,\n buildCreateMarketIx,\n buildAddDepositMintIx,\n buildMintCompleteSetIx,\n buildMergeCompleteSetIx,\n buildCancelOrderIx,\n buildIncrementNonceIx,\n buildSettleMarketIx,\n buildRedeemWinningsIx,\n buildSetPausedIx,\n buildSetOperatorIx,\n buildWithdrawFromPositionIx,\n buildActivateMarketIx,\n buildMatchOrdersMultiIx,\n buildSetAuthorityIx,\n buildCreateOrderbookIx,\n buildWhitelistDepositTokenIx,\n buildDepositToGlobalIx,\n buildGlobalToMarketDepositIx,\n buildInitPositionTokensIx,\n buildExtendPositionTokensIx,\n buildDepositAndSwapIx,\n buildWithdrawFromGlobalIx,\n buildInitializeTx,\n buildCreateMarketTx,\n buildAddDepositMintTx,\n buildMintCompleteSetTx,\n buildMergeCompleteSetTx,\n buildCancelOrderTx,\n buildIncrementNonceTx,\n buildSettleMarketTx,\n buildRedeemWinningsTx,\n buildSetPausedTx,\n buildSetOperatorTx,\n buildWithdrawFromPositionTx,\n buildActivateMarketTx,\n buildMatchOrdersMultiTx,\n buildSetAuthorityTx,\n buildCreateOrderbookTx,\n buildWhitelistDepositTokenTx,\n buildDepositToGlobalTx,\n buildGlobalToMarketDepositTx,\n buildInitPositionTokensTx,\n buildExtendPositionTokensTx,\n buildDepositAndSwapTx,\n buildWithdrawFromGlobalTx,\n} from \"./instructions\";\n\n// ============================================================================\n// ORDER UTILITIES\n// ============================================================================\nexport {\n generateSalt,\n hashOrder,\n hashOrderHex,\n getOrderMessage,\n signOrder,\n signOrderFull,\n verifyOrderSignature,\n serializeSignedOrder,\n deserializeSignedOrder,\n serializeOrder,\n deserializeOrder,\n signedOrderToOrder,\n createBidOrder,\n createAskOrder,\n createSignedBidOrder,\n createSignedAskOrder,\n isOrderExpired,\n ordersCanCross,\n calculateTakerFill,\n signatureHex,\n isSigned,\n applySignature,\n orderToSigned,\n deriveOrderbookId,\n toSubmitRequest,\n cancelOrderMessage,\n signCancelOrder,\n cancelTriggerOrderMessage,\n signCancelTriggerOrder,\n cancelAllMessage,\n generateCancelAllSalt,\n signCancelAll,\n is_order_expired,\n orders_can_cross,\n calculate_taker_fill,\n cancel_order_message,\n cancel_trigger_order_message,\n cancel_all_message,\n generate_cancel_all_salt,\n derive_condition_id,\n apply_signature,\n order_to_signed,\n} from \"./orders\";\n\n// ============================================================================\n// ORDER BUILDER\n// ============================================================================\nexport { OrderBuilder } from \"./builder\";\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/program/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * On-chain program interaction module for Lightcone.\n */\n\n// ============================================================================\n// ENVELOPE / BUILDER\n// ============================================================================\nexport { LimitOrderEnvelope, TriggerOrderEnvelope, type OrderEnvelope } from \"./envelope\";\nexport { ProgramSdkError, ProgramSdkError as SdkError } from \"./error\";\nexport type { ProgramResult, ProgramResult as SdkResult } from \"./error\";\n\n// ============================================================================\n// TYPES\n// ============================================================================\nexport {\n MarketStatus,\n OrderSide,\n} from \"./types\";\n\nexport type {\n Exchange,\n GlobalDepositToken,\n Market,\n Position,\n OrderStatus,\n UserNonce,\n Orderbook,\n SignedOrder,\n OrderPayload,\n Order,\n InitializeParams,\n CreateMarketParams,\n OutcomeMetadata,\n AddDepositMintParams,\n BuildDepositParams,\n BuildMergeParams,\n CancelOrderParams,\n IncrementNonceParams,\n SettleMarketParams,\n RedeemWinningsParams,\n SetPausedParams,\n SetOperatorParams,\n WithdrawFromPositionParams,\n ActivateMarketParams,\n MatchOrdersMultiParams,\n SetAuthorityParams,\n CreateOrderbookParams,\n WhitelistDepositTokenParams,\n DepositToGlobalParams,\n GlobalToMarketDepositParams,\n InitPositionTokensParams,\n ExtendPositionTokensParams,\n MakerFill,\n DepositAndSwapParams,\n WithdrawFromGlobalParams,\n BuildResult,\n InitializeAccounts,\n CreateMarketAccounts,\n AddDepositMintAccounts,\n MintCompleteSetAccounts,\n MergeCompleteSetAccounts,\n CancelOrderAccounts,\n IncrementNonceAccounts,\n SettleMarketAccounts,\n RedeemWinningsAccounts,\n ActivateMarketAccounts,\n MatchOrdersMultiAccounts,\n BidOrderParams,\n AskOrderParams,\n} from \"./types\";\n\n// ============================================================================\n// CONSTANTS\n// ============================================================================\nexport {\n PROGRAM_ID,\n ALT_PROGRAM_ID,\n TOKEN_PROGRAM_ID,\n TOKEN_2022_PROGRAM_ID,\n ASSOCIATED_TOKEN_PROGRAM_ID,\n SYSTEM_PROGRAM_ID,\n RENT_SYSVAR_ID,\n INSTRUCTION,\n DISCRIMINATOR,\n ACCOUNT_SIZE,\n ORDER_SIZE,\n MAX_OUTCOMES,\n MIN_OUTCOMES,\n MAX_MAKERS,\n SEEDS,\n} from \"./constants\";\n\n// ============================================================================\n// UTILITIES\n// ============================================================================\nexport {\n toLeBytes,\n fromLeBytes,\n toBeBytes,\n fromBeBytes,\n toU8,\n toU32Le,\n toU64Le,\n toI64Le,\n fromI64Le,\n keccak256,\n deriveConditionId,\n getAssociatedTokenAddress,\n getConditionalTokenAta,\n getDepositTokenAta,\n serializeString,\n deserializeString,\n validateOutcomes,\n validateOutcomeIndex,\n validate32Bytes,\n} from \"./utils\";\n\n// ============================================================================\n// PDA FUNCTIONS\n// ============================================================================\nexport {\n getExchangePda,\n getMarketPda,\n getVaultPda,\n getMintAuthorityPda,\n getConditionalMintPda,\n getAllConditionalMintPdas,\n getOrderStatusPda,\n getUserNoncePda,\n getPositionPda,\n getOrderbookPda,\n getAltPda,\n getGlobalDepositTokenPda,\n getUserGlobalDepositPda,\n getPositionAltPda,\n pda,\n} from \"./pda\";\n\n// ============================================================================\n// ACCOUNT DESERIALIZATION\n// ============================================================================\nexport {\n deserializeExchange,\n deserializeMarket,\n deserializePosition,\n deserializeOrderStatus,\n deserializeUserNonce,\n deserializeOrderbook,\n deserializeGlobalDepositToken,\n isExchangeAccount,\n isMarketAccount,\n isPositionAccount,\n isOrderStatusAccount,\n isUserNonceAccount,\n isOrderbookAccount,\n isGlobalDepositTokenAccount,\n} from \"./accounts\";\n\n// ============================================================================\n// INSTRUCTION BUILDERS\n// ============================================================================\nexport {\n buildInitializeIx,\n buildCreateMarketIx,\n buildAddDepositMintIx,\n buildDepositIx,\n buildMergeIx,\n buildCancelOrderIx,\n buildIncrementNonceIx,\n buildSettleMarketIx,\n buildRedeemWinningsIx,\n buildSetPausedIx,\n buildSetOperatorIx,\n buildWithdrawFromPositionIx,\n buildActivateMarketIx,\n buildMatchOrdersMultiIx,\n buildSetAuthorityIx,\n buildCreateOrderbookIx,\n buildWhitelistDepositTokenIx,\n buildDepositToGlobalIx,\n buildGlobalToMarketDepositIx,\n buildInitPositionTokensIx,\n buildExtendPositionTokensIx,\n buildDepositAndSwapIx,\n buildWithdrawFromGlobalIx,\n buildInitializeTx,\n buildCreateMarketTx,\n buildAddDepositMintTx,\n buildDepositTx,\n buildMergeTx,\n buildCancelOrderTx,\n buildIncrementNonceTx,\n buildSettleMarketTx,\n buildRedeemWinningsTx,\n buildSetPausedTx,\n buildSetOperatorTx,\n buildWithdrawFromPositionTx,\n buildActivateMarketTx,\n buildMatchOrdersMultiTx,\n buildSetAuthorityTx,\n buildCreateOrderbookTx,\n buildWhitelistDepositTokenTx,\n buildDepositToGlobalTx,\n buildGlobalToMarketDepositTx,\n buildInitPositionTokensTx,\n buildExtendPositionTokensTx,\n buildDepositAndSwapTx,\n buildWithdrawFromGlobalTx,\n} from \"./instructions\";\n\n// ============================================================================\n// ORDER UTILITIES\n// ============================================================================\nexport {\n generateSalt,\n hashOrder,\n hashOrderHex,\n getOrderMessage,\n signOrder,\n signOrderFull,\n verifyOrderSignature,\n serializeSignedOrder,\n deserializeSignedOrder,\n serializeOrder,\n deserializeOrder,\n signedOrderToOrder,\n createBidOrder,\n createAskOrder,\n createSignedBidOrder,\n createSignedAskOrder,\n isOrderExpired,\n ordersCanCross,\n calculateTakerFill,\n signatureHex,\n isSigned,\n applySignature,\n orderToSigned,\n deriveOrderbookId,\n toSubmitRequest,\n cancelOrderMessage,\n signCancelOrder,\n cancelTriggerOrderMessage,\n signCancelTriggerOrder,\n cancelAllMessage,\n generateCancelAllSalt,\n signCancelAll,\n is_order_expired,\n orders_can_cross,\n calculate_taker_fill,\n cancel_order_message,\n cancel_trigger_order_message,\n cancel_all_message,\n generate_cancel_all_salt,\n derive_condition_id,\n apply_signature,\n order_to_signed,\n} from \"./orders\";\n\n// ============================================================================\n// ORDER BUILDER\n// ============================================================================\nexport { OrderBuilder } from \"./builder\";\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PublicKey, Transaction, TransactionInstruction } from "@solana/web3.js";
|
|
2
|
-
import { InitializeParams, CreateMarketParams, AddDepositMintParams,
|
|
2
|
+
import { InitializeParams, CreateMarketParams, AddDepositMintParams, BuildDepositParams, BuildMergeParams, SettleMarketParams, RedeemWinningsParams, WithdrawFromPositionParams, ActivateMarketParams, MatchOrdersMultiParams, SetAuthorityParams, CreateOrderbookParams, WhitelistDepositTokenParams, DepositToGlobalParams, GlobalToMarketDepositParams, InitPositionTokensParams, ExtendPositionTokensParams, DepositAndSwapParams, WithdrawFromGlobalParams, SignedOrder } from "./types";
|
|
3
3
|
/**
|
|
4
4
|
* Build Initialize instruction
|
|
5
5
|
* Creates the exchange account (singleton)
|
|
@@ -64,7 +64,7 @@ export declare function buildAddDepositMintIx(params: AddDepositMintParams, mark
|
|
|
64
64
|
*
|
|
65
65
|
* Data: [discriminator, amount (u64)]
|
|
66
66
|
*/
|
|
67
|
-
export declare function
|
|
67
|
+
export declare function buildDepositIx(params: BuildDepositParams, numOutcomes: number, programId?: PublicKey): TransactionInstruction;
|
|
68
68
|
/**
|
|
69
69
|
* Build MergeCompleteSet instruction
|
|
70
70
|
*
|
|
@@ -83,7 +83,7 @@ export declare function buildMintCompleteSetIx(params: MintCompleteSetParams, nu
|
|
|
83
83
|
*
|
|
84
84
|
* Data: [discriminator, amount (u64)]
|
|
85
85
|
*/
|
|
86
|
-
export declare function
|
|
86
|
+
export declare function buildMergeIx(params: BuildMergeParams, numOutcomes: number, programId?: PublicKey): TransactionInstruction;
|
|
87
87
|
/**
|
|
88
88
|
* Build CancelOrder instruction
|
|
89
89
|
*
|
|
@@ -363,8 +363,8 @@ export declare function buildWithdrawFromGlobalIx(params: WithdrawFromGlobalPara
|
|
|
363
363
|
export declare function buildInitializeTx(params: InitializeParams, programId?: PublicKey): Transaction;
|
|
364
364
|
export declare function buildCreateMarketTx(params: CreateMarketParams, marketId: bigint, programId?: PublicKey): Transaction;
|
|
365
365
|
export declare function buildAddDepositMintTx(params: AddDepositMintParams, market: PublicKey, numOutcomes: number, programId?: PublicKey): Transaction;
|
|
366
|
-
export declare function
|
|
367
|
-
export declare function
|
|
366
|
+
export declare function buildDepositTx(params: BuildDepositParams, numOutcomes: number, programId?: PublicKey): Transaction;
|
|
367
|
+
export declare function buildMergeTx(params: BuildMergeParams, numOutcomes: number, programId?: PublicKey): Transaction;
|
|
368
368
|
export declare function buildCancelOrderTx(maker: PublicKey, market: PublicKey, order: SignedOrder, programId?: PublicKey): Transaction;
|
|
369
369
|
export declare function buildIncrementNonceTx(user: PublicKey, programId?: PublicKey): Transaction;
|
|
370
370
|
export declare function buildSettleMarketTx(params: SettleMarketParams, programId?: PublicKey): Transaction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/program/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,WAAW,EACX,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAWzB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/program/instructions.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.buildInitializeIx = buildInitializeIx;
|
|
4
4
|
exports.buildCreateMarketIx = buildCreateMarketIx;
|
|
5
5
|
exports.buildAddDepositMintIx = buildAddDepositMintIx;
|
|
6
|
-
exports.
|
|
7
|
-
exports.
|
|
6
|
+
exports.buildDepositIx = buildDepositIx;
|
|
7
|
+
exports.buildMergeIx = buildMergeIx;
|
|
8
8
|
exports.buildCancelOrderIx = buildCancelOrderIx;
|
|
9
9
|
exports.buildIncrementNonceIx = buildIncrementNonceIx;
|
|
10
10
|
exports.buildSettleMarketIx = buildSettleMarketIx;
|
|
@@ -26,8 +26,8 @@ exports.buildWithdrawFromGlobalIx = buildWithdrawFromGlobalIx;
|
|
|
26
26
|
exports.buildInitializeTx = buildInitializeTx;
|
|
27
27
|
exports.buildCreateMarketTx = buildCreateMarketTx;
|
|
28
28
|
exports.buildAddDepositMintTx = buildAddDepositMintTx;
|
|
29
|
-
exports.
|
|
30
|
-
exports.
|
|
29
|
+
exports.buildDepositTx = buildDepositTx;
|
|
30
|
+
exports.buildMergeTx = buildMergeTx;
|
|
31
31
|
exports.buildCancelOrderTx = buildCancelOrderTx;
|
|
32
32
|
exports.buildIncrementNonceTx = buildIncrementNonceTx;
|
|
33
33
|
exports.buildSettleMarketTx = buildSettleMarketTx;
|
|
@@ -52,6 +52,7 @@ const types_1 = require("./types");
|
|
|
52
52
|
const pda_1 = require("./pda");
|
|
53
53
|
const utils_1 = require("./utils");
|
|
54
54
|
const orders_1 = require("./orders");
|
|
55
|
+
const error_1 = require("./error");
|
|
55
56
|
// ============================================================================
|
|
56
57
|
// HELPER FUNCTIONS
|
|
57
58
|
// ============================================================================
|
|
@@ -157,7 +158,7 @@ function serializeOutcomeMetadata(metadata) {
|
|
|
157
158
|
*/
|
|
158
159
|
function buildAddDepositMintIx(params, market, numOutcomes, programId = constants_1.PROGRAM_ID) {
|
|
159
160
|
if (params.outcomeMetadata.length !== numOutcomes) {
|
|
160
|
-
throw
|
|
161
|
+
throw error_1.ProgramSdkError.invalidOutcomeCount(params.outcomeMetadata.length);
|
|
161
162
|
}
|
|
162
163
|
const [vault] = (0, pda_1.getVaultPda)(params.depositMint, market, programId);
|
|
163
164
|
const [mintAuthority] = (0, pda_1.getMintAuthorityPda)(market, programId);
|
|
@@ -208,7 +209,7 @@ function buildAddDepositMintIx(params, market, numOutcomes, programId = constant
|
|
|
208
209
|
*
|
|
209
210
|
* Data: [discriminator, amount (u64)]
|
|
210
211
|
*/
|
|
211
|
-
function
|
|
212
|
+
function buildDepositIx(params, numOutcomes, programId = constants_1.PROGRAM_ID) {
|
|
212
213
|
const [exchange] = (0, pda_1.getExchangePda)(programId);
|
|
213
214
|
const [vault] = (0, pda_1.getVaultPda)(params.depositMint, params.market, programId);
|
|
214
215
|
const [mintAuthority] = (0, pda_1.getMintAuthorityPda)(params.market, programId);
|
|
@@ -264,7 +265,7 @@ function buildMintCompleteSetIx(params, numOutcomes, programId = constants_1.PRO
|
|
|
264
265
|
*
|
|
265
266
|
* Data: [discriminator, amount (u64)]
|
|
266
267
|
*/
|
|
267
|
-
function
|
|
268
|
+
function buildMergeIx(params, numOutcomes, programId = constants_1.PROGRAM_ID) {
|
|
268
269
|
const [exchange] = (0, pda_1.getExchangePda)(programId);
|
|
269
270
|
const [vault] = (0, pda_1.getVaultPda)(params.depositMint, params.market, programId);
|
|
270
271
|
const [mintAuthority] = (0, pda_1.getMintAuthorityPda)(params.market, programId);
|
|
@@ -578,16 +579,16 @@ function buildActivateMarketIx(params, programId = constants_1.PROGRAM_ID) {
|
|
|
578
579
|
*/
|
|
579
580
|
function buildMatchOrdersMultiIx(params, programId = constants_1.PROGRAM_ID) {
|
|
580
581
|
if (params.makerOrders.length === 0) {
|
|
581
|
-
throw
|
|
582
|
+
throw error_1.ProgramSdkError.missingField("makers");
|
|
582
583
|
}
|
|
583
584
|
if (params.makerOrders.length > constants_1.MAX_MAKERS) {
|
|
584
|
-
throw
|
|
585
|
+
throw error_1.ProgramSdkError.tooManyMakers(params.makerOrders.length);
|
|
585
586
|
}
|
|
586
587
|
if (params.makerOrders.length !== params.makerFillAmounts.length) {
|
|
587
|
-
throw
|
|
588
|
+
throw error_1.ProgramSdkError.invalidDataLength("makerFillAmounts", params.makerOrders.length, params.makerFillAmounts.length);
|
|
588
589
|
}
|
|
589
590
|
if (params.makerOrders.length !== params.takerFillAmounts.length) {
|
|
590
|
-
throw
|
|
591
|
+
throw error_1.ProgramSdkError.invalidDataLength("takerFillAmounts", params.makerOrders.length, params.takerFillAmounts.length);
|
|
591
592
|
}
|
|
592
593
|
const [exchange] = (0, pda_1.getExchangePda)(programId);
|
|
593
594
|
const takerOrderHash = (0, orders_1.hashOrder)(params.takerOrder);
|
|
@@ -934,7 +935,7 @@ function buildInitPositionTokensIx(params, numOutcomes, programId = constants_1.
|
|
|
934
935
|
*/
|
|
935
936
|
function buildExtendPositionTokensIx(params, numOutcomes, programId = constants_1.PROGRAM_ID) {
|
|
936
937
|
if (params.depositMints.length === 0) {
|
|
937
|
-
throw
|
|
938
|
+
throw error_1.ProgramSdkError.missingField("deposit_mints");
|
|
938
939
|
}
|
|
939
940
|
const [exchange] = (0, pda_1.getExchangePda)(programId);
|
|
940
941
|
const [position] = (0, pda_1.getPositionPda)(params.user, params.market, programId);
|
|
@@ -979,10 +980,10 @@ function buildExtendPositionTokensIx(params, numOutcomes, programId = constants_
|
|
|
979
980
|
function buildDepositAndSwapIx(params, programId = constants_1.PROGRAM_ID) {
|
|
980
981
|
(0, utils_1.validateOutcomes)(params.numOutcomes);
|
|
981
982
|
if (params.makers.length === 0) {
|
|
982
|
-
throw
|
|
983
|
+
throw error_1.ProgramSdkError.missingField("makers");
|
|
983
984
|
}
|
|
984
985
|
if (params.makers.length > constants_1.MAX_MAKERS) {
|
|
985
|
-
throw
|
|
986
|
+
throw error_1.ProgramSdkError.tooManyMakers(params.makers.length);
|
|
986
987
|
}
|
|
987
988
|
const [exchange] = (0, pda_1.getExchangePda)(programId);
|
|
988
989
|
const [mintAuthority] = (0, pda_1.getMintAuthorityPda)(params.market, programId);
|
|
@@ -1138,12 +1139,12 @@ function buildAddDepositMintTx(params, market, numOutcomes, programId = constant
|
|
|
1138
1139
|
const ix = buildAddDepositMintIx(params, market, numOutcomes, programId);
|
|
1139
1140
|
return new web3_js_1.Transaction({ feePayer: params.authority }).add(ix);
|
|
1140
1141
|
}
|
|
1141
|
-
function
|
|
1142
|
-
const ix =
|
|
1142
|
+
function buildDepositTx(params, numOutcomes, programId = constants_1.PROGRAM_ID) {
|
|
1143
|
+
const ix = buildDepositIx(params, numOutcomes, programId);
|
|
1143
1144
|
return new web3_js_1.Transaction({ feePayer: params.user }).add(ix);
|
|
1144
1145
|
}
|
|
1145
|
-
function
|
|
1146
|
-
const ix =
|
|
1146
|
+
function buildMergeTx(params, numOutcomes, programId = constants_1.PROGRAM_ID) {
|
|
1147
|
+
const ix = buildMergeIx(params, numOutcomes, programId);
|
|
1147
1148
|
return new web3_js_1.Transaction({ feePayer: params.user }).add(ix);
|
|
1148
1149
|
}
|
|
1149
1150
|
function buildCancelOrderTx(maker, market, order, programId = constants_1.PROGRAM_ID) {
|