@vultisig/rujira 12.0.0 → 12.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,29 @@
1
+ export type CclModel = 'quadratic' | 'linear';
2
+ export type CclRangeConfig = {
3
+ high: number;
4
+ low: number;
5
+ price: number;
6
+ sigma: number;
7
+ spread: number;
8
+ delta: number;
9
+ model?: CclModel;
10
+ };
11
+ export type CclDistributionBucket = {
12
+ pStart: number;
13
+ pEnd: number;
14
+ pMid: number;
15
+ weight: number;
16
+ pct: number;
17
+ side: 'ask' | 'bid';
18
+ };
19
+ export type CclDistribution = {
20
+ asks: CclDistributionBucket[];
21
+ bids: CclDistributionBucket[];
22
+ price: number;
23
+ askPrice: number;
24
+ bidPrice: number;
25
+ avgAskFillPrice: number;
26
+ avgBidFillPrice: number;
27
+ balanceRatio: number | null;
28
+ };
29
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ccl/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAA;AAE7C,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,QAAQ,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,KAAK,GAAG,KAAK,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,qBAAqB,EAAE,CAAA;IAC7B,IAAI,EAAE,qBAAqB,EAAE,CAAA;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
package/dist/client.d.ts CHANGED
@@ -7,6 +7,7 @@ import { RujiraDeposit } from './modules/deposit.js';
7
7
  import { RujiraGhost } from './modules/ghost.js';
8
8
  import { RujiraOrderbook } from './modules/orderbook.js';
9
9
  import { RujiraPerps } from './modules/perps.js';
10
+ import { RujiraRange } from './modules/range.js';
10
11
  import { RujiraStaking } from './modules/staking.js';
11
12
  import { RujiraSwap, type RujiraSwapOptions } from './modules/swap.js';
12
13
  import { RujiraWithdraw } from './modules/withdraw.js';
@@ -33,6 +34,7 @@ export declare class RujiraClient {
33
34
  readonly staking: RujiraStaking;
34
35
  readonly ghost: RujiraGhost;
35
36
  readonly perps: RujiraPerps;
37
+ readonly range: RujiraRange;
36
38
  readonly discovery: RujiraDiscovery;
37
39
  private queryClient;
38
40
  private stargateClient;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -9,6 +9,7 @@ import { RujiraDeposit } from './modules/deposit.js';
9
9
  import { RujiraGhost } from './modules/ghost.js';
10
10
  import { RujiraOrderbook } from './modules/orderbook.js';
11
11
  import { RujiraPerps } from './modules/perps.js';
12
+ import { RujiraRange } from './modules/range.js';
12
13
  import { RujiraStaking } from './modules/staking.js';
13
14
  import { RujiraSwap } from './modules/swap.js';
14
15
  import { RujiraWithdraw } from './modules/withdraw.js';
@@ -43,6 +44,7 @@ export class RujiraClient {
43
44
  this.staking = new RujiraStaking(this);
44
45
  this.ghost = new RujiraGhost(this);
45
46
  this.perps = new RujiraPerps(this);
47
+ this.range = new RujiraRange(this);
46
48
  this.discovery = new RujiraDiscovery({
47
49
  rpcEndpoint: this.config.rpcEndpoint,
48
50
  debug: this.debug,
package/dist/errors.d.ts CHANGED
@@ -15,6 +15,7 @@ export declare enum RujiraErrorCode {
15
15
  INVALID_ADDRESS = "INVALID_ADDRESS",
16
16
  INVALID_PAIR = "INVALID_PAIR",
17
17
  INVALID_SLIPPAGE = "INVALID_SLIPPAGE",
18
+ INVALID_PARAMS = "INVALID_PARAMS",
18
19
  INSUFFICIENT_BALANCE = "INSUFFICIENT_BALANCE",
19
20
  INSUFFICIENT_GAS = "INSUFFICIENT_GAS",
20
21
  NO_ROUTE = "NO_ROUTE",
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,oBAAY,eAAe;IAEzB,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAG/B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IAGrC,oBAAoB,yBAAyB;IAC7C,gBAAgB,qBAAqB;IAGrC,QAAQ,aAAa;IACrB,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;IAC/B,qBAAqB,0BAA0B;IAG/C,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,oBAAoB,yBAAyB;IAG7C,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAG7B,kBAAkB,uBAAuB;IACzC,cAAc,mBAAmB;IAGjC,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;CAClC;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,2CAA2C;IAC3C,SAAgB,IAAI,EAAE,eAAe,CAAA;IACrC,+BAA+B;IAC/B,SAAgB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjC,sCAAsC;IACtC,SAAgB,SAAS,EAAE,OAAO,CAAA;gBAEtB,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,UAAQ;IAaxF;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAUlC;AA+CD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKxD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,kBAAgC,GAAG,WAAW,CA6DlG"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,oBAAY,eAAe;IAEzB,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAG/B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IAGjC,oBAAoB,yBAAyB;IAC7C,gBAAgB,qBAAqB;IAGrC,QAAQ,aAAa;IACrB,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;IAC/B,qBAAqB,0BAA0B;IAG/C,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,oBAAoB,yBAAyB;IAG7C,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAG7B,kBAAkB,uBAAuB;IACzC,cAAc,mBAAmB;IAGjC,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;CAClC;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,2CAA2C;IAC3C,SAAgB,IAAI,EAAE,eAAe,CAAA;IACrC,+BAA+B;IAC/B,SAAgB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjC,sCAAsC;IACtC,SAAgB,SAAS,EAAE,OAAO,CAAA;gBAEtB,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,UAAQ;IAaxF;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAUlC;AAgDD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKxD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,kBAAgC,GAAG,WAAW,CA6DlG"}
package/dist/errors.js CHANGED
@@ -18,6 +18,7 @@ export var RujiraErrorCode;
18
18
  RujiraErrorCode["INVALID_ADDRESS"] = "INVALID_ADDRESS";
19
19
  RujiraErrorCode["INVALID_PAIR"] = "INVALID_PAIR";
20
20
  RujiraErrorCode["INVALID_SLIPPAGE"] = "INVALID_SLIPPAGE";
21
+ RujiraErrorCode["INVALID_PARAMS"] = "INVALID_PARAMS";
21
22
  // Balance errors
22
23
  RujiraErrorCode["INSUFFICIENT_BALANCE"] = "INSUFFICIENT_BALANCE";
23
24
  RujiraErrorCode["INSUFFICIENT_GAS"] = "INSUFFICIENT_GAS";
@@ -92,6 +93,7 @@ const USER_FRIENDLY_MESSAGES = {
92
93
  [RujiraErrorCode.INVALID_ADDRESS]: 'Invalid address format.',
93
94
  [RujiraErrorCode.INVALID_PAIR]: 'Trading pair not found or not supported.',
94
95
  [RujiraErrorCode.INVALID_SLIPPAGE]: 'Invalid slippage tolerance. Must be between 0.01% and 50%.',
96
+ [RujiraErrorCode.INVALID_PARAMS]: 'Invalid parameters. Please check the input and try again.',
95
97
  [RujiraErrorCode.INSUFFICIENT_BALANCE]: 'Insufficient balance for this transaction.',
96
98
  [RujiraErrorCode.INSUFFICIENT_GAS]: 'Insufficient RUNE for gas fees.',
97
99
  [RujiraErrorCode.NO_ROUTE]: 'No swap route available for this pair.',
package/dist/index.d.ts CHANGED
@@ -32,12 +32,16 @@ export * from './errors.js';
32
32
  export * from './types.js';
33
33
  export type { RujiraClientOptions } from './client.js';
34
34
  export { RujiraClient } from './client.js';
35
+ export type { CclDistribution, CclDistributionBucket, CclModel, CclRangeConfig } from './ccl/index.js';
36
+ export { CclLinear, CclQuadratic, createCcl, generateCclDistribution } from './ccl/index.js';
35
37
  export { RujiraAssets } from './modules/assets.js';
36
38
  export type { GhostTransactionParams, GhostVaultInfo, GhostVaultStatus } from './modules/ghost.js';
37
39
  export { RujiraGhost } from './modules/ghost.js';
38
40
  export { RujiraOrderbook } from './modules/orderbook.js';
39
41
  export type { PerpsMarket, PerpsTransactionParams } from './modules/perps.js';
40
42
  export { RujiraPerps } from './modules/perps.js';
43
+ export type { RangeAnalytics, ClaimParams as RangeClaimParams, RangeConfig, CreatePositionParams as RangeCreatePositionParams, DepositParams as RangeDepositParams, FinPair as RangeFinPair, RangeMultiTransactionParams, RangePosition, RangeTransactionParams, TransferParams as RangeTransferParams, WithdrawAllParams as RangeWithdrawAllParams, WithdrawParams as RangeWithdrawParams, } from './modules/range.js';
44
+ export { RANGE_APR_SCALE, RANGE_CONFIG_DECIMALS, RANGE_MOIC_SCALE, RANGE_WITHDRAW_SHARE_DECIMALS, RujiraRange, } from './modules/range.js';
41
45
  export type { StakeParams, StakeTransactionParams, StakingPosition, UnstakeParams } from './modules/staking.js';
42
46
  export { RujiraStaking } from './modules/staking.js';
43
47
  export { RujiraSwap } from './modules/swap.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,YAAY,EACV,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,eAAe,GAChB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,MAAM,EACN,WAAW,EACX,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,UAAU,EACV,QAAQ,GACT,MAAM,kBAAkB,CAAA;AAGzB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAG1B,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAC/G,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAG9C,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAGtE,cAAc,mBAAmB,CAAA;AAGjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAG/B,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,YAAY,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,YAAY,EACV,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,eAAe,GAChB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,MAAM,EACN,WAAW,EACX,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,UAAU,EACV,QAAQ,GACT,MAAM,kBAAkB,CAAA;AAGzB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAG1B,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACtG,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,YAAY,EACV,cAAc,EACd,WAAW,IAAI,gBAAgB,EAC/B,WAAW,EACX,oBAAoB,IAAI,yBAAyB,EACjD,aAAa,IAAI,kBAAkB,EACnC,OAAO,IAAI,YAAY,EACvB,2BAA2B,EAC3B,aAAa,EACb,sBAAsB,EACtB,cAAc,IAAI,mBAAmB,EACrC,iBAAiB,IAAI,sBAAsB,EAC3C,cAAc,IAAI,mBAAmB,GACtC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,6BAA6B,EAC7B,WAAW,GACZ,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAC/G,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAG9C,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAGtE,cAAc,mBAAmB,CAAA;AAGjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAG/B,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,YAAY,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA"}
package/dist/index.js CHANGED
@@ -31,11 +31,12 @@ export * from './config.js';
31
31
  export * from './errors.js';
32
32
  export * from './types.js';
33
33
  export { RujiraClient } from './client.js';
34
- // Module exports
34
+ export { CclLinear, CclQuadratic, createCcl, generateCclDistribution } from './ccl/index.js';
35
35
  export { RujiraAssets } from './modules/assets.js';
36
36
  export { RujiraGhost } from './modules/ghost.js';
37
37
  export { RujiraOrderbook } from './modules/orderbook.js';
38
38
  export { RujiraPerps } from './modules/perps.js';
39
+ export { RANGE_APR_SCALE, RANGE_CONFIG_DECIMALS, RANGE_MOIC_SCALE, RANGE_WITHDRAW_SHARE_DECIMALS, RujiraRange, } from './modules/range.js';
39
40
  export { RujiraStaking } from './modules/staking.js';
40
41
  export { RujiraSwap } from './modules/swap.js';
41
42
  export { VultisigRujiraProvider } from './signer/vultisig-provider.js';
@@ -0,0 +1,167 @@
1
+ /**
2
+ * RUJI Trade Custom Concentrated Liquidity (CCL) — range positions.
3
+ *
4
+ * CCL positions live on the rujira-fin orderbook pair contract (v1.2+),
5
+ * NOT on the BOW AMM contract. Each position is identified by `idx` (bigint
6
+ * as string, scoped per pair). Users create a position with a price range
7
+ * (high/low), spread, skew, and fee, then the position automatically market-
8
+ * makes across the range, compounding and/or accruing claimable yield.
9
+ *
10
+ * Message shapes mirror the upstream rujira-ui `Range.tsx` / `RangeManage.tsx`
11
+ * verbatim — any drift there is load-bearing and must be updated in lockstep.
12
+ *
13
+ * @module modules/range
14
+ */
15
+ import type { Coin } from '@cosmjs/proto-signing';
16
+ import type { RujiraClient } from '../client.js';
17
+ /** Scale of MOIC and DPI fields in analytics (divide raw bigint by this). */
18
+ export declare const RANGE_MOIC_SCALE = 1000000000000;
19
+ /** Scale of APR field in analytics (divide raw bigint by this). */
20
+ export declare const RANGE_APR_SCALE = 10000000000;
21
+ /** Fractional digits used by config Decimal fields (high/low/spread/skew/fee). */
22
+ export declare const RANGE_CONFIG_DECIMALS = 12;
23
+ /** Fractional digits used by the withdraw share parameter. */
24
+ export declare const RANGE_WITHDRAW_SHARE_DECIMALS = 4;
25
+ /** CosmWasm MsgExecuteContract payload — flat shape for one msg. */
26
+ export type RangeTransactionParams = {
27
+ contractAddress: string;
28
+ executeMsg: object;
29
+ funds: Coin[];
30
+ };
31
+ /**
32
+ * Multi-msg payload for atomic close (claim + withdraw 100%).
33
+ * Callers MUST sign + broadcast all msgs in a SINGLE cosmos tx so they are
34
+ * atomic. Two separate txs would leak state between claim and withdraw.
35
+ */
36
+ export type RangeMultiTransactionParams = {
37
+ msgs: RangeTransactionParams[];
38
+ };
39
+ /** Parameters for a CCL range position config. */
40
+ export type RangeConfig = {
41
+ /** Upper price bound (Decimal string, up to 12 fractional digits). Above this, position is 100% quote. */
42
+ high: string;
43
+ /** Lower price bound (Decimal string, 12 dp). Below this, position is 100% base. */
44
+ low: string;
45
+ /** Target profit per round trip (Decimal string, 12 dp, 0 < spread < 1). */
46
+ spread: string;
47
+ /** Distribution shape parameter (Decimal string, 12 dp, signed). Upstream UI presets use 0. */
48
+ skew: string;
49
+ /** Fraction of spread retained as claimable yield (Decimal string, 12 dp). Set equal to spread for accurate APR analytics. */
50
+ fee: string;
51
+ };
52
+ export type CreatePositionParams = {
53
+ pairAddress: string;
54
+ config: RangeConfig;
55
+ /** Base asset coin to deposit. Amount in smallest unit (string). */
56
+ base: Coin;
57
+ /** Quote asset coin to deposit. Amount in smallest unit (string). */
58
+ quote: Coin;
59
+ };
60
+ export type DepositParams = {
61
+ pairAddress: string;
62
+ idx: string;
63
+ base: Coin;
64
+ quote: Coin;
65
+ };
66
+ export type WithdrawParams = {
67
+ pairAddress: string;
68
+ idx: string;
69
+ /**
70
+ * Share of the position to withdraw, as a Decimal string with up to 4 fractional
71
+ * digits. 0 < share <= 1. Pass "1" for a full withdraw (but note this leaves
72
+ * unclaimed fees behind — use `buildWithdrawAll` for the atomic close path).
73
+ */
74
+ share: string;
75
+ };
76
+ export type ClaimParams = {
77
+ pairAddress: string;
78
+ idx: string;
79
+ };
80
+ export type TransferParams = {
81
+ pairAddress: string;
82
+ idx: string;
83
+ /** Destination thor1... address. Validated before building. */
84
+ to: string;
85
+ };
86
+ export type WithdrawAllParams = {
87
+ pairAddress: string;
88
+ idx: string;
89
+ };
90
+ /** Analytics snapshot for a range position (scaled — use constants above to divide). */
91
+ export type RangeAnalytics = {
92
+ /** Multiple on Invested Capital, scaled by RANGE_MOIC_SCALE. */
93
+ moic?: string;
94
+ /** Distributed Paid-In ratio, scaled by RANGE_MOIC_SCALE. */
95
+ dpi?: string;
96
+ /** Annualized yield from claimable profits, scaled by RANGE_APR_SCALE. Only meaningful when fee > 0. */
97
+ apr?: string;
98
+ /** First deposit ISO timestamp. */
99
+ firstDepositDate?: string;
100
+ };
101
+ export type RangePosition = {
102
+ idx: string;
103
+ pairAddress: string;
104
+ base: string;
105
+ quote: string;
106
+ feesBase: string;
107
+ feesQuote: string;
108
+ /** Principal value in USD base units (8 dp). */
109
+ principalUsd?: string;
110
+ /** Claimable yield value in USD base units (8 dp). */
111
+ yieldUsd?: string;
112
+ config?: RangeConfig;
113
+ analytics?: RangeAnalytics;
114
+ };
115
+ export type FinPair = {
116
+ address: string;
117
+ base: {
118
+ symbol: string;
119
+ denom: string;
120
+ };
121
+ quote: {
122
+ symbol: string;
123
+ denom: string;
124
+ };
125
+ };
126
+ /**
127
+ * Builders + queries for RUJI Trade CCL range positions.
128
+ *
129
+ * ExecuteMsg shapes (keep in sync with `rujira-ui` Range.tsx / RangeManage.tsx):
130
+ *
131
+ * - create: `{ range: { create: { config: { high, low, spread, skew, fee } } } }`
132
+ * - deposit: `{ range: { deposit: { idx } } }`
133
+ * - withdraw: `{ range: { withdraw: { idx, amount } } }` (amount is the share Decimal 4dp)
134
+ * - claim: `{ range: { claim: { idx } } }`
135
+ * - transfer: `{ range: { transfer: { idx, to } } }`
136
+ */
137
+ export declare class RujiraRange {
138
+ private readonly client;
139
+ constructor(client: RujiraClient);
140
+ buildCreatePosition(params: CreatePositionParams): RangeTransactionParams;
141
+ buildDeposit(params: DepositParams): RangeTransactionParams;
142
+ buildWithdraw(params: WithdrawParams): RangeTransactionParams;
143
+ buildClaim(params: ClaimParams): RangeTransactionParams;
144
+ buildTransfer(params: TransferParams): RangeTransactionParams;
145
+ /**
146
+ * Atomic close: claim fees + withdraw 100%. Emits two MsgExecuteContract
147
+ * payloads that MUST be signed + broadcast in a single cosmos tx. The order
148
+ * matters — claim first, then withdraw — to guarantee fees are harvested.
149
+ */
150
+ buildWithdrawAll(params: WithdrawAllParams): RangeMultiTransactionParams;
151
+ /**
152
+ * List open range positions for a THORChain address.
153
+ * Returns [] when the account has no positions.
154
+ */
155
+ getPositions(owner: string): Promise<RangePosition[]>;
156
+ /**
157
+ * Fetch a single range position by (pairAddress, idx).
158
+ * Returns null when the position doesn't exist.
159
+ */
160
+ getPosition(pairAddress: string, idx: string): Promise<RangePosition | null>;
161
+ /**
162
+ * Resolve a FIN pair contract address from base + quote asset identifiers
163
+ * (denom or THORChain ticker). Returns null when the pair doesn't exist.
164
+ */
165
+ getPairAddress(base: string, quote: string): Promise<FinPair | null>;
166
+ }
167
+ //# sourceMappingURL=range.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../src/modules/range.ts"],"names":[],"mappings":"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"}