@exponent-labs/generic-sy-sdk 0.0.6 → 0.0.8

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/build/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- /// <reference types="bn.js" />
2
1
  import { BN, web3 } from "@coral-xyz/anchor";
2
+ import { GenericStandard } from "@exponent-labs/generic-sy-idl";
3
3
  import { GenericSyPda } from "@exponent-labs/generic-sy-pda";
4
- import { GenericSyState, GenericSyMetaAccount, InterfaceTypeGeneric } from "@exponent-labs/exponent-types";
4
+ import { GenericSyState, GenericSyMetaAccount, InterfaceTypeGeneric, Hook } from "@exponent-labs/exponent-types";
5
5
  export declare enum InterfaceType {
6
6
  Pyth = 0,
7
7
  SplStakePool = 1,
@@ -11,25 +11,31 @@ export declare enum InterfaceType {
11
11
  }
12
12
  export declare function getInterfaceTypeObj(interfaceType: number): InterfaceTypeGeneric;
13
13
  export declare function getInterfaceTypeFromString(interfaceType: string): InterfaceTypeGeneric;
14
+ interface GenericSyConfig {
15
+ skipFragmetricWrap?: boolean;
16
+ }
14
17
  export declare class GenericSySdk {
15
18
  state: GenericSyState;
16
19
  /** Private program for building instructions */
17
20
  private program;
21
+ private config;
18
22
  syPda: GenericSyPda;
19
- constructor(state: GenericSyState, programId?: web3.PublicKey);
23
+ constructor(state: GenericSyState, programId?: web3.PublicKey, config?: GenericSyConfig);
20
24
  private static calculateSyRate;
21
25
  /** Load an instance of SyMeta */
22
- static load({ cnx, yieldBearingMint, interfaceType, genericStandardProgramId, }: {
26
+ static load({ cnx, yieldBearingMint, interfaceType, genericStandardProgramId, config, }: {
23
27
  cnx: web3.Connection;
24
28
  yieldBearingMint: web3.PublicKey;
25
29
  interfaceType: InterfaceTypeGeneric;
26
30
  genericStandardProgramId: web3.PublicKey;
31
+ config?: GenericSyConfig;
27
32
  }): Promise<GenericSySdk>;
28
33
  /** Load an instance of SyMeta from just the syMeta address */
29
- static loadFromSyMeta({ cnx, syMetaAddress, genericStandardProgramId, }: {
34
+ static loadFromSyMeta({ cnx, syMetaAddress, genericStandardProgramId, config, }: {
30
35
  cnx: web3.Connection;
31
36
  syMetaAddress: web3.PublicKey;
32
37
  genericStandardProgramId: web3.PublicKey;
38
+ config?: GenericSyConfig;
33
39
  }): Promise<GenericSySdk>;
34
40
  /** Reload the state of the account */
35
41
  reload(cnx: web3.Connection): Promise<void>;
@@ -77,5 +83,54 @@ export declare class GenericSySdk {
77
83
  emissionMint: web3.PublicKey;
78
84
  emissionTokenAccount: web3.PublicKey;
79
85
  }): Promise<web3.TransactionInstruction>;
86
+ ixModifyHook({ signer, hook }: {
87
+ signer: web3.PublicKey;
88
+ hook: Hook;
89
+ }): import("@coral-xyz/anchor/dist/cjs/program/namespace/methods").MethodsBuilder<GenericStandard, {
90
+ name: "modifyHook";
91
+ discriminator: [12];
92
+ accounts: [{
93
+ "name": "signer";
94
+ "signer": true;
95
+ }, {
96
+ "name": "feePayer";
97
+ "writable": true;
98
+ "signer": true;
99
+ }, {
100
+ "name": "meta";
101
+ "writable": true;
102
+ }, {
103
+ "name": "systemProgram";
104
+ "docs": ["Needed for realloc'ing the emission tracker"];
105
+ }, {
106
+ "name": "adminState";
107
+ }];
108
+ args: [{
109
+ "name": "hook";
110
+ "type": {
111
+ "defined": {
112
+ "name": "hook";
113
+ };
114
+ };
115
+ }];
116
+ } & {
117
+ name: "modifyHook";
118
+ }, {
119
+ name: "signer";
120
+ signer: true;
121
+ } | {
122
+ name: "feePayer";
123
+ writable: true;
124
+ signer: true;
125
+ } | {
126
+ name: "meta";
127
+ writable: true;
128
+ } | {
129
+ name: "systemProgram";
130
+ docs: ["Needed for realloc'ing the emission tracker"];
131
+ } | {
132
+ name: "adminState";
133
+ }>;
80
134
  }
81
135
  export declare function initSy(signer: web3.PublicKey, interfaceAccounts: web3.PublicKey[], yieldBearingMint: web3.PublicKey, interfaceIndex: number): Promise<web3.TransactionInstruction>;
136
+ export {};
package/build/index.js CHANGED
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initSy = exports.GenericSySdk = exports.getInterfaceTypeFromString = exports.getInterfaceTypeObj = exports.InterfaceType = void 0;
3
+ exports.GenericSySdk = exports.InterfaceType = void 0;
4
+ exports.getInterfaceTypeObj = getInterfaceTypeObj;
5
+ exports.getInterfaceTypeFromString = getInterfaceTypeFromString;
6
+ exports.initSy = initSy;
4
7
  const anchor_1 = require("@coral-xyz/anchor");
5
8
  const generic_sy_idl_1 = require("@exponent-labs/generic-sy-idl");
6
9
  const spl_token_1 = require("@solana/spl-token");
@@ -62,7 +65,6 @@ function getInterfaceTypeObj(interfaceType) {
62
65
  throw new Error(`Unsupported interface type: ${interfaceType}`);
63
66
  }
64
67
  }
65
- exports.getInterfaceTypeObj = getInterfaceTypeObj;
66
68
  function getInterfaceTypeFromString(interfaceType) {
67
69
  switch (interfaceType) {
68
70
  case "pyth":
@@ -79,14 +81,15 @@ function getInterfaceTypeFromString(interfaceType) {
79
81
  throw new Error(`Unsupported interface type: ${interfaceType}`);
80
82
  }
81
83
  }
82
- exports.getInterfaceTypeFromString = getInterfaceTypeFromString;
83
84
  class GenericSySdk {
84
85
  state;
85
86
  /** Private program for building instructions */
86
87
  program;
88
+ config;
87
89
  syPda;
88
- constructor(state, programId = new anchor_1.web3.PublicKey(generic_sy_idl_2.PROGRAM_ID)) {
90
+ constructor(state, programId = new anchor_1.web3.PublicKey(generic_sy_idl_2.PROGRAM_ID), config = {}) {
89
91
  this.state = state;
92
+ this.config = config;
90
93
  // create a fake AnchorProvider -- which is unused
91
94
  this.program = new anchor_1.Program(generic_sy_idl_1.IDL, new anchor_1.AnchorProvider(new anchor_1.web3.Connection("https://api.devnet.solana.com"), new utils_1.MyWallet(anchor_1.web3.Keypair.generate())));
92
95
  // Determine interface index based on the interface type from state
@@ -141,7 +144,7 @@ class GenericSySdk {
141
144
  }
142
145
  }
143
146
  /** Load an instance of SyMeta */
144
- static async load({ cnx, yieldBearingMint, interfaceType, genericStandardProgramId, }) {
147
+ static async load({ cnx, yieldBearingMint, interfaceType, genericStandardProgramId, config = {}, }) {
145
148
  const account = await loadAccountState(cnx, yieldBearingMint, genericStandardProgramId, interfaceType);
146
149
  const tokenProgramBase = spl_token_1.TOKEN_PROGRAM_ID;
147
150
  let interfaceIndex;
@@ -174,10 +177,10 @@ class GenericSySdk {
174
177
  syRate,
175
178
  fragmetricData,
176
179
  };
177
- return new GenericSySdk(state, genericStandardProgramId);
180
+ return new GenericSySdk(state, genericStandardProgramId, config);
178
181
  }
179
182
  /** Load an instance of SyMeta from just the syMeta address */
180
- static async loadFromSyMeta({ cnx, syMetaAddress, genericStandardProgramId, }) {
183
+ static async loadFromSyMeta({ cnx, syMetaAddress, genericStandardProgramId, config = {}, }) {
181
184
  const fetcher = new exponent_fetcher_1.ExponentFetcher({ connection: cnx, genericStandardProgramId });
182
185
  const account = await fetcher.fetchGenericSyMeta(syMetaAddress);
183
186
  const tokenProgramBase = spl_token_1.TOKEN_PROGRAM_ID;
@@ -189,7 +192,7 @@ class GenericSySdk {
189
192
  syRate,
190
193
  fragmetricData,
191
194
  };
192
- return new GenericSySdk(state, genericStandardProgramId);
195
+ return new GenericSySdk(state, genericStandardProgramId, config);
193
196
  }
194
197
  /** Reload the state of the account */
195
198
  async reload(cnx) {
@@ -258,8 +261,21 @@ class GenericSySdk {
258
261
  return accounts;
259
262
  }
260
263
  getAccountsWithSigner(signer) {
261
- const accounts = this.remainingAccounts;
264
+ const accounts = this.account.interfaceAccounts
265
+ .map((a) => ({
266
+ pubkey: a,
267
+ isSigner: false,
268
+ isWritable: true,
269
+ }))
270
+ .concat(this.emissions.map((e) => ({ pubkey: e.escrowAccount, isSigner: false, isWritable: false })));
262
271
  if ("fragmetric" in this.state.account.interfaceType && signer) {
272
+ // If skipFragmetricWrap is true, return minimal accounts
273
+ if (this.config.skipFragmetricWrap) {
274
+ console.log("skipFragmetricWrap is true");
275
+ console.log("accounts", accounts);
276
+ return accounts;
277
+ }
278
+ // Existing fragmetric account logic
263
279
  const fragmetricReceiptTokenMint = this.state.fragmetricData.receiptTokenMint;
264
280
  const fragmetricWrappedTokenMint = this.state.fragmetricData.wrappedTokenMint;
265
281
  const fragmetricPda = new fragmetric_pda_1.FragmetricPda();
@@ -273,12 +289,6 @@ class GenericSySdk {
273
289
  const userFundAccount = fragmetricPda.userFundAccount(fragmetricReceiptTokenMint, signer);
274
290
  const userRewardAccount = fragmetricPda.userRewardAccount(fragmetricReceiptTokenMint, signer);
275
291
  const eventAuthority = fragmetricPda.eventAuthority();
276
- console.log("fund wrap account", fundWrapAccount.toBase58());
277
- console.log("user fund account", userFundAccount.toBase58());
278
- console.log("user reward account", userRewardAccount.toBase58());
279
- console.log("receipt token mint", fragmetricReceiptTokenMint.toBase58());
280
- console.log("wrapped token mint", fragmetricWrappedTokenMint.toBase58());
281
- console.log("receipt token wrap account", receiptTokenWrapAccount.toBase58());
282
292
  accounts.push(
283
293
  // user
284
294
  { pubkey: signer, isSigner: true, isWritable: true },
@@ -359,6 +369,21 @@ class GenericSySdk {
359
369
  })
360
370
  .instruction();
361
371
  }
372
+ ixModifyHook({ signer, hook }) {
373
+ // Convert number arrays to Buffer objects
374
+ const modifiedHook = {
375
+ ...hook,
376
+ preMintHookDiscriminator: Buffer.from(hook.preMintHookDiscriminator),
377
+ postRedeemHookDiscriminator: Buffer.from(hook.postRedeemHookDiscriminator),
378
+ };
379
+ return this.program.methods.modifyHook(modifiedHook).accountsStrict({
380
+ adminState: this.adminState,
381
+ signer,
382
+ feePayer: signer,
383
+ meta: this.selfAddress,
384
+ systemProgram: anchor_1.web3.SystemProgram.programId,
385
+ });
386
+ }
362
387
  }
363
388
  exports.GenericSySdk = GenericSySdk;
364
389
  function initSy(signer, interfaceAccounts, yieldBearingMint, interfaceIndex) {
@@ -375,7 +400,7 @@ function initSy(signer, interfaceAccounts, yieldBearingMint, interfaceIndex) {
375
400
  const tokenVrtEscrow = (0, spl_token_1.getAssociatedTokenAddressSync)(yieldBearingMint, syMetaAddress, true, spl_token_1.TOKEN_PROGRAM_ID);
376
401
  const interfaceType = getInterfaceTypeObj(interfaceIndex);
377
402
  const ix = program.methods
378
- .initSy(new anchor_1.BN(0), new anchor_1.BN(0), "Exponent Wrapped dSOL", "wdSOL", "", interfaceAccounts, interfaceType)
403
+ .initSy(new anchor_1.BN(0), new anchor_1.BN(0), "Exponent Wrapped USDe", "wUSDe", "", interfaceAccounts, interfaceType)
379
404
  .accountsStrict({
380
405
  syMeta: syMetaAddress,
381
406
  mintSy: mintSy,
@@ -393,5 +418,4 @@ function initSy(signer, interfaceAccounts, yieldBearingMint, interfaceIndex) {
393
418
  .instruction();
394
419
  return ix;
395
420
  }
396
- exports.initSy = initSy;
397
421
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,8CAAqE;AACrE,kEAAoE;AACpE,iDAA0G;AAC1G,kEAA4D;AAE5D,sEAKwC;AACxC,0EAA+F;AAC/F,mCAAkC;AAClC,kEAAoF;AACpF,kEAAyF;AAEzF,KAAK,UAAU,gBAAgB,CAC7B,GAAoB,EACpB,gBAAgC,EAChC,wBAAwC,EACxC,aAAmC;IAEnC,IAAI,cAAsB,CAAA;IAC1B,IAAI,MAAM,IAAI,aAAa,EAAE,CAAC;QAC5B,cAAc,GAAG,aAAa,CAAC,IAAI,CAAA;IACrC,CAAC;SAAM,IAAI,cAAc,IAAI,aAAa,EAAE,CAAC;QAC3C,cAAc,GAAG,aAAa,CAAC,YAAY,CAAA;IAC7C,CAAC;SAAM,IAAI,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,cAAc,GAAG,aAAa,CAAC,GAAG,CAAA;IACpC,CAAC;SAAM,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,cAAc,GAAG,aAAa,CAAC,UAAU,CAAA;IAC3C,CAAC;SAAM,IAAI,SAAS,IAAI,aAAa,EAAE,CAAC;QACtC,cAAc,GAAG,aAAa,CAAC,OAAO,CAAA;IACxC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IAC/C,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,6BAAY,CAAC,wBAAwB,EAAE,cAAc,CAAC,CAAA;IACtE,MAAM,OAAO,GAAG,IAAI,kCAAe,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,wBAAwB,EAAE,CAAC,CAAA;IAClF,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAA;IACtD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAA;IACtD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAA;IAC5D,OAAO,IAAI,CAAA;AACb,CAAC;AAED,oDAAoD;AACpD,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,iDAAQ,CAAA;IACR,iEAAgB,CAAA;IAChB,+CAAO,CAAA;IACP,6DAAc,CAAA;IACd,uDAAW,CAAA;AACb,CAAC,EANW,aAAa,6BAAb,aAAa,QAMxB;AAED,SAAgB,mBAAmB,CAAC,aAAqB;IACvD,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,aAAa,CAAC,IAAI;YACrB,OAAO,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,WAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,WAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAA;QAC3E,KAAK,aAAa,CAAC,YAAY;YAC7B,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAA;QAC7B,KAAK,aAAa,CAAC,GAAG;YACpB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAA;QACpB,KAAK,aAAa,CAAC,UAAU;YAC3B,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAA;QAC3B,KAAK,aAAa,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;QAExB;YACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,aAAa,EAAE,CAAC,CAAA;IACnE,CAAC;AACH,CAAC;AAhBD,kDAgBC;AAED,SAAgB,0BAA0B,CAAC,aAAqB;IAC9D,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,WAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,WAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAA;QAC3E,KAAK,gBAAgB;YACnB,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAA;QAC7B,KAAK,KAAK;YACR,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAA;QACpB,KAAK,YAAY;YACf,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAA;QAC3B,KAAK,SAAS;YACZ,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;QACxB;YACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,aAAa,EAAE,CAAC,CAAA;IACnE,CAAC;AACH,CAAC;AAfD,gEAeC;AAED,MAAa,YAAY;IAOd;IANT,gDAAgD;IACxC,OAAO,CAA0B;IAEzC,KAAK,CAAc;IAEnB,YACS,KAAqB,EAC5B,YAA4B,IAAI,aAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC;QADpE,UAAK,GAAL,KAAK,CAAgB;QAG5B,kDAAkD;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAO,CACxB,oBAAG,EACH,IAAI,uBAAc,CAAC,IAAI,aAAI,CAAC,UAAU,CAAC,+BAA+B,CAAC,EAAE,IAAI,gBAAQ,CAAC,aAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAChH,CAAA;QACD,mEAAmE;QACnE,IAAI,cAAsB,CAAA;QAC1B,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC/C,cAAc,GAAG,aAAa,CAAC,IAAI,CAAA;QACrC,CAAC;aAAM,IAAI,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC9D,cAAc,GAAG,aAAa,CAAC,YAAY,CAAA;QAC7C,CAAC;aAAM,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YACrD,cAAc,GAAG,aAAa,CAAC,GAAG,CAAA;QACpC,CAAC;aAAM,IAAI,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC5D,cAAc,GAAG,aAAa,CAAC,UAAU,CAAA;QAC3C,CAAC;aAAM,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YACzD,cAAc,GAAG,aAAa,CAAC,OAAO,CAAA;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC/C,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,6BAAY,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IAC1D,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,eAAe,CAClC,OAA6B,EAC7B,aAAmC,EACnC,GAAoB;QAKpB,IAAI,MAAM,IAAI,aAAa,EAAE,CAAC;YAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAA;QAC1C,CAAC;aAAM,IAAI,cAAc,IAAI,aAAa,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,MAAM,IAAA,yCAAsB,EAAC,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YACxG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;QAC1B,CAAC;aAAM,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAA,uCAAoB,EAAC;gBAC/E,UAAU,EAAE,GAAG;gBACf,cAAc,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;aAC7C,CAAC,CAAA;YACF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,EAAE,CAAA;QAClF,CAAC;aAAM,IAAI,SAAS,IAAI,aAAa,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;YAE/C,MAAM,QAAQ,GAAG;gBACf,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACpC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;aACrC,CAAA;YAED,MAAM,YAAY,GAAG,MAAM,IAAA,4CAAyB,EAAC,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAA;YAE3G,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;QACjC,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;QACtB,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAChB,GAAG,EACH,gBAAgB,EAChB,aAAa,EACb,wBAAwB,GAMzB;QACC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,aAAa,CAAC,CAAA;QACtG,MAAM,gBAAgB,GAAG,4BAAgB,CAAA;QAEzC,IAAI,cAAsB,CAAA;QAC1B,IAAI,MAAM,IAAI,aAAa,EAAE,CAAC;YAC5B,cAAc,GAAG,aAAa,CAAC,IAAI,CAAA;QACrC,CAAC;aAAM,IAAI,cAAc,IAAI,aAAa,EAAE,CAAC;YAC3C,cAAc,GAAG,aAAa,CAAC,YAAY,CAAA;QAC7C,CAAC;aAAM,IAAI,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,cAAc,GAAG,aAAa,CAAC,GAAG,CAAA;QACpC,CAAC;aAAM,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,cAAc,GAAG,aAAa,CAAC,UAAU,CAAA;QAC3C,CAAC;aAAM,IAAI,SAAS,IAAI,aAAa,EAAE,CAAC;YACtC,cAAc,GAAG,aAAa,CAAC,OAAO,CAAA;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC/C,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,6BAAY,CAAC,wBAAwB,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC;YACpF,gBAAgB;SACjB,CAAC,CAAA;QAEF,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,CAAC,CAAA;QAElG,MAAM,KAAK,GAAmB;YAC5B,WAAW;YACX,OAAO;YACP,gBAAgB;YAChB,MAAM;YACN,cAAc;SACf,CAAA;QAED,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAA;IAC1D,CAAC;IAED,8DAA8D;IAC9D,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAC1B,GAAG,EACH,aAAa,EACb,wBAAwB,GAKzB;QACC,MAAM,OAAO,GAAG,IAAI,kCAAe,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,wBAAwB,EAAE,CAAC,CAAA;QAClF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAA;QAC/D,MAAM,gBAAgB,GAAG,4BAAgB,CAAA;QAEzC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAA;QAE1G,MAAM,KAAK,GAAmB;YAC5B,WAAW,EAAE,aAAa;YAC1B,OAAO;YACP,gBAAgB;YAChB,MAAM;YACN,cAAc;SACf,CAAA;QAED,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAA;IAC1D,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,MAAM,CAAC,GAAoB;QAC/B,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,GAAG,EACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,EACnC,IAAI,CAAC,OAAO,CAAC,SAAS,EACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CACjC,CAAA;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAA;QAC5B,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAA;QAC1G,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAA;QAC1B,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,cAAc,CAAA;IAC5C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;IAC5B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAA;IACtC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;IACjC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAA;IAC/B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;IACjC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA;IACnC,CAAC;IAED,mBAAmB;IACnB,+BAA+B;IAC/B,IAAI;IAEJ,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAA;IAC/B,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAA;IACpC,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAA,yCAA6B,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,4BAAgB,CAAC,CAAA;IAC9F,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAA;IACzC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,qCAAgB,CAAC,8CAAyB,CAAC,CAAC,aAAa,EAAE,CAAA;IACxE,CAAC;IAED,IAAI,cAAc;QAChB,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC/C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC/C,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAA;IAClC,CAAC;IAED,IAAI,iBAAiB;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB;aAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;aACF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;QAEvG,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,qBAAqB,CAAC,MAAuB;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAA;QAEvC,IAAI,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,MAAM,EAAE,CAAC;YAC/D,MAAM,0BAA0B,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAA;YAC7E,MAAM,0BAA0B,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAA;YAC7E,MAAM,aAAa,GAAG,IAAI,8BAAa,EAAE,CAAA;YACzC,MAAM,qBAAqB,GAAG,aAAa,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAA;YACnF,MAAM,uBAAuB,GAAG,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAA;YAEvF,MAAM,uBAAuB,GAAG,IAAA,yCAA6B,EAC3D,0BAA0B,EAC1B,MAAM,EACN,IAAI,EACJ,iCAAqB,CACtB,CAAA;YACD,MAAM,uBAAuB,GAAG,IAAA,yCAA6B,EAC3D,0BAA0B,EAC1B,MAAM,EACN,IAAI,EACJ,4BAAgB,CACjB,CAAA;YAED,MAAM,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAA;YAEjF,MAAM,uBAAuB,GAAG,IAAA,yCAA6B,EAC3D,0BAA0B,EAC1B,eAAe,EACf,IAAI,EACJ,iCAAqB,CACtB,CAAA;YAED,MAAM,4BAA4B,GAAG,aAAa,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,eAAe,CAAC,CAAA;YAEjH,MAAM,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAA;YACzF,MAAM,iBAAiB,GAAG,aAAa,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAA;YAE7F,MAAM,cAAc,GAAG,aAAa,CAAC,cAAc,EAAE,CAAA;YAErD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC5D,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC5D,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAA;YAChE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,QAAQ,EAAE,CAAC,CAAA;YACxE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,QAAQ,EAAE,CAAC,CAAA;YACxE,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC7E,QAAQ,CAAC,IAAI;YACX,OAAO;YACP,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;YACpD,oBAAoB;YACpB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;YAC9D,wBAAwB;YACxB,EAAE,MAAM,EAAE,iCAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;YACrE,wBAAwB;YACxB,EAAE,MAAM,EAAE,4BAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAChE,EAAE,MAAM,EAAE,0BAA0B,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EACzE,EAAE,MAAM,EAAE,0BAA0B,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EACzE,EAAE,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EACtE,EAAE,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EACtE,EAAE,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EACtE,EAAE,MAAM,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EACpE,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAC9D,EAAE,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EACtE,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAChE,EAAE,MAAM,EAAE,4BAA4B,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAC3E,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAC9D;gBACE,MAAM,EAAE,sCAAqB;gBAC7B,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,KAAK;aAClB,CACF,CAAA;QACH,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,QAAQ,CAAC,EACP,SAAS,EACT,UAAU,EACV,OAAO,EACP,KAAK,GAMN;QACC,OAAO,GAAG,OAAO,IAAI,IAAA,yCAA6B,EAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAC9G,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC1C,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC9C,KAAK,GAAG,KAAK,IAAI,IAAA,yCAA6B,EAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,4BAAgB,CAAC,CAAA;QAE9F,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,IAAI,CAAC,IAAI,WAAE,CAAC,UAAU,CAAC,CAAC;aACxB,cAAc,CAAC;YACd,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,SAAS;YACT,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,kBAAkB,EAAE,OAAO;YAC3B,gBAAgB,EAAE,KAAK;YACvB,YAAY,EAAE,4BAAgB;YAC9B,uBAAuB,EAAE,IAAI,CAAC,cAAc;SAC7C,CAAC;aACD,iBAAiB,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;aACxD,WAAW,EAAE,CAAA;IAClB,CAAC;IAED,UAAU,CAAC,EACT,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,KAAK,GAMN;QACC,OAAO,GAAG,OAAO,IAAI,IAAA,yCAA6B,EAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACvG,KAAK,GAAG,KAAK,IAAI,IAAA,yCAA6B,EAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAAgB,CAAC,CAAA;QAE7F,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,MAAM,CAAC,IAAI,WAAE,CAAC,QAAQ,CAAC,CAAC;aACxB,cAAc,CAAC;YACd,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,4BAAgB;YAC9B,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,OAAO;YACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,uBAAuB,EAAE,IAAI,CAAC,cAAc;SAC7C,CAAC;aACD,iBAAiB,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;aACvD,WAAW,EAAE,CAAA;IAClB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,QAAQ,EAAE;aACV,cAAc,CAAC;YACd,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC;aACD,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC;aACzC,WAAW,EAAE,CAAA;IAClB,CAAC;IAED,aAAa,CAAC,EACZ,MAAM,EACN,YAAY,EACZ,oBAAoB,GAKrB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,WAAW,EAAE;aACb,cAAc,CAAC;YACd,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,MAAM;YACN,QAAQ,EAAE,MAAM;YAChB,aAAa,EAAE,oBAAoB;YACnC,YAAY,EAAE,YAAY;YAC1B,aAAa,EAAE,aAAI,CAAC,aAAa,CAAC,SAAS;YAC3C,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;aACD,WAAW,EAAE,CAAA;IAClB,CAAC;CACF;AAnZD,oCAmZC;AAED,SAAgB,MAAM,CACpB,MAAsB,EACtB,iBAAmC,EACnC,gBAAgC,EAChC,cAAsB;IAEtB,MAAM,OAAO,GAAG,IAAI,gBAAO,CACzB,oBAAG,EACH,IAAI,uBAAc,CAAC,IAAI,aAAI,CAAC,UAAU,CAAC,+BAA+B,CAAC,EAAE,IAAI,gBAAQ,CAAC,aAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAChH,CAAA;IAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;IAC7C,MAAM,GAAG,GAAG,IAAI,6BAAY,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IAC/D,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAA;IACtD,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAA;IAChE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAA;IAC/C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC/C,MAAM,gBAAgB,GAAG,IAAI,qCAAgB,CAAC,8CAAyB,CAAC,CAAA;IAExE,MAAM,uBAAuB,GAAG,IAAI,aAAI,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAA;IACjG,MAAM,yBAAyB,GAAG,aAAI,CAAC,SAAS,CAAC,sBAAsB,CACrE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,uBAAuB,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAChF,uBAAuB,CACxB,CAAC,CAAC,CAAC,CAAA;IAEJ,MAAM,cAAc,GAAG,IAAA,yCAA6B,EAAC,gBAAgB,EAAE,aAAa,EAAE,IAAI,EAAE,4BAAgB,CAAC,CAAA;IAE7G,MAAM,aAAa,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAA;IACzD,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO;SACvB,MAAM,CAAC,IAAI,WAAE,CAAC,CAAC,CAAC,EAAE,IAAI,WAAE,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,aAAa,CAAC;SACpG,cAAc,CAAC;QACd,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,gBAAgB,CAAC,aAAa,EAAE;QAC5C,KAAK,EAAE,MAAM;QACb,gBAAgB;QAChB,cAAc,EAAE,4BAAgB;QAChC,wBAAwB,EAAE,4BAAgB;QAC1C,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;QACjD,aAAa,EAAE,aAAI,CAAC,aAAa,CAAC,SAAS;QAC3C,QAAQ,EAAE,yBAAyB;QACnC,oBAAoB,EAAE,uBAAuB;QAC7C,uBAAuB,EAAE,cAAc;KACxC,CAAC;SACD,WAAW,EAAE,CAAA;IAEhB,OAAO,EAAE,CAAA;AACX,CAAC;AA/CD,wBA+CC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exponent-labs/generic-sy-sdk",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "license": "AGPL-3.0",
@@ -10,11 +10,11 @@
10
10
  },
11
11
  "dependencies": {
12
12
  "@coral-xyz/anchor": "^0.30.1",
13
- "@exponent-labs/exponent-admin-pda": "0.0.6",
14
- "@exponent-labs/exponent-fetcher": "0.0.6",
15
- "@exponent-labs/fragmetric-pda": "0.0.6",
16
- "@exponent-labs/generic-sy-idl": "0.0.6",
17
- "@exponent-labs/generic-sy-pda": "0.0.6",
13
+ "@exponent-labs/exponent-admin-pda": "0.0.8",
14
+ "@exponent-labs/exponent-fetcher": "0.0.8",
15
+ "@exponent-labs/fragmetric-pda": "0.0.8",
16
+ "@exponent-labs/generic-sy-idl": "0.0.8",
17
+ "@exponent-labs/generic-sy-pda": "0.0.8",
18
18
  "@solana/spl-token": "^0.4.6"
19
19
  },
20
20
  "devDependencies": {
package/src/index.ts CHANGED
@@ -2,7 +2,7 @@ import { AnchorProvider, BN, Program, web3 } from "@coral-xyz/anchor"
2
2
  import { IDL, GenericStandard } from "@exponent-labs/generic-sy-idl"
3
3
  import { getAssociatedTokenAddressSync, TOKEN_2022_PROGRAM_ID, TOKEN_PROGRAM_ID } from "@solana/spl-token"
4
4
  import { GenericSyPda } from "@exponent-labs/generic-sy-pda"
5
- import { GenericSyState, GenericSyMetaAccount, InterfaceTypeGeneric } from "@exponent-labs/exponent-types"
5
+ import { GenericSyState, GenericSyMetaAccount, InterfaceTypeGeneric, Hook } from "@exponent-labs/exponent-types"
6
6
  import {
7
7
  ExponentFetcher,
8
8
  fetchFragmetricIndex,
@@ -86,16 +86,23 @@ export function getInterfaceTypeFromString(interfaceType: string): InterfaceType
86
86
  }
87
87
  }
88
88
 
89
+ interface GenericSyConfig {
90
+ skipFragmetricWrap?: boolean
91
+ }
92
+
89
93
  export class GenericSySdk {
90
94
  /** Private program for building instructions */
91
95
  private program: Program<GenericStandard>
96
+ private config: GenericSyConfig
92
97
 
93
98
  syPda: GenericSyPda
94
99
 
95
100
  constructor(
96
101
  public state: GenericSyState,
97
102
  programId: web3.PublicKey = new web3.PublicKey(GENERIC_STANDARD_PROGRAM_ID),
103
+ config: GenericSyConfig = {},
98
104
  ) {
105
+ this.config = config
99
106
  // create a fake AnchorProvider -- which is unused
100
107
  this.program = new Program<GenericStandard>(
101
108
  IDL,
@@ -161,11 +168,13 @@ export class GenericSySdk {
161
168
  yieldBearingMint,
162
169
  interfaceType,
163
170
  genericStandardProgramId,
171
+ config = {},
164
172
  }: {
165
173
  cnx: web3.Connection
166
174
  yieldBearingMint: web3.PublicKey
167
175
  interfaceType: InterfaceTypeGeneric
168
176
  genericStandardProgramId: web3.PublicKey
177
+ config?: GenericSyConfig
169
178
  }) {
170
179
  const account = await loadAccountState(cnx, yieldBearingMint, genericStandardProgramId, interfaceType)
171
180
  const tokenProgramBase = TOKEN_PROGRAM_ID
@@ -198,7 +207,7 @@ export class GenericSySdk {
198
207
  fragmetricData,
199
208
  }
200
209
 
201
- return new GenericSySdk(state, genericStandardProgramId)
210
+ return new GenericSySdk(state, genericStandardProgramId, config)
202
211
  }
203
212
 
204
213
  /** Load an instance of SyMeta from just the syMeta address */
@@ -206,10 +215,12 @@ export class GenericSySdk {
206
215
  cnx,
207
216
  syMetaAddress,
208
217
  genericStandardProgramId,
218
+ config = {},
209
219
  }: {
210
220
  cnx: web3.Connection
211
221
  syMetaAddress: web3.PublicKey
212
222
  genericStandardProgramId: web3.PublicKey
223
+ config?: GenericSyConfig
213
224
  }) {
214
225
  const fetcher = new ExponentFetcher({ connection: cnx, genericStandardProgramId })
215
226
  const account = await fetcher.fetchGenericSyMeta(syMetaAddress)
@@ -225,7 +236,7 @@ export class GenericSySdk {
225
236
  fragmetricData,
226
237
  }
227
238
 
228
- return new GenericSySdk(state, genericStandardProgramId)
239
+ return new GenericSySdk(state, genericStandardProgramId, config)
229
240
  }
230
241
 
231
242
  /** Reload the state of the account */
@@ -317,9 +328,21 @@ export class GenericSySdk {
317
328
  }
318
329
 
319
330
  getAccountsWithSigner(signer?: web3.PublicKey) {
320
- const accounts = this.remainingAccounts
331
+ const accounts = this.account.interfaceAccounts
332
+ .map((a) => ({
333
+ pubkey: a,
334
+ isSigner: false,
335
+ isWritable: true,
336
+ }))
337
+ .concat(this.emissions.map((e) => ({ pubkey: e.escrowAccount, isSigner: false, isWritable: false })))
321
338
 
322
339
  if ("fragmetric" in this.state.account.interfaceType && signer) {
340
+ // If skipFragmetricWrap is true, return minimal accounts
341
+ if (this.config.skipFragmetricWrap) {
342
+ return accounts
343
+ }
344
+
345
+ // Existing fragmetric account logic
323
346
  const fragmetricReceiptTokenMint = this.state.fragmetricData.receiptTokenMint
324
347
  const fragmetricWrappedTokenMint = this.state.fragmetricData.wrappedTokenMint
325
348
  const fragmetricPda = new FragmetricPda()
@@ -355,12 +378,6 @@ export class GenericSySdk {
355
378
 
356
379
  const eventAuthority = fragmetricPda.eventAuthority()
357
380
 
358
- console.log("fund wrap account", fundWrapAccount.toBase58())
359
- console.log("user fund account", userFundAccount.toBase58())
360
- console.log("user reward account", userRewardAccount.toBase58())
361
- console.log("receipt token mint", fragmetricReceiptTokenMint.toBase58())
362
- console.log("wrapped token mint", fragmetricWrappedTokenMint.toBase58())
363
- console.log("receipt token wrap account", receiptTokenWrapAccount.toBase58())
364
381
  accounts.push(
365
382
  // user
366
383
  { pubkey: signer, isSigner: true, isWritable: true },
@@ -489,6 +506,23 @@ export class GenericSySdk {
489
506
  })
490
507
  .instruction()
491
508
  }
509
+
510
+ ixModifyHook({ signer, hook }: { signer: web3.PublicKey; hook: Hook }) {
511
+ // Convert number arrays to Buffer objects
512
+ const modifiedHook = {
513
+ ...hook,
514
+ preMintHookDiscriminator: Buffer.from(hook.preMintHookDiscriminator),
515
+ postRedeemHookDiscriminator: Buffer.from(hook.postRedeemHookDiscriminator),
516
+ }
517
+
518
+ return this.program.methods.modifyHook(modifiedHook).accountsStrict({
519
+ adminState: this.adminState,
520
+ signer,
521
+ feePayer: signer,
522
+ meta: this.selfAddress,
523
+ systemProgram: web3.SystemProgram.programId,
524
+ })
525
+ }
492
526
  }
493
527
 
494
528
  export function initSy(
@@ -520,7 +554,7 @@ export function initSy(
520
554
 
521
555
  const interfaceType = getInterfaceTypeObj(interfaceIndex)
522
556
  const ix = program.methods
523
- .initSy(new BN(0), new BN(0), "Exponent Wrapped dSOL", "wdSOL", "", interfaceAccounts, interfaceType)
557
+ .initSy(new BN(0), new BN(0), "Exponent Wrapped USDe", "wUSDe", "", interfaceAccounts, interfaceType)
524
558
  .accountsStrict({
525
559
  syMeta: syMetaAddress,
526
560
  mintSy: mintSy,