@byreal-io/byreal-clmm-sdk 0.2.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.
- package/LICENSE +21 -0
- package/README.md +341 -0
- package/dist/esm/client/chain.d.ts +227 -0
- package/dist/esm/client/chain.d.ts.map +1 -0
- package/dist/esm/client/chain.js +1123 -0
- package/dist/esm/client/chain.js.map +1 -0
- package/dist/esm/client/index.d.ts +4 -0
- package/dist/esm/client/index.d.ts.map +1 -0
- package/dist/esm/client/index.js +4 -0
- package/dist/esm/client/index.js.map +1 -0
- package/dist/esm/client/models.d.ts +160 -0
- package/dist/esm/client/models.d.ts.map +1 -0
- package/dist/esm/client/models.js +2 -0
- package/dist/esm/client/models.js.map +1 -0
- package/dist/esm/client/utils.d.ts +103 -0
- package/dist/esm/client/utils.d.ts.map +1 -0
- package/dist/esm/client/utils.js +238 -0
- package/dist/esm/client/utils.js.map +1 -0
- package/dist/esm/constants.d.ts +19 -0
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/esm/constants.js +27 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/instructions/baseInstruction.d.ts +74 -0
- package/dist/esm/instructions/baseInstruction.d.ts.map +1 -0
- package/dist/esm/instructions/baseInstruction.js +577 -0
- package/dist/esm/instructions/baseInstruction.js.map +1 -0
- package/dist/esm/instructions/constants.d.ts +29 -0
- package/dist/esm/instructions/constants.d.ts.map +1 -0
- package/dist/esm/instructions/constants.js +32 -0
- package/dist/esm/instructions/constants.js.map +1 -0
- package/dist/esm/instructions/getRawData.d.ts +60 -0
- package/dist/esm/instructions/getRawData.d.ts.map +1 -0
- package/dist/esm/instructions/getRawData.js +105 -0
- package/dist/esm/instructions/getRawData.js.map +1 -0
- package/dist/esm/instructions/index.d.ts +9 -0
- package/dist/esm/instructions/index.d.ts.map +1 -0
- package/dist/esm/instructions/index.js +9 -0
- package/dist/esm/instructions/index.js.map +1 -0
- package/dist/esm/instructions/instruction.d.ts +137 -0
- package/dist/esm/instructions/instruction.d.ts.map +1 -0
- package/dist/esm/instructions/instruction.js +152 -0
- package/dist/esm/instructions/instruction.js.map +1 -0
- package/dist/esm/instructions/layout.d.ts +217 -0
- package/dist/esm/instructions/layout.d.ts.map +1 -0
- package/dist/esm/instructions/layout.js +203 -0
- package/dist/esm/instructions/layout.js.map +1 -0
- package/dist/esm/instructions/libs/marshmallow/bufferLayout.d.ts +107 -0
- package/dist/esm/instructions/libs/marshmallow/bufferLayout.d.ts.map +1 -0
- package/dist/esm/instructions/libs/marshmallow/bufferLayout.js +49 -0
- package/dist/esm/instructions/libs/marshmallow/bufferLayout.js.map +1 -0
- package/dist/esm/instructions/libs/marshmallow/index.d.ts +88 -0
- package/dist/esm/instructions/libs/marshmallow/index.d.ts.map +1 -0
- package/dist/esm/instructions/libs/marshmallow/index.js +256 -0
- package/dist/esm/instructions/libs/marshmallow/index.js.map +1 -0
- package/dist/esm/instructions/models.d.ts +39 -0
- package/dist/esm/instructions/models.d.ts.map +1 -0
- package/dist/esm/instructions/models.js +14 -0
- package/dist/esm/instructions/models.js.map +1 -0
- package/dist/esm/instructions/pda.d.ts +52 -0
- package/dist/esm/instructions/pda.d.ts.map +1 -0
- package/dist/esm/instructions/pda.js +47 -0
- package/dist/esm/instructions/pda.js.map +1 -0
- package/dist/esm/instructions/target/idl/byreal_amm_v3.json +7242 -0
- package/dist/esm/instructions/target/idl/byreal_amm_v3_test.json +7680 -0
- package/dist/esm/instructions/target/types/byreal_amm_v3.d.ts +5329 -0
- package/dist/esm/instructions/target/types/byreal_amm_v3.d.ts.map +1 -0
- package/dist/esm/instructions/target/types/byreal_amm_v3.js +2 -0
- package/dist/esm/instructions/target/types/byreal_amm_v3.js.map +1 -0
- package/dist/esm/instructions/target/types/raydium_amm_v3.d.ts +4149 -0
- package/dist/esm/instructions/target/types/raydium_amm_v3.d.ts.map +1 -0
- package/dist/esm/instructions/target/types/raydium_amm_v3.js +2 -0
- package/dist/esm/instructions/target/types/raydium_amm_v3.js.map +1 -0
- package/dist/esm/instructions/utils/binaryUtils.d.ts +11 -0
- package/dist/esm/instructions/utils/binaryUtils.d.ts.map +1 -0
- package/dist/esm/instructions/utils/binaryUtils.js +77 -0
- package/dist/esm/instructions/utils/binaryUtils.js.map +1 -0
- package/dist/esm/instructions/utils/fetchWalletTokenAccounts.d.ts +42 -0
- package/dist/esm/instructions/utils/fetchWalletTokenAccounts.d.ts.map +1 -0
- package/dist/esm/instructions/utils/fetchWalletTokenAccounts.js +63 -0
- package/dist/esm/instructions/utils/fetchWalletTokenAccounts.js.map +1 -0
- package/dist/esm/instructions/utils/getTickArrayBitmapExtension.d.ts +8 -0
- package/dist/esm/instructions/utils/getTickArrayBitmapExtension.d.ts.map +1 -0
- package/dist/esm/instructions/utils/getTickArrayBitmapExtension.js +22 -0
- package/dist/esm/instructions/utils/getTickArrayBitmapExtension.js.map +1 -0
- package/dist/esm/instructions/utils/getTickArrayInfo.d.ts +16 -0
- package/dist/esm/instructions/utils/getTickArrayInfo.d.ts.map +1 -0
- package/dist/esm/instructions/utils/getTickArrayInfo.js +75 -0
- package/dist/esm/instructions/utils/getTickArrayInfo.js.map +1 -0
- package/dist/esm/instructions/utils/index.d.ts +21 -0
- package/dist/esm/instructions/utils/index.d.ts.map +1 -0
- package/dist/esm/instructions/utils/index.js +21 -0
- package/dist/esm/instructions/utils/index.js.map +1 -0
- package/dist/esm/instructions/utils/liquidityMath.d.ts +30 -0
- package/dist/esm/instructions/utils/liquidityMath.d.ts.map +1 -0
- package/dist/esm/instructions/utils/liquidityMath.js +138 -0
- package/dist/esm/instructions/utils/liquidityMath.js.map +1 -0
- package/dist/esm/instructions/utils/mathUtils.d.ts +11 -0
- package/dist/esm/instructions/utils/mathUtils.d.ts.map +1 -0
- package/dist/esm/instructions/utils/mathUtils.js +36 -0
- package/dist/esm/instructions/utils/mathUtils.js.map +1 -0
- package/dist/esm/instructions/utils/models.d.ts +93 -0
- package/dist/esm/instructions/utils/models.d.ts.map +1 -0
- package/dist/esm/instructions/utils/models.js +13 -0
- package/dist/esm/instructions/utils/models.js.map +1 -0
- package/dist/esm/instructions/utils/poolStateUtils.d.ts +134 -0
- package/dist/esm/instructions/utils/poolStateUtils.d.ts.map +1 -0
- package/dist/esm/instructions/utils/poolStateUtils.js +137 -0
- package/dist/esm/instructions/utils/poolStateUtils.js.map +1 -0
- package/dist/esm/instructions/utils/poolUtils.d.ts +136 -0
- package/dist/esm/instructions/utils/poolUtils.d.ts.map +1 -0
- package/dist/esm/instructions/utils/poolUtils.js +219 -0
- package/dist/esm/instructions/utils/poolUtils.js.map +1 -0
- package/dist/esm/instructions/utils/position.d.ts +36 -0
- package/dist/esm/instructions/utils/position.d.ts.map +1 -0
- package/dist/esm/instructions/utils/position.js +86 -0
- package/dist/esm/instructions/utils/position.js.map +1 -0
- package/dist/esm/instructions/utils/sqrtPriceMath.d.ts +14 -0
- package/dist/esm/instructions/utils/sqrtPriceMath.d.ts.map +1 -0
- package/dist/esm/instructions/utils/sqrtPriceMath.js +168 -0
- package/dist/esm/instructions/utils/sqrtPriceMath.js.map +1 -0
- package/dist/esm/instructions/utils/swapMath.d.ts +48 -0
- package/dist/esm/instructions/utils/swapMath.d.ts.map +1 -0
- package/dist/esm/instructions/utils/swapMath.js +263 -0
- package/dist/esm/instructions/utils/swapMath.js.map +1 -0
- package/dist/esm/instructions/utils/tick.d.ts +106 -0
- package/dist/esm/instructions/utils/tick.d.ts.map +1 -0
- package/dist/esm/instructions/utils/tick.js +390 -0
- package/dist/esm/instructions/utils/tick.js.map +1 -0
- package/dist/esm/instructions/utils/tickArrayUtils.d.ts +50 -0
- package/dist/esm/instructions/utils/tickArrayUtils.d.ts.map +1 -0
- package/dist/esm/instructions/utils/tickArrayUtils.js +157 -0
- package/dist/esm/instructions/utils/tickArrayUtils.js.map +1 -0
- package/dist/esm/instructions/utils/tickMath.d.ts +18 -0
- package/dist/esm/instructions/utils/tickMath.d.ts.map +1 -0
- package/dist/esm/instructions/utils/tickMath.js +34 -0
- package/dist/esm/instructions/utils/tickMath.js.map +1 -0
- package/dist/esm/instructions/utils/tickarrayBitmap.d.ts +38 -0
- package/dist/esm/instructions/utils/tickarrayBitmap.d.ts.map +1 -0
- package/dist/esm/instructions/utils/tickarrayBitmap.js +157 -0
- package/dist/esm/instructions/utils/tickarrayBitmap.js.map +1 -0
- package/dist/esm/instructions/utils/transfer.d.ts +7 -0
- package/dist/esm/instructions/utils/transfer.d.ts.map +1 -0
- package/dist/esm/instructions/utils/transfer.js +78 -0
- package/dist/esm/instructions/utils/transfer.js.map +1 -0
- package/dist/esm/utils/accountInfo.d.ts +27 -0
- package/dist/esm/utils/accountInfo.d.ts.map +1 -0
- package/dist/esm/utils/accountInfo.js +80 -0
- package/dist/esm/utils/accountInfo.js.map +1 -0
- package/dist/esm/utils/checkV0TxSize.d.ts +8 -0
- package/dist/esm/utils/checkV0TxSize.d.ts.map +1 -0
- package/dist/esm/utils/checkV0TxSize.js +18 -0
- package/dist/esm/utils/checkV0TxSize.js.map +1 -0
- package/dist/esm/utils/estimateComputeUnits.d.ts +11 -0
- package/dist/esm/utils/estimateComputeUnits.d.ts.map +1 -0
- package/dist/esm/utils/estimateComputeUnits.js +48 -0
- package/dist/esm/utils/estimateComputeUnits.js.map +1 -0
- package/dist/esm/utils/generatePubKey.d.ts +10 -0
- package/dist/esm/utils/generatePubKey.d.ts.map +1 -0
- package/dist/esm/utils/generatePubKey.js +14 -0
- package/dist/esm/utils/generatePubKey.js.map +1 -0
- package/dist/esm/utils/index.d.ts +9 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +11 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/token.d.ts +9 -0
- package/dist/esm/utils/token.d.ts.map +1 -0
- package/dist/esm/utils/token.js +16 -0
- package/dist/esm/utils/token.js.map +1 -0
- package/dist/esm/utils/transactionUtils.d.ts +84 -0
- package/dist/esm/utils/transactionUtils.d.ts.map +1 -0
- package/dist/esm/utils/transactionUtils.js +138 -0
- package/dist/esm/utils/transactionUtils.js.map +1 -0
- package/dist/esm/utils/validateAndParsePublicKey.d.ts +15 -0
- package/dist/esm/utils/validateAndParsePublicKey.d.ts.map +1 -0
- package/dist/esm/utils/validateAndParsePublicKey.js +42 -0
- package/dist/esm/utils/validateAndParsePublicKey.js.map +1 -0
- package/package.json +66 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { PublicKey } from '@solana/web3.js';
|
|
2
|
+
import BN from 'bn.js';
|
|
3
|
+
import { blob, Blob, Layout, Structure as _Structure, UInt, Union as _Union } from './bufferLayout.js';
|
|
4
|
+
export * from './bufferLayout.js';
|
|
5
|
+
export { blob };
|
|
6
|
+
export declare class BNLayout<P extends string = ''> extends Layout<BN, P> {
|
|
7
|
+
blob: Layout<Buffer>;
|
|
8
|
+
signed: boolean;
|
|
9
|
+
constructor(span: number, signed: boolean, property?: P);
|
|
10
|
+
/** @override */
|
|
11
|
+
decode(b: Buffer, offset?: number): BN;
|
|
12
|
+
/** @override */
|
|
13
|
+
encode(src: BN, b: Buffer, offset?: number): number;
|
|
14
|
+
}
|
|
15
|
+
export declare class WideBits<P extends string = ''> extends Layout<Record<string, boolean>, P> {
|
|
16
|
+
_lower: any;
|
|
17
|
+
_upper: any;
|
|
18
|
+
constructor(property?: P);
|
|
19
|
+
addBoolean(property: string): void;
|
|
20
|
+
decode(b: Buffer, offset?: number): Record<string, boolean>;
|
|
21
|
+
encode(src: any, b: Buffer, offset?: number): any;
|
|
22
|
+
}
|
|
23
|
+
export declare function u8<P extends string = ''>(property?: P): UInt<number, P>;
|
|
24
|
+
export declare function u32<P extends string = ''>(property?: P): UInt<number, P>;
|
|
25
|
+
export declare function u64<P extends string = ''>(property?: P): BNLayout<P>;
|
|
26
|
+
export declare function u128<P extends string = ''>(property?: P): BNLayout<P>;
|
|
27
|
+
export declare function i8<P extends string = ''>(property?: P): BNLayout<P>;
|
|
28
|
+
export declare function i64<P extends string = ''>(property?: P): BNLayout<P>;
|
|
29
|
+
export declare function i128<P extends string = ''>(property?: P): BNLayout<P>;
|
|
30
|
+
export declare class WrappedLayout<T, U, P extends string = ''> extends Layout<U, P> {
|
|
31
|
+
layout: Layout<T>;
|
|
32
|
+
decoder: (data: T) => U;
|
|
33
|
+
encoder: (src: U) => T;
|
|
34
|
+
constructor(layout: Layout<T>, decoder: (data: T) => U, encoder: (src: U) => T, property?: P);
|
|
35
|
+
decode(b: Buffer, offset?: number): U;
|
|
36
|
+
encode(src: U, b: Buffer, offset?: number): number;
|
|
37
|
+
getSpan(b: Buffer, offset?: number): number;
|
|
38
|
+
}
|
|
39
|
+
export declare function publicKey<P extends string = ''>(property?: P): Layout<PublicKey, P>;
|
|
40
|
+
export declare class OptionLayout<T, P> extends Layout<T | null, P> {
|
|
41
|
+
layout: Layout<T>;
|
|
42
|
+
discriminator: Layout<number>;
|
|
43
|
+
constructor(layout: Layout<T>, property?: P);
|
|
44
|
+
encode(src: T | null, b: Buffer, offset?: number): number;
|
|
45
|
+
decode(b: Buffer, offset?: number): T | null;
|
|
46
|
+
getSpan(b: Buffer, offset?: number): number;
|
|
47
|
+
}
|
|
48
|
+
export declare function option<T, P extends string = ''>(layout: Layout<T>, property?: P): Layout<T | null, P>;
|
|
49
|
+
export declare function bool<P extends string = ''>(property?: P): Layout<boolean, P>;
|
|
50
|
+
export declare function decodeBool(value: number): boolean;
|
|
51
|
+
export declare function encodeBool(value: boolean): number;
|
|
52
|
+
export declare function vec<T, P extends string = ''>(elementLayout: Layout<T>, property?: P): Layout<T[], P>;
|
|
53
|
+
export declare function tagged<T, P extends string = ''>(tag: BN, layout: Layout<T>, property?: P): Layout<T, P>;
|
|
54
|
+
export declare function vecU8<P extends string = ''>(property?: P): Layout<Buffer, P>;
|
|
55
|
+
export declare function str<P extends string = ''>(property?: P): Layout<string, P>;
|
|
56
|
+
export interface EnumLayout<T, P extends string = ''> extends Layout<T, P> {
|
|
57
|
+
registry: Record<string, Layout<any>>;
|
|
58
|
+
}
|
|
59
|
+
export declare function rustEnum<T, P extends string = ''>(variants: Layout<any>[], property?: P): EnumLayout<T, P>;
|
|
60
|
+
export declare function array<T, P extends string = ''>(elementLayout: Layout<T>, length: number, property?: P): Layout<T[], P>;
|
|
61
|
+
export declare class Structure<T, P, D extends {
|
|
62
|
+
[key: string]: any;
|
|
63
|
+
}> extends _Structure<T, P, D> {
|
|
64
|
+
/** @override */
|
|
65
|
+
decode(b: Buffer, offset?: number): D;
|
|
66
|
+
}
|
|
67
|
+
export declare function struct<T, P extends string = ''>(fields: T, property?: P, decodePrefixes?: boolean): T extends Layout<infer Value, infer Property>[] ? Structure<Value, P, {
|
|
68
|
+
[K in Exclude<Extract<Property, string>, ''>]: Extract<T[number], Layout<any, K>> extends Layout<infer V, any> ? V : any;
|
|
69
|
+
}> : any;
|
|
70
|
+
export type GetLayoutSchemaFromStructure<T extends Structure<any, any, any>> = T extends Structure<any, any, infer S> ? S : any;
|
|
71
|
+
export type GetStructureFromLayoutSchema<S extends {
|
|
72
|
+
[key: string]: any;
|
|
73
|
+
}> = Structure<any, any, S>;
|
|
74
|
+
export declare class Union<Schema extends {
|
|
75
|
+
[key: string]: any;
|
|
76
|
+
}> extends _Union<Schema> {
|
|
77
|
+
encodeInstruction(instruction: any): Buffer;
|
|
78
|
+
decodeInstruction(instruction: any): Partial<Schema>;
|
|
79
|
+
}
|
|
80
|
+
export declare function union<UnionSchema extends {
|
|
81
|
+
[key: string]: any;
|
|
82
|
+
} = any>(discr: any, defaultLayout?: any, property?: string): Union<UnionSchema>;
|
|
83
|
+
declare class Zeros extends Blob {
|
|
84
|
+
decode(b: Buffer, offset: number): Buffer;
|
|
85
|
+
}
|
|
86
|
+
export declare function zeros(length: number): Zeros;
|
|
87
|
+
export declare function seq<T, P extends string = '', AnotherP extends string = ''>(elementLayout: Layout<T, P>, count: number | BN | Layout<BN | number, P>, property?: AnotherP): Layout<T[], AnotherP>;
|
|
88
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/instructions/libs/marshmallow/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import { PublicKey } from '@solana/web3.js';
|
|
2
|
+
import BN from 'bn.js';
|
|
3
|
+
import { bits, blob, Blob, Layout, offset as _offset, seq as _seq, Structure as _Structure, u32 as _u32, u8 as _u8, UInt, union as _union, Union as _Union, } from './bufferLayout.js';
|
|
4
|
+
export * from './bufferLayout.js';
|
|
5
|
+
export { blob };
|
|
6
|
+
export class BNLayout extends Layout {
|
|
7
|
+
blob;
|
|
8
|
+
signed;
|
|
9
|
+
constructor(span, signed, property) {
|
|
10
|
+
super(span, property);
|
|
11
|
+
this.blob = blob(span);
|
|
12
|
+
this.signed = signed;
|
|
13
|
+
}
|
|
14
|
+
/** @override */
|
|
15
|
+
decode(b, offset = 0) {
|
|
16
|
+
const num = new BN(this.blob.decode(b, offset), 10, 'le');
|
|
17
|
+
if (this.signed) {
|
|
18
|
+
return num.fromTwos(this.span * 8).clone();
|
|
19
|
+
}
|
|
20
|
+
return num;
|
|
21
|
+
}
|
|
22
|
+
/** @override */
|
|
23
|
+
encode(src, b, offset = 0) {
|
|
24
|
+
if (typeof src === 'number')
|
|
25
|
+
src = new BN(src); // src will pass a number accidently in union
|
|
26
|
+
if (this.signed) {
|
|
27
|
+
src = src.toTwos(this.span * 8);
|
|
28
|
+
}
|
|
29
|
+
return this.blob.encode(src.toArrayLike(Buffer, 'le', this.span), b, offset);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export class WideBits extends Layout {
|
|
33
|
+
_lower;
|
|
34
|
+
_upper;
|
|
35
|
+
constructor(property) {
|
|
36
|
+
//@ts-expect-error type wrong for super()'s type different from extends , but it desn't matter
|
|
37
|
+
super(8, property);
|
|
38
|
+
this._lower = bits(_u32(), false);
|
|
39
|
+
this._upper = bits(_u32(), false);
|
|
40
|
+
}
|
|
41
|
+
addBoolean(property) {
|
|
42
|
+
if (this._lower.fields.length < 32) {
|
|
43
|
+
this._lower.addBoolean(property);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
this._upper.addBoolean(property);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
decode(b, offset = 0) {
|
|
50
|
+
const lowerDecoded = this._lower.decode(b, offset);
|
|
51
|
+
const upperDecoded = this._upper.decode(b, offset + this._lower.span);
|
|
52
|
+
return { ...lowerDecoded, ...upperDecoded };
|
|
53
|
+
}
|
|
54
|
+
encode(src /* TEMP */, b, offset = 0) {
|
|
55
|
+
return this._lower.encode(src, b, offset) + this._upper.encode(src, b, offset + this._lower.span);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export function u8(property) {
|
|
59
|
+
return new UInt(1, property);
|
|
60
|
+
}
|
|
61
|
+
export function u32(property) {
|
|
62
|
+
return new UInt(4, property);
|
|
63
|
+
}
|
|
64
|
+
export function u64(property) {
|
|
65
|
+
return new BNLayout(8, false, property);
|
|
66
|
+
}
|
|
67
|
+
export function u128(property) {
|
|
68
|
+
return new BNLayout(16, false, property);
|
|
69
|
+
}
|
|
70
|
+
export function i8(property) {
|
|
71
|
+
return new BNLayout(1, true, property);
|
|
72
|
+
}
|
|
73
|
+
export function i64(property) {
|
|
74
|
+
return new BNLayout(8, true, property);
|
|
75
|
+
}
|
|
76
|
+
export function i128(property) {
|
|
77
|
+
return new BNLayout(16, true, property);
|
|
78
|
+
}
|
|
79
|
+
export class WrappedLayout extends Layout {
|
|
80
|
+
layout;
|
|
81
|
+
decoder;
|
|
82
|
+
encoder;
|
|
83
|
+
constructor(layout, decoder, encoder, property) {
|
|
84
|
+
//@ts-expect-error type wrong for super()'s type different from extends , but it desn't matter
|
|
85
|
+
super(layout.span, property);
|
|
86
|
+
this.layout = layout;
|
|
87
|
+
this.decoder = decoder;
|
|
88
|
+
this.encoder = encoder;
|
|
89
|
+
}
|
|
90
|
+
decode(b, offset) {
|
|
91
|
+
return this.decoder(this.layout.decode(b, offset));
|
|
92
|
+
}
|
|
93
|
+
encode(src, b, offset) {
|
|
94
|
+
return this.layout.encode(this.encoder(src), b, offset);
|
|
95
|
+
}
|
|
96
|
+
getSpan(b, offset) {
|
|
97
|
+
return this.layout.getSpan(b, offset);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
export function publicKey(property) {
|
|
101
|
+
return new WrappedLayout(blob(32), (b) => new PublicKey(b), (key) => key.toBuffer(), property);
|
|
102
|
+
}
|
|
103
|
+
export class OptionLayout extends Layout {
|
|
104
|
+
layout;
|
|
105
|
+
discriminator;
|
|
106
|
+
constructor(layout, property) {
|
|
107
|
+
//@ts-expect-error type wrong for super()'s type different from extends , but it desn't matter
|
|
108
|
+
super(-1, property);
|
|
109
|
+
this.layout = layout;
|
|
110
|
+
this.discriminator = _u8();
|
|
111
|
+
}
|
|
112
|
+
encode(src, b, offset = 0) {
|
|
113
|
+
if (src === null || src === undefined) {
|
|
114
|
+
return this.discriminator.encode(0, b, offset);
|
|
115
|
+
}
|
|
116
|
+
this.discriminator.encode(1, b, offset);
|
|
117
|
+
return this.layout.encode(src, b, offset + 1) + 1;
|
|
118
|
+
}
|
|
119
|
+
decode(b, offset = 0) {
|
|
120
|
+
const discriminator = this.discriminator.decode(b, offset);
|
|
121
|
+
if (discriminator === 0) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
else if (discriminator === 1) {
|
|
125
|
+
return this.layout.decode(b, offset + 1);
|
|
126
|
+
}
|
|
127
|
+
throw new Error('Invalid option ' + this.property);
|
|
128
|
+
}
|
|
129
|
+
getSpan(b, offset = 0) {
|
|
130
|
+
const discriminator = this.discriminator.decode(b, offset);
|
|
131
|
+
if (discriminator === 0) {
|
|
132
|
+
return 1;
|
|
133
|
+
}
|
|
134
|
+
else if (discriminator === 1) {
|
|
135
|
+
return this.layout.getSpan(b, offset + 1) + 1;
|
|
136
|
+
}
|
|
137
|
+
throw new Error('Invalid option ' + this.property);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
export function option(layout, property) {
|
|
141
|
+
return new OptionLayout(layout, property);
|
|
142
|
+
}
|
|
143
|
+
export function bool(property) {
|
|
144
|
+
return new WrappedLayout(_u8(), decodeBool, encodeBool, property);
|
|
145
|
+
}
|
|
146
|
+
export function decodeBool(value) {
|
|
147
|
+
if (value === 0) {
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
else if (value === 1) {
|
|
151
|
+
return true;
|
|
152
|
+
}
|
|
153
|
+
throw new Error('Invalid bool: ' + value);
|
|
154
|
+
}
|
|
155
|
+
export function encodeBool(value) {
|
|
156
|
+
return value ? 1 : 0;
|
|
157
|
+
}
|
|
158
|
+
export function vec(elementLayout, property) {
|
|
159
|
+
const length = _u32('length');
|
|
160
|
+
const layout = struct([
|
|
161
|
+
length,
|
|
162
|
+
seq(elementLayout, _offset(length, -length.span), 'values'),
|
|
163
|
+
]); // Something I don't know
|
|
164
|
+
return new WrappedLayout(layout, ({ values }) => values, (values) => ({ values }), property);
|
|
165
|
+
}
|
|
166
|
+
export function tagged(tag, layout, property) {
|
|
167
|
+
const wrappedLayout = struct([u64('tag'), layout.replicate('data')]); // Something I don't know
|
|
168
|
+
function decodeTag({ tag: receivedTag, data }) {
|
|
169
|
+
if (!receivedTag.eq(tag)) {
|
|
170
|
+
throw new Error('Invalid tag, expected: ' + tag.toString('hex') + ', got: ' + receivedTag.toString('hex'));
|
|
171
|
+
}
|
|
172
|
+
return data;
|
|
173
|
+
}
|
|
174
|
+
return new WrappedLayout(wrappedLayout, decodeTag, (data) => ({ tag, data }), property);
|
|
175
|
+
}
|
|
176
|
+
export function vecU8(property) {
|
|
177
|
+
const length = _u32('length');
|
|
178
|
+
const layout = struct([length, blob(_offset(length, -length.span), 'data')]); // Something I don't know
|
|
179
|
+
return new WrappedLayout(layout, ({ data }) => data, (data) => ({ data }), property);
|
|
180
|
+
}
|
|
181
|
+
export function str(property) {
|
|
182
|
+
return new WrappedLayout(vecU8(), (data) => data.toString('utf-8'), (s) => Buffer.from(s, 'utf-8'), property);
|
|
183
|
+
}
|
|
184
|
+
export function rustEnum(variants, property) {
|
|
185
|
+
const unionLayout = _union(_u8(), property);
|
|
186
|
+
variants.forEach((variant, index) => unionLayout.addVariant(index, variant, variant.property));
|
|
187
|
+
return unionLayout; // ?why use UnionLayout? This must be a fault
|
|
188
|
+
}
|
|
189
|
+
export function array(elementLayout, length, property) {
|
|
190
|
+
const layout = struct([seq(elementLayout, length, 'values')]); // Something I don't know
|
|
191
|
+
return new WrappedLayout(layout, ({ values }) => values, (values) => ({ values }), property);
|
|
192
|
+
}
|
|
193
|
+
export class Structure extends _Structure {
|
|
194
|
+
/** @override */
|
|
195
|
+
decode(b, offset) {
|
|
196
|
+
return super.decode(b, offset);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
export function struct(fields, property, decodePrefixes) {
|
|
200
|
+
//@ts-expect-error this type is not quite satisfied the define, but, never no need to worry about.
|
|
201
|
+
return new Structure(fields, property, decodePrefixes);
|
|
202
|
+
}
|
|
203
|
+
export class Union extends _Union {
|
|
204
|
+
encodeInstruction(instruction) {
|
|
205
|
+
const instructionMaxSpan = Math.max(...Object.values(this.registry).map((r) => r.span));
|
|
206
|
+
const b = Buffer.alloc(instructionMaxSpan);
|
|
207
|
+
return b.slice(0, this.encode(instruction, b));
|
|
208
|
+
}
|
|
209
|
+
decodeInstruction(instruction) {
|
|
210
|
+
return this.decode(instruction);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
export function union(discr, defaultLayout, property) {
|
|
214
|
+
return new Union(discr, defaultLayout, property);
|
|
215
|
+
}
|
|
216
|
+
class Zeros extends Blob {
|
|
217
|
+
decode(b, offset) {
|
|
218
|
+
const slice = super.decode(b, offset);
|
|
219
|
+
if (!slice.every((v) => v === 0)) {
|
|
220
|
+
throw new Error('nonzero padding bytes');
|
|
221
|
+
}
|
|
222
|
+
return slice;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
export function zeros(length) {
|
|
226
|
+
return new Zeros(length);
|
|
227
|
+
}
|
|
228
|
+
export function seq(elementLayout, count, property) {
|
|
229
|
+
let parsedCount;
|
|
230
|
+
const superCount = typeof count === 'number'
|
|
231
|
+
? count
|
|
232
|
+
: BN.isBN(count)
|
|
233
|
+
? count.toNumber()
|
|
234
|
+
: new Proxy(count /* pretend to be Layout<number> */, {
|
|
235
|
+
get(target, property) {
|
|
236
|
+
if (!parsedCount) {
|
|
237
|
+
// get count in targetLayout. note that count may be BN
|
|
238
|
+
const countProperty = Reflect.get(target, 'count');
|
|
239
|
+
// let targetLayout's property:count be a number
|
|
240
|
+
parsedCount = BN.isBN(countProperty) ? countProperty.toNumber() : countProperty;
|
|
241
|
+
// record the count
|
|
242
|
+
Reflect.set(target, 'count', parsedCount);
|
|
243
|
+
}
|
|
244
|
+
return Reflect.get(target, property);
|
|
245
|
+
},
|
|
246
|
+
set(target, property, value) {
|
|
247
|
+
if (property === 'count') {
|
|
248
|
+
parsedCount = value;
|
|
249
|
+
}
|
|
250
|
+
return Reflect.set(target, property, value);
|
|
251
|
+
},
|
|
252
|
+
});
|
|
253
|
+
// @ts-expect-error force type
|
|
254
|
+
return _seq(elementLayout, superCount, property);
|
|
255
|
+
}
|
|
256
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/instructions/libs/marshmallow/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { PublicKey } from '@solana/web3.js';
|
|
2
|
+
import BN from 'bn.js';
|
|
3
|
+
import { IPoolLayout } from './layout.js';
|
|
4
|
+
export interface IGetTransferAmountFee {
|
|
5
|
+
amount: BN;
|
|
6
|
+
fee: BN | undefined;
|
|
7
|
+
expirationTime: number | undefined;
|
|
8
|
+
}
|
|
9
|
+
export interface TransferFeeDataBaseType {
|
|
10
|
+
transferFeeConfigAuthority: string;
|
|
11
|
+
withdrawWithheldAuthority: string;
|
|
12
|
+
withheldAmount: string;
|
|
13
|
+
olderTransferFee: {
|
|
14
|
+
epoch: string;
|
|
15
|
+
maximumFee: string;
|
|
16
|
+
transferFeeBasisPoints: number;
|
|
17
|
+
};
|
|
18
|
+
newerTransferFee: {
|
|
19
|
+
epoch: string;
|
|
20
|
+
maximumFee: string;
|
|
21
|
+
transferFeeBasisPoints: number;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export interface ITokenInfo {
|
|
25
|
+
decimals: number;
|
|
26
|
+
address: string;
|
|
27
|
+
programId: string;
|
|
28
|
+
}
|
|
29
|
+
export type IPoolLayoutWithId = IPoolLayout & {
|
|
30
|
+
currentPrice: number;
|
|
31
|
+
programId: PublicKey;
|
|
32
|
+
poolId: PublicKey;
|
|
33
|
+
};
|
|
34
|
+
export interface IAccountInfo {
|
|
35
|
+
pubkey: PublicKey;
|
|
36
|
+
isSigner: boolean;
|
|
37
|
+
isWritable: boolean;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/instructions/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,EAAE,CAAC;IACX,GAAG,EAAE,EAAE,GAAG,SAAS,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAGD,MAAM,WAAW,uBAAuB;IACtC,0BAA0B,EAAE,MAAM,CAAC;IACnC,yBAAyB,EAAE,MAAM,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,sBAAsB,EAAE,MAAM,CAAC;KAChC,CAAC;IACF,gBAAgB,EAAE;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,sBAAsB,EAAE,MAAM,CAAC;KAChC,CAAC;CACH;AAGD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CAInB;AAED,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
// Pool information (to be completed and improved)
|
|
3
|
+
// export interface IPoolInfo {
|
|
4
|
+
// id: string;
|
|
5
|
+
// programId: string;
|
|
6
|
+
// tickSpacing: number;
|
|
7
|
+
// tickCurrent: number;
|
|
8
|
+
// sqrtPriceX64: BN;
|
|
9
|
+
// mintA: ITokenInfo;
|
|
10
|
+
// mintB: ITokenInfo;
|
|
11
|
+
// vaultA: PublicKey;
|
|
12
|
+
// vaultB: PublicKey;
|
|
13
|
+
// }
|
|
14
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/instructions/models.ts"],"names":[],"mappings":";AAmDA,kDAAkD;AAClD,+BAA+B;AAC/B,gBAAgB;AAChB,uBAAuB;AACvB,yBAAyB;AACzB,yBAAyB;AACzB,sBAAsB;AACtB,uBAAuB;AACvB,uBAAuB;AACvB,uBAAuB;AACvB,uBAAuB;AACvB,IAAI"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { PublicKey } from '@solana/web3.js';
|
|
2
|
+
export declare const AMM_CONFIG_SEED: Buffer<ArrayBuffer>;
|
|
3
|
+
export declare const POOL_SEED: Buffer<ArrayBuffer>;
|
|
4
|
+
export declare const POOL_VAULT_SEED: Buffer<ArrayBuffer>;
|
|
5
|
+
export declare const POOL_REWARD_VAULT_SEED: Buffer<ArrayBuffer>;
|
|
6
|
+
export declare const POSITION_SEED: Buffer<ArrayBuffer>;
|
|
7
|
+
export declare const TICK_ARRAY_SEED: Buffer<ArrayBuffer>;
|
|
8
|
+
export declare const OPERATION_SEED: Buffer<ArrayBuffer>;
|
|
9
|
+
export declare const POOL_TICK_ARRAY_BITMAP_SEED: Buffer<ArrayBuffer>;
|
|
10
|
+
export declare const OBSERVATION_SEED: Buffer<ArrayBuffer>;
|
|
11
|
+
export declare const SUPPORT_MINT_SEED: Buffer<ArrayBuffer>;
|
|
12
|
+
export declare function getPdaAmmConfigId(programId: PublicKey, index: number): {
|
|
13
|
+
publicKey: PublicKey;
|
|
14
|
+
nonce: number;
|
|
15
|
+
};
|
|
16
|
+
export declare function getPdaPoolId(programId: PublicKey, ammConfigId: PublicKey, mintA: PublicKey, mintB: PublicKey): {
|
|
17
|
+
publicKey: PublicKey;
|
|
18
|
+
nonce: number;
|
|
19
|
+
};
|
|
20
|
+
export declare function getPdaPoolVaultId(programId: PublicKey, poolId: PublicKey, vaultMint: PublicKey): {
|
|
21
|
+
publicKey: PublicKey;
|
|
22
|
+
nonce: number;
|
|
23
|
+
};
|
|
24
|
+
export declare function getPdaTickArrayAddress(programId: PublicKey, poolId: PublicKey, startIndex: number): {
|
|
25
|
+
publicKey: PublicKey;
|
|
26
|
+
nonce: number;
|
|
27
|
+
};
|
|
28
|
+
export declare function getPdaProtocolPositionAddress(programId: PublicKey, poolId: PublicKey, tickLower: number, tickUpper: number): {
|
|
29
|
+
publicKey: PublicKey;
|
|
30
|
+
nonce: number;
|
|
31
|
+
};
|
|
32
|
+
export declare function getPdaPersonalPositionAddress(programId: PublicKey, nftMint: PublicKey): {
|
|
33
|
+
publicKey: PublicKey;
|
|
34
|
+
nonce: number;
|
|
35
|
+
};
|
|
36
|
+
export declare function getPdaExBitmapAccount(programId: PublicKey, poolId: PublicKey): {
|
|
37
|
+
publicKey: PublicKey;
|
|
38
|
+
nonce: number;
|
|
39
|
+
};
|
|
40
|
+
export declare function getPdaObservationAccount(programId: PublicKey, poolId: PublicKey): {
|
|
41
|
+
publicKey: PublicKey;
|
|
42
|
+
nonce: number;
|
|
43
|
+
};
|
|
44
|
+
export declare function getPdaMintExAccount(programId: PublicKey, mintAddress: PublicKey): {
|
|
45
|
+
publicKey: PublicKey;
|
|
46
|
+
nonce: number;
|
|
47
|
+
};
|
|
48
|
+
export declare function getATAAddress(owner: PublicKey, mint: PublicKey, programId?: PublicKey): {
|
|
49
|
+
publicKey: PublicKey;
|
|
50
|
+
nonce: number;
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=pda.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pda.d.ts","sourceRoot":"","sources":["../../../src/instructions/pda.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAK5C,eAAO,MAAM,eAAe,qBAAoC,CAAC;AACjE,eAAO,MAAM,SAAS,qBAA8B,CAAC;AACrD,eAAO,MAAM,eAAe,qBAAoC,CAAC;AACjE,eAAO,MAAM,sBAAsB,qBAA2C,CAAC;AAC/E,eAAO,MAAM,aAAa,qBAAkC,CAAC;AAC7D,eAAO,MAAM,eAAe,qBAAoC,CAAC;AACjE,eAAO,MAAM,cAAc,qBAAmC,CAAC;AAC/D,eAAO,MAAM,2BAA2B,qBAA0D,CAAC;AACnG,eAAO,MAAM,gBAAgB,qBAAqC,CAAC;AACnE,eAAO,MAAM,iBAAiB,qBAAsC,CAAC;AAErE,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,GACZ;IACD,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAEA;AAED,wBAAgB,YAAY,CAC1B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,SAAS,EACtB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,GACf;IACD,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAEA;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,GACnB;IACD,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAEA;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,GACjB;IACD,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAEA;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB;IACD,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAKA;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,SAAS,GACjB;IACD,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAEA;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,SAAS,GAChB;IACD,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAEA;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,SAAS,GAChB;IACD,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAEA;AAGD,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,SAAS,GACrB;IACD,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAEA;AAGD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,EACf,SAAS,CAAC,EAAE,SAAS,GACpB;IACD,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAKA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { TOKEN_PROGRAM_ID } from '@solana/spl-token';
|
|
2
|
+
import { PublicKey } from '@solana/web3.js';
|
|
3
|
+
import { i32ToBytes, u16ToBytes } from './utils/binaryUtils.js';
|
|
4
|
+
import { findProgramAddress } from './utils/index.js';
|
|
5
|
+
export const AMM_CONFIG_SEED = Buffer.from('amm_config', 'utf8');
|
|
6
|
+
export const POOL_SEED = Buffer.from('pool', 'utf8');
|
|
7
|
+
export const POOL_VAULT_SEED = Buffer.from('pool_vault', 'utf8');
|
|
8
|
+
export const POOL_REWARD_VAULT_SEED = Buffer.from('pool_reward_vault', 'utf8');
|
|
9
|
+
export const POSITION_SEED = Buffer.from('position', 'utf8');
|
|
10
|
+
export const TICK_ARRAY_SEED = Buffer.from('tick_array', 'utf8');
|
|
11
|
+
export const OPERATION_SEED = Buffer.from('operation', 'utf8');
|
|
12
|
+
export const POOL_TICK_ARRAY_BITMAP_SEED = Buffer.from('pool_tick_array_bitmap_extension', 'utf8');
|
|
13
|
+
export const OBSERVATION_SEED = Buffer.from('observation', 'utf8');
|
|
14
|
+
export const SUPPORT_MINT_SEED = Buffer.from('support_mint', 'utf8');
|
|
15
|
+
export function getPdaAmmConfigId(programId, index) {
|
|
16
|
+
return findProgramAddress([AMM_CONFIG_SEED, u16ToBytes(index)], programId);
|
|
17
|
+
}
|
|
18
|
+
export function getPdaPoolId(programId, ammConfigId, mintA, mintB) {
|
|
19
|
+
return findProgramAddress([POOL_SEED, ammConfigId.toBuffer(), mintA.toBuffer(), mintB.toBuffer()], programId);
|
|
20
|
+
}
|
|
21
|
+
export function getPdaPoolVaultId(programId, poolId, vaultMint) {
|
|
22
|
+
return findProgramAddress([POOL_VAULT_SEED, poolId.toBuffer(), vaultMint.toBuffer()], programId);
|
|
23
|
+
}
|
|
24
|
+
export function getPdaTickArrayAddress(programId, poolId, startIndex) {
|
|
25
|
+
return findProgramAddress([TICK_ARRAY_SEED, poolId.toBuffer(), i32ToBytes(startIndex)], programId);
|
|
26
|
+
}
|
|
27
|
+
export function getPdaProtocolPositionAddress(programId, poolId, tickLower, tickUpper) {
|
|
28
|
+
return findProgramAddress([POSITION_SEED, poolId.toBuffer(), i32ToBytes(tickLower), i32ToBytes(tickUpper)], programId);
|
|
29
|
+
}
|
|
30
|
+
export function getPdaPersonalPositionAddress(programId, nftMint) {
|
|
31
|
+
return findProgramAddress([POSITION_SEED, nftMint.toBuffer()], programId);
|
|
32
|
+
}
|
|
33
|
+
export function getPdaExBitmapAccount(programId, poolId) {
|
|
34
|
+
return findProgramAddress([POOL_TICK_ARRAY_BITMAP_SEED, poolId.toBuffer()], programId);
|
|
35
|
+
}
|
|
36
|
+
export function getPdaObservationAccount(programId, poolId) {
|
|
37
|
+
return findProgramAddress([OBSERVATION_SEED, poolId.toBuffer()], programId);
|
|
38
|
+
}
|
|
39
|
+
// New PDA seed, used to support mint extensions (e.g. token 2022)
|
|
40
|
+
export function getPdaMintExAccount(programId, mintAddress) {
|
|
41
|
+
return findProgramAddress([SUPPORT_MINT_SEED, mintAddress.toBuffer()], programId);
|
|
42
|
+
}
|
|
43
|
+
// Get ATA address
|
|
44
|
+
export function getATAAddress(owner, mint, programId) {
|
|
45
|
+
return findProgramAddress([owner.toBuffer(), (programId ?? TOKEN_PROGRAM_ID).toBuffer(), mint.toBuffer()], new PublicKey('ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL'));
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=pda.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pda.js","sourceRoot":"","sources":["../../../src/instructions/pda.ts"],"names":[],"mappings":"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"}
|