@pbpcanada/projectdam-sdk 1.0.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 @@
1
+ {"version":3,"file":"idl.js","sourceRoot":"","sources":["../src/idl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,UAAU,EAAE;QACV;YACE,eAAe,EAAE;gBACf,GAAG;gBACH,EAAE;gBACF,GAAG;gBACH,GAAG;gBACH,EAAE;gBACF,GAAG;gBACH,GAAG;gBACH,GAAG;aACJ;YACD,MAAM,EAAE,QAAQ;SACjB;QACD;YACE,eAAe,EAAE;gBACf,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,CAAC;gBACD,EAAE;gBACF,GAAG;gBACH,GAAG;gBACH,GAAG;aACJ;YACD,MAAM,EAAE,MAAM;SACf;QACD;YACE,eAAe,EAAE;gBACf,EAAE;gBACF,GAAG;gBACH,EAAE;gBACF,EAAE;gBACF,EAAE;gBACF,EAAE;gBACF,GAAG;gBACH,CAAC;aACF;YACD,MAAM,EAAE,SAAS;SAClB;KACF;IACD,SAAS,EAAE,8CAA8C;IACzD,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,uCAAuC;YAC9C,MAAM,EAAE,cAAc;SACvB;QACD;YACE,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,uCAAuC;YAC9C,MAAM,EAAE,eAAe;SACxB;QACD;YACE,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,cAAc;SACvB;QACD;YACE,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,oBAAoB;YAC3B,MAAM,EAAE,gBAAgB;SACzB;QACD;YACE,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,8BAA8B;YACrC,MAAM,EAAE,cAAc;SACvB;QACD;YACE,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,6CAA6C;YACpD,MAAM,EAAE,kBAAkB;SAC3B;QACD;YACE,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,wCAAwC;YAC/C,MAAM,EAAE,aAAa;SACtB;QACD;YACE,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,oCAAoC;YAC3C,MAAM,EAAE,uBAAuB;SAChC;QACD;YACE,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,eAAe;SACxB;QACD;YACE,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,4DAA4D;YACnE,MAAM,EAAE,mBAAmB;SAC5B;QACD;YACE,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,cAAc;SACvB;KACF;IACD,QAAQ,EAAE;QACR;YACE,eAAe,EAAE;gBACf,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,EAAE;gBACF,GAAG;gBACH,GAAG;gBACH,EAAE;aACH;YACD,MAAM,EAAE,YAAY;SACrB;QACD;YACE,eAAe,EAAE;gBACf,EAAE;gBACF,GAAG;gBACH,EAAE;gBACF,GAAG;gBACH,EAAE;gBACF,GAAG;gBACH,EAAE;gBACF,GAAG;aACJ;YACD,MAAM,EAAE,kBAAkB;SAC3B;KACF;IACD,cAAc,EAAE;QACd;YACE,UAAU,EAAE;gBACV;oBACE,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,WAAW;oBACnB,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,eAAe;iBACxB;aACF;YACD,MAAM,EAAE;gBACN;oBACE,MAAM,EAAE,aAAa;oBACrB,MAAM,EAAE,QAAQ;iBACjB;gBACD;oBACE,MAAM,EAAE,kBAAkB;oBAC1B,MAAM,EAAE,QAAQ;iBACjB;aACF;YACD,eAAe,EAAE;gBACf,GAAG;gBACH,GAAG;gBACH,EAAE;gBACF,CAAC;gBACD,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,EAAE;aACH;YACD,MAAM,EAAE,mBAAmB;SAC5B;QACD;YACE,UAAU,EAAE;gBACV;oBACE,MAAM,EAAE,MAAM;oBACd,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,gBAAgB;iBACzB;gBACD;oBACE,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,eAAe;iBACxB;aACF;YACD,MAAM,EAAE;gBACN;oBACE,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE;wBACN,OAAO,EAAE;4BACP,IAAI;4BACJ,CAAC;yBACF;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE;wBACN,SAAS,EAAE;4BACT,MAAM,EAAE,WAAW;yBACpB;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,KAAK;iBACd;gBACD;oBACE,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,KAAK;iBACd;gBACD;oBACE,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE;wBACN,SAAS,EAAE;4BACT,MAAM,EAAE,UAAU;yBACnB;qBACF;iBACF;aACF;YACD,eAAe,EAAE;gBACf,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,EAAE;gBACF,GAAG;aACJ;YACD,MAAM,EAAE,aAAa;SACtB;QACD;YACE,UAAU,EAAE;gBACV;oBACE,MAAM,EAAE,MAAM;oBACd,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,gBAAgB;iBACzB;gBACD;oBACE,MAAM,EAAE,SAAS;iBAClB;gBACD;oBACE,MAAM,EAAE,iBAAiB;oBACzB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,gBAAgB;oBACxB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,cAAc;iBACvB;gBACD;oBACE,MAAM,EAAE,wBAAwB;iBACjC;gBACD;oBACE,MAAM,EAAE,eAAe;iBACxB;aACF;YACD,MAAM,EAAE;gBACN;oBACE,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE;wBACN,OAAO,EAAE;4BACP,IAAI;4BACJ,CAAC;yBACF;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,KAAK;iBACd;aACF;YACD,eAAe,EAAE;gBACf,EAAE;gBACF,GAAG;gBACH,GAAG;gBACH,EAAE;gBACF,EAAE;gBACF,EAAE;gBACF,GAAG;gBACH,EAAE;aACH;YACD,MAAM,EAAE,MAAM;SACf;QACD;YACE,UAAU,EAAE;gBACV;oBACE,MAAM,EAAE,MAAM;oBACd,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,QAAQ;iBACjB;gBACD;oBACE,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,aAAa;iBACtB;gBACD;oBACE,MAAM,EAAE,SAAS;iBAClB;gBACD;oBACE,MAAM,EAAE,gBAAgB;oBACxB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,iBAAiB;oBACzB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,WAAW;oBACnB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,WAAW;oBACnB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,eAAe;oBACvB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,cAAc;iBACvB;gBACD;oBACE,MAAM,EAAE,wBAAwB;iBACjC;gBACD;oBACE,MAAM,EAAE,eAAe;iBACxB;aACF;YACD,MAAM,EAAE;gBACN;oBACE,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE,KAAK;iBACd;gBACD;oBACE,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,KAAK;iBACd;aACF;YACD,eAAe,EAAE;gBACf,GAAG;gBACH,CAAC;gBACD,EAAE;gBACF,EAAE;gBACF,CAAC;gBACD,GAAG;gBACH,GAAG;gBACH,GAAG;aACJ;YACD,MAAM,EAAE,KAAK;SACd;QACD;YACE,UAAU,EAAE;gBACV;oBACE,MAAM,EAAE,MAAM;oBACd,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,QAAQ;iBACjB;gBACD;oBACE,MAAM,EAAE,aAAa;iBACtB;gBACD;oBACE,MAAM,EAAE,SAAS;iBAClB;gBACD;oBACE,MAAM,EAAE,kBAAkB;oBAC1B,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,gBAAgB;oBACxB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,UAAU;oBAClB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,WAAW;oBACnB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,eAAe;oBACvB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,QAAQ;oBAChB,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,cAAc;iBACvB;gBACD;oBACE,MAAM,EAAE,wBAAwB;iBACjC;gBACD;oBACE,MAAM,EAAE,eAAe;iBACxB;aACF;YACD,MAAM,EAAE;gBACN;oBACE,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE,KAAK;iBACd;gBACD;oBACE,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,KAAK;iBACd;aACF;YACD,eAAe,EAAE;gBACf,EAAE;gBACF,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,CAAC;gBACD,GAAG;gBACH,GAAG;gBACH,GAAG;aACJ;YACD,MAAM,EAAE,MAAM;SACf;QACD;YACE,UAAU,EAAE;gBACV;oBACE,MAAM,EAAE,MAAM;oBACd,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,SAAS;iBAClB;gBACD;oBACE,MAAM,EAAE,iBAAiB;oBACzB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,gBAAgB;oBACxB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,cAAc;iBACvB;gBACD;oBACE,MAAM,EAAE,wBAAwB;iBACjC;gBACD;oBACE,MAAM,EAAE,eAAe;iBACxB;aACF;YACD,MAAM,EAAE,EAAE;YACV,eAAe,EAAE;gBACf,EAAE;gBACF,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,CAAC;gBACD,EAAE;gBACF,GAAG;aACJ;YACD,MAAM,EAAE,aAAa;SACtB;QACD;YACE,UAAU,EAAE;gBACV;oBACE,MAAM,EAAE,MAAM;oBACd,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,UAAU;oBAClB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,eAAe;iBACxB;aACF;YACD,MAAM,EAAE;gBACN;oBACE,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,KAAK;iBACd;aACF;YACD,eAAe,EAAE;gBACf,GAAG;gBACH,EAAE;gBACF,EAAE;gBACF,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,CAAC;gBACD,EAAE;aACH;YACD,MAAM,EAAE,aAAa;SACtB;QACD;YACE,UAAU,EAAE;gBACV;oBACE,MAAM,EAAE,MAAM;oBACd,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,SAAS;iBAClB;gBACD;oBACE,MAAM,EAAE,gBAAgB;oBACxB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,iBAAiB;oBACzB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,cAAc;iBACvB;gBACD;oBACE,MAAM,EAAE,wBAAwB;iBACjC;gBACD;oBACE,MAAM,EAAE,eAAe;iBACxB;aACF;YACD,MAAM,EAAE,EAAE;YACV,eAAe,EAAE;gBACf,EAAE;gBACF,GAAG;gBACH,GAAG;gBACH,EAAE;gBACF,GAAG;gBACH,EAAE;gBACF,EAAE;gBACF,EAAE;aACH;YACD,MAAM,EAAE,QAAQ;SACjB;QACD;YACE,UAAU,EAAE;gBACV;oBACE,MAAM,EAAE,MAAM;oBACd,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,MAAM,EAAE;gBACN;oBACE,MAAM,EAAE,cAAc;oBACtB,MAAM,EAAE;wBACN,QAAQ,EAAE,KAAK;qBAChB;iBACF;gBACD;oBACE,MAAM,EAAE,cAAc;oBACtB,MAAM,EAAE;wBACN,QAAQ,EAAE,KAAK;qBAChB;iBACF;aACF;YACD,eAAe,EAAE;gBACf,GAAG;gBACH,EAAE;gBACF,GAAG;gBACH,GAAG;gBACH,EAAE;gBACF,GAAG;gBACH,GAAG;gBACH,EAAE;aACH;YACD,MAAM,EAAE,aAAa;SACtB;KACF;IACD,UAAU,EAAE;QACV,MAAM,EAAE,cAAc;QACtB,SAAS,EAAE,OAAO;QAClB,MAAM,EAAE,OAAO;KAChB;IACD,OAAO,EAAE;QACP;YACE,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE;gBACN,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE;oBACV;wBACE,MAAM,EAAE,OAAO;qBAChB;oBACD;wBACE,QAAQ,EAAE;4BACR;gCACE,MAAM,EAAE,OAAO;gCACf,MAAM,EAAE,KAAK;6BACd;yBACF;wBACD,MAAM,EAAE,QAAQ;qBACjB;oBACD;wBACE,QAAQ,EAAE;4BACR;gCACE,MAAM,EAAE,UAAU;gCAClB,MAAM,EAAE,KAAK;6BACd;yBACF;wBACD,MAAM,EAAE,aAAa;qBACtB;iBACF;aACF;SACF;QACD;YACE,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE;gBACN,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE;oBACV;wBACE,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,MAAM,EAAE,OAAO;qBAChB;oBACD;wBACE,MAAM,EAAE,OAAO;qBAChB;iBACF;aACF;SACF;QACD;YACE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACN,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE;oBACR;wBACE,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,IAAI;qBACb;oBACD;wBACE,MAAM,EAAE,WAAW;wBACnB,MAAM,EAAE,QAAQ;qBACjB;oBACD;wBACE,MAAM,EAAE,gBAAgB;wBACxB,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,MAAM,EAAE,YAAY;wBACpB,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,MAAM,EAAE,aAAa;wBACrB,MAAM,EAAE,QAAQ;qBACjB;oBACD;wBACE,MAAM,EAAE,kBAAkB;wBAC1B,MAAM,EAAE,QAAQ;qBACjB;oBACD;wBACE,MAAM,EAAE,YAAY;wBACpB,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,MAAM,EAAE,aAAa;wBACrB,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,MAAM,EAAE,WAAW;wBACnB,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,MAAM;qBACf;iBACF;aACF;SACF;QACD;YACE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACN,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE;oBACR;wBACE,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,IAAI;qBACb;oBACD;wBACE,MAAM,EAAE,OAAO;wBACf,MAAM,EAAE,QAAQ;qBACjB;oBACD;wBACE,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE;4BACN,OAAO,EAAE;gCACP,IAAI;gCACJ,CAAC;6BACF;yBACF;qBACF;oBACD;wBACE,MAAM,EAAE,YAAY;wBACpB,MAAM,EAAE,QAAQ;qBACjB;oBACD;wBACE,MAAM,EAAE,WAAW;wBACnB,MAAM,EAAE;4BACN,SAAS,EAAE;gCACT,MAAM,EAAE,WAAW;6BACpB;yBACF;qBACF;oBACD;wBACE,MAAM,EAAE,WAAW;wBACnB,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,MAAM,EAAE,WAAW;wBACnB,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,MAAM,EAAE,UAAU;wBAClB,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,MAAM,EAAE,YAAY;wBACpB,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,MAAM,EAAE,UAAU;wBAClB,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,MAAM,EAAE,WAAW;wBACnB,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,MAAM,EAAE,UAAU;wBAClB,MAAM,EAAE;4BACN,SAAS,EAAE;gCACT,MAAM,EAAE,UAAU;6BACnB;yBACF;qBACF;oBACD;wBACE,MAAM,EAAE,UAAU;wBAClB,MAAM,EAAE,MAAM;qBACf;oBACD;wBACE,MAAM,EAAE,WAAW;wBACnB,MAAM,EAAE,KAAK;qBACd;iBACF;aACF;SACF;QACD;YACE,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE;gBACN,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE;oBACR;wBACE,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,IAAI;qBACb;oBACD;wBACE,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,QAAQ;qBACjB;oBACD;wBACE,MAAM,EAAE,SAAS;wBACjB,MAAM,EAAE,QAAQ;qBACjB;oBACD;wBACE,MAAM,EAAE,WAAW;wBACnB,MAAM,EAAE,QAAQ;qBACjB;oBACD;wBACE,MAAM,EAAE,aAAa;wBACrB,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,MAAM,EAAE,gBAAgB;wBACxB,MAAM,EAAE,KAAK;qBACd;iBACF;aACF;SACF;QACD;YACE,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE;gBACN,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE;oBACR;wBACE,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,QAAQ;qBACjB;oBACD;wBACE,MAAM,EAAE,OAAO;wBACf,MAAM,EAAE,QAAQ;qBACjB;oBACD;wBACE,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,QAAQ;qBACjB;oBACD;wBACE,MAAM,EAAE,SAAS;wBACjB,MAAM,EAAE,QAAQ;qBACjB;oBACD;wBACE,MAAM,EAAE,OAAO;wBACf,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,MAAM,EAAE,aAAa;wBACrB,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,MAAM,EAAE,gBAAgB;wBACxB,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,MAAM,EAAE,OAAO;wBACf,MAAM,EAAE,MAAM;qBACf;iBACF;aACF;SACF;QACD;YACE,MAAM,EAAE,kBAAkB;YAC1B,MAAM,EAAE;gBACN,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE;oBACR;wBACE,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,QAAQ;qBACjB;oBACD;wBACE,MAAM,EAAE,OAAO;wBACf,MAAM,EAAE,QAAQ;qBACjB;oBACD;wBACE,MAAM,EAAE,YAAY;wBACpB,MAAM,EAAE,QAAQ;qBACjB;oBACD;wBACE,MAAM,EAAE,WAAW;wBACnB,MAAM,EAAE;4BACN,SAAS,EAAE;gCACT,MAAM,EAAE,WAAW;6BACpB;yBACF;qBACF;oBACD;wBACE,MAAM,EAAE,WAAW;wBACnB,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,MAAM,EAAE,UAAU;wBAClB,MAAM,EAAE;4BACN,SAAS,EAAE;gCACT,MAAM,EAAE,UAAU;6BACnB;yBACF;qBACF;iBACF;aACF;SACF;KACF;CACO,CAAC"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @pbpcanada/projectdam-sdk
3
+ *
4
+ * TypeScript SDK for ProjectDAM - Agent-operated NFT AMM on Solana
5
+ *
6
+ * This SDK provides comprehensive TypeScript interfaces and utilities
7
+ * for interacting with the ProjectDAM protocol on Solana.
8
+ *
9
+ * Features:
10
+ * - Account decoders for all ProjectDAM account types
11
+ * - PDA (Program Derived Address) helpers
12
+ * - Instruction builders for all core operations
13
+ * - TypeScript interfaces for type safety
14
+ * - Full IDL export for advanced usage
15
+ *
16
+ * @version 1.0.0
17
+ * @author PBP Canada
18
+ * @license MIT
19
+ */
20
+ export * from './types.js';
21
+ export * from './constants.js';
22
+ export * from './pda.js';
23
+ export * from './accounts.js';
24
+ export * from './instructions.js';
25
+ export { DAM_PROTOCOL_IDL } from './idl.js';
26
+ export type { PublicKey, Connection, Transaction, TransactionInstruction, Keypair, Commitment, AccountInfo } from '@solana/web3.js';
27
+ import type { PublicKey, Connection } from '@solana/web3.js';
28
+ import type { Config, Pool, PoolNft } from './types.js';
29
+ export declare const VERSION = "1.0.0";
30
+ /**
31
+ * Utility class for common ProjectDAM operations
32
+ */
33
+ export declare class ProjectDAMClient {
34
+ readonly connection: Connection;
35
+ readonly programId: PublicKey;
36
+ constructor(connection: Connection, programId?: PublicKey);
37
+ /**
38
+ * Fetch and decode a Config account
39
+ */
40
+ getConfig(): Promise<Config | null>;
41
+ /**
42
+ * Fetch and decode a Pool account
43
+ */
44
+ getPool(poolAddress: PublicKey): Promise<Pool | null>;
45
+ /**
46
+ * Fetch and decode a PoolNft account
47
+ */
48
+ getPoolNft(poolNftAddress: PublicKey): Promise<PoolNft | null>;
49
+ /**
50
+ * Get all pools owned by a specific address
51
+ */
52
+ getPoolsByOwner(owner: PublicKey): Promise<Array<{
53
+ pubkey: PublicKey;
54
+ account: Pool;
55
+ }>>;
56
+ /**
57
+ * Get all pools for a specific collection
58
+ */
59
+ getPoolsByCollection(collection: PublicKey): Promise<Array<{
60
+ pubkey: PublicKey;
61
+ account: Pool;
62
+ }>>;
63
+ /**
64
+ * Get all PoolNft accounts for a specific pool
65
+ */
66
+ getPoolNfts(pool: PublicKey): Promise<Array<{
67
+ pubkey: PublicKey;
68
+ account: PoolNft;
69
+ }>>;
70
+ }
71
+ /**
72
+ * Default export for convenience
73
+ */
74
+ export default ProjectDAMClient;
75
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,cAAc,YAAY,CAAC;AAG3B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,UAAU,CAAC;AAGzB,cAAc,eAAe,CAAC;AAG9B,cAAc,mBAAmB,CAAC;AAGlC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5C,YAAY,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,OAAO,EACP,UAAU,EACV,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI7D,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGxD,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B;;GAEG;AACH,qBAAa,gBAAgB;aAET,UAAU,EAAE,UAAU;aACtB,SAAS,EAAE,SAAS;gBADpB,UAAU,EAAE,UAAU,EACtB,SAAS,GAAE,SAAsB;IAGnD;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAWzC;;OAEG;IACG,OAAO,CAAC,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAU3D;;OAEG;IACG,UAAU,CAAC,cAAc,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAUpE;;OAEG;IACG,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IA0B7F;;OAEG;IACG,oBAAoB,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IA0BvG;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAyB5F;AAED;;GAEG;AACH,eAAe,gBAAgB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,164 @@
1
+ /**
2
+ * @pbpcanada/projectdam-sdk
3
+ *
4
+ * TypeScript SDK for ProjectDAM - Agent-operated NFT AMM on Solana
5
+ *
6
+ * This SDK provides comprehensive TypeScript interfaces and utilities
7
+ * for interacting with the ProjectDAM protocol on Solana.
8
+ *
9
+ * Features:
10
+ * - Account decoders for all ProjectDAM account types
11
+ * - PDA (Program Derived Address) helpers
12
+ * - Instruction builders for all core operations
13
+ * - TypeScript interfaces for type safety
14
+ * - Full IDL export for advanced usage
15
+ *
16
+ * @version 1.0.0
17
+ * @author PBP Canada
18
+ * @license MIT
19
+ */
20
+ // Export all types
21
+ export * from './types.js';
22
+ // Export constants
23
+ export * from './constants.js';
24
+ // Export PDA helpers
25
+ export * from './pda.js';
26
+ // Export account decoders
27
+ export * from './accounts.js';
28
+ // Export instruction builders
29
+ export * from './instructions.js';
30
+ // Export IDL
31
+ export { DAM_PROTOCOL_IDL } from './idl.js';
32
+ import { PROGRAM_ID } from './constants.js';
33
+ import { findConfigPDA } from './pda.js';
34
+ import { decodeConfig, decodePool, decodePoolNft } from './accounts.js';
35
+ // Version information
36
+ export const VERSION = '1.0.0';
37
+ /**
38
+ * Utility class for common ProjectDAM operations
39
+ */
40
+ export class ProjectDAMClient {
41
+ connection;
42
+ programId;
43
+ constructor(connection, programId = PROGRAM_ID) {
44
+ this.connection = connection;
45
+ this.programId = programId;
46
+ }
47
+ /**
48
+ * Fetch and decode a Config account
49
+ */
50
+ async getConfig() {
51
+ const [configPDA] = findConfigPDA(this.programId);
52
+ const accountInfo = await this.connection.getAccountInfo(configPDA);
53
+ if (!accountInfo) {
54
+ return null;
55
+ }
56
+ return decodeConfig(accountInfo.data);
57
+ }
58
+ /**
59
+ * Fetch and decode a Pool account
60
+ */
61
+ async getPool(poolAddress) {
62
+ const accountInfo = await this.connection.getAccountInfo(poolAddress);
63
+ if (!accountInfo) {
64
+ return null;
65
+ }
66
+ return decodePool(accountInfo.data);
67
+ }
68
+ /**
69
+ * Fetch and decode a PoolNft account
70
+ */
71
+ async getPoolNft(poolNftAddress) {
72
+ const accountInfo = await this.connection.getAccountInfo(poolNftAddress);
73
+ if (!accountInfo) {
74
+ return null;
75
+ }
76
+ return decodePoolNft(accountInfo.data);
77
+ }
78
+ /**
79
+ * Get all pools owned by a specific address
80
+ */
81
+ async getPoolsByOwner(owner) {
82
+ const accounts = await this.connection.getProgramAccounts(this.programId, {
83
+ filters: [
84
+ {
85
+ // Pool discriminator
86
+ memcmp: {
87
+ offset: 0,
88
+ bytes: Buffer.from([241, 154, 109, 4, 17, 177, 109, 188]).toString('base64'),
89
+ },
90
+ },
91
+ {
92
+ // Owner filter (after discriminator + bump)
93
+ memcmp: {
94
+ offset: 9,
95
+ bytes: owner.toBase58(),
96
+ },
97
+ },
98
+ ],
99
+ });
100
+ return accounts.map(({ pubkey, account }) => ({
101
+ pubkey,
102
+ account: decodePool(account.data),
103
+ }));
104
+ }
105
+ /**
106
+ * Get all pools for a specific collection
107
+ */
108
+ async getPoolsByCollection(collection) {
109
+ const accounts = await this.connection.getProgramAccounts(this.programId, {
110
+ filters: [
111
+ {
112
+ // Pool discriminator
113
+ memcmp: {
114
+ offset: 0,
115
+ bytes: Buffer.from([241, 154, 109, 4, 17, 177, 109, 188]).toString('base64'),
116
+ },
117
+ },
118
+ {
119
+ // Collection filter (after discriminator + bump + owner + uuid)
120
+ memcmp: {
121
+ offset: 47,
122
+ bytes: collection.toBase58(),
123
+ },
124
+ },
125
+ ],
126
+ });
127
+ return accounts.map(({ pubkey, account }) => ({
128
+ pubkey,
129
+ account: decodePool(account.data),
130
+ }));
131
+ }
132
+ /**
133
+ * Get all PoolNft accounts for a specific pool
134
+ */
135
+ async getPoolNfts(pool) {
136
+ const accounts = await this.connection.getProgramAccounts(this.programId, {
137
+ filters: [
138
+ {
139
+ // PoolNft discriminator
140
+ memcmp: {
141
+ offset: 0,
142
+ bytes: Buffer.from([45, 198, 65, 11, 29, 13, 209, 1]).toString('base64'),
143
+ },
144
+ },
145
+ {
146
+ // Pool filter (after discriminator + bump)
147
+ memcmp: {
148
+ offset: 9,
149
+ bytes: pool.toBase58(),
150
+ },
151
+ },
152
+ ],
153
+ });
154
+ return accounts.map(({ pubkey, account }) => ({
155
+ pubkey,
156
+ account: decodePoolNft(account.data),
157
+ }));
158
+ }
159
+ }
160
+ /**
161
+ * Default export for convenience
162
+ */
163
+ export default ProjectDAMClient;
164
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { PublicKey, TransactionInstruction } from '@solana/web3.js';
2
+ import type { CreatePoolOptions, BuyOptions, SellOptions } from './types.js';
3
+ /**
4
+ * Create a pool creation instruction
5
+ */
6
+ export declare function createPoolInstruction(options: CreatePoolOptions, owner: PublicKey, collectionMint: PublicKey, programId?: PublicKey): TransactionInstruction;
7
+ /**
8
+ * Create a buy NFT instruction
9
+ */
10
+ export declare function buyInstruction(pool: PublicKey, nftMint: PublicKey, buyer: PublicKey, poolOwner: PublicKey, feeBuffer: PublicKey, creatorWallet: PublicKey, options: BuyOptions, programId?: PublicKey): TransactionInstruction;
11
+ /**
12
+ * Create a sell NFT instruction
13
+ */
14
+ export declare function sellInstruction(pool: PublicKey, nftMint: PublicKey, seller: PublicKey, feeBuffer: PublicKey, creatorWallet: PublicKey, options: SellOptions, programId?: PublicKey): TransactionInstruction;
15
+ /**
16
+ * Create a deposit NFT instruction
17
+ */
18
+ export declare function depositNftInstruction(pool: PublicKey, nftMint: PublicKey, owner: PublicKey, programId?: PublicKey): TransactionInstruction;
19
+ /**
20
+ * Create a deposit SOL instruction
21
+ */
22
+ export declare function depositSolInstruction(pool: PublicKey, owner: PublicKey, amount: bigint, programId?: PublicKey): TransactionInstruction;
23
+ /**
24
+ * Create a withdraw NFT instruction (delist)
25
+ */
26
+ export declare function withdrawNftInstruction(pool: PublicKey, nftMint: PublicKey, owner: PublicKey, programId?: PublicKey): TransactionInstruction;
27
+ /**
28
+ * Create a withdraw SOL instruction (using update_pool with amount extraction logic)
29
+ */
30
+ export declare function withdrawSolInstruction(pool: PublicKey, owner: PublicKey, amount: bigint, programId?: PublicKey): TransactionInstruction;
31
+ /**
32
+ * Create a start season instruction
33
+ */
34
+ export declare function startSeasonInstruction(month: number, year: number, authority: PublicKey, programId?: PublicKey): TransactionInstruction;
35
+ //# sourceMappingURL=instructions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAczB,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAe,MAAM,YAAY,CAAC;AA0E1F;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,SAAS,EAChB,cAAc,EAAE,SAAS,EACzB,SAAS,GAAE,SAAsB,GAChC,sBAAsB,CA8CxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,SAAS,EACxB,OAAO,EAAE,UAAU,EACnB,SAAS,GAAE,SAAsB,GAChC,sBAAsB,CAuCxB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,SAAS,EACxB,OAAO,EAAE,WAAW,EACpB,SAAS,GAAE,SAAsB,GAChC,sBAAsB,CAsCxB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,SAAS,EAChB,SAAS,GAAE,SAAsB,GAChC,sBAAsB,CAqBxB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,SAAsB,GAChC,sBAAsB,CAuBxB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,SAAS,EAChB,SAAS,GAAE,SAAsB,GAChC,sBAAsB,CAqBxB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,SAAsB,GAChC,sBAAsB,CAwBxB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,SAAS,GAAE,SAAsB,GAChC,sBAAsB,CAuBxB"}
@@ -0,0 +1,299 @@
1
+ import { PublicKey, TransactionInstruction, SystemProgram } from '@solana/web3.js';
2
+ import { TOKEN_PROGRAM_ID, ASSOCIATED_TOKEN_PROGRAM_ID, PROGRAM_ID } from './constants.js';
3
+ import { findConfigPDA, findPoolPDA, findSolVaultPDA, findPoolNftPDA, findMetadataPDA } from './pda.js';
4
+ import { CurveType } from './types.js';
5
+ /**
6
+ * Create instruction discriminators (SHA256 hash of "global:instruction_name")
7
+ */
8
+ function createInstructionDiscriminator(instructionName) {
9
+ const crypto = globalThis.crypto;
10
+ if (!crypto || !crypto.subtle) {
11
+ throw new Error('crypto.subtle not available. This SDK requires a modern environment with Web Crypto API.');
12
+ }
13
+ // For Node.js environments, we'll use a simpler approach
14
+ // In a real implementation, you'd want to use a proper SHA256 implementation
15
+ const bytes = new TextEncoder().encode(`global:${instructionName}`);
16
+ // For the SDK, we'll use the known discriminators from the IDL
17
+ const discriminators = {
18
+ 'initialize_config': [208, 127, 21, 1, 194, 190, 196, 70],
19
+ 'create_pool': [233, 146, 209, 142, 207, 104, 64, 188],
20
+ 'buy': [102, 6, 61, 18, 1, 218, 235, 234],
21
+ 'sell': [51, 230, 133, 164, 1, 127, 131, 173],
22
+ 'deposit_nft': [93, 226, 132, 166, 141, 9, 48, 101],
23
+ 'deposit_sol': [108, 81, 78, 117, 237, 119, 0, 35],
24
+ 'withdraw_nft': [81, 166, 166, 57, 172, 97, 41, 88], // delist
25
+ 'withdraw_sol': [239, 77, 186, 213, 72, 168, 141, 90], // update_pool (we'll use for withdraw)
26
+ 'start_season': [0, 0, 0, 0, 0, 0, 0, 0], // placeholder
27
+ };
28
+ const disc = discriminators[instructionName];
29
+ if (!disc) {
30
+ throw new Error(`Unknown instruction: ${instructionName}`);
31
+ }
32
+ return Buffer.from(disc);
33
+ }
34
+ /**
35
+ * Serialize curve type for instruction data
36
+ */
37
+ function serializeCurveType(curve) {
38
+ const buffer = Buffer.alloc(16); // Max size needed
39
+ let offset = 0;
40
+ // Write variant
41
+ buffer.writeUInt8(curve.type, offset);
42
+ offset += 1;
43
+ // Write variant-specific data
44
+ switch (curve.type) {
45
+ case CurveType.Fixed:
46
+ // No additional data
47
+ break;
48
+ case CurveType.Linear:
49
+ if (curve.delta === undefined) {
50
+ throw new Error('Linear curve requires delta parameter');
51
+ }
52
+ buffer.writeBigUInt64LE(BigInt(curve.delta), offset);
53
+ offset += 8;
54
+ break;
55
+ case CurveType.Exponential:
56
+ if (curve.delta === undefined) {
57
+ throw new Error('Exponential curve requires delta parameter');
58
+ }
59
+ buffer.writeUInt16LE(Number(curve.delta), offset);
60
+ offset += 2;
61
+ break;
62
+ default:
63
+ throw new Error(`Unknown curve type: ${curve.type}`);
64
+ }
65
+ return buffer.subarray(0, offset);
66
+ }
67
+ /**
68
+ * Create a pool creation instruction
69
+ */
70
+ export function createPoolInstruction(options, owner, collectionMint, programId = PROGRAM_ID) {
71
+ const [config] = findConfigPDA(programId);
72
+ const [pool] = findPoolPDA(owner, options.uuid, programId);
73
+ // Serialize instruction data
74
+ const discriminator = createInstructionDiscriminator('create_pool');
75
+ const curveData = serializeCurveType(options.curveType);
76
+ const data = Buffer.alloc(8 + 6 + curveData.length + 8 + 2 + 1);
77
+ let offset = 0;
78
+ // Discriminator
79
+ discriminator.copy(data, offset);
80
+ offset += 8;
81
+ // UUID
82
+ options.uuid.copy(data, offset);
83
+ offset += 6;
84
+ // Curve type
85
+ curveData.copy(data, offset);
86
+ offset += curveData.length;
87
+ // Spot price
88
+ data.writeBigUInt64LE(options.spotPrice, offset);
89
+ offset += 8;
90
+ // Spread BPS
91
+ data.writeUInt16LE(options.spreadBps, offset);
92
+ offset += 2;
93
+ // Pool type
94
+ data.writeUInt8(options.poolType, offset);
95
+ offset += 1;
96
+ return new TransactionInstruction({
97
+ keys: [
98
+ { pubkey: pool, isSigner: false, isWritable: true },
99
+ { pubkey: config, isSigner: false, isWritable: true },
100
+ { pubkey: collectionMint, isSigner: false, isWritable: false },
101
+ { pubkey: owner, isSigner: true, isWritable: true },
102
+ { pubkey: SystemProgram.programId, isSigner: false, isWritable: false },
103
+ ],
104
+ programId,
105
+ data: data.subarray(0, offset),
106
+ });
107
+ }
108
+ /**
109
+ * Create a buy NFT instruction
110
+ */
111
+ export function buyInstruction(pool, nftMint, buyer, poolOwner, feeBuffer, creatorWallet, options, programId = PROGRAM_ID) {
112
+ const [config] = findConfigPDA(programId);
113
+ const [poolNft] = findPoolNftPDA(pool, nftMint, programId);
114
+ const [nftMetadata] = findMetadataPDA(nftMint);
115
+ // Serialize instruction data
116
+ const discriminator = createInstructionDiscriminator('buy');
117
+ const data = Buffer.alloc(8 + 8 + 2);
118
+ let offset = 0;
119
+ discriminator.copy(data, offset);
120
+ offset += 8;
121
+ data.writeBigUInt64LE(options.maxPrice, offset);
122
+ offset += 8;
123
+ data.writeUInt16LE(options.royaltyBps || 0, offset);
124
+ offset += 2;
125
+ return new TransactionInstruction({
126
+ keys: [
127
+ { pubkey: pool, isSigner: false, isWritable: true },
128
+ { pubkey: config, isSigner: false, isWritable: false },
129
+ { pubkey: poolNft, isSigner: false, isWritable: true },
130
+ { pubkey: nftMetadata, isSigner: false, isWritable: false },
131
+ { pubkey: nftMint, isSigner: false, isWritable: false },
132
+ { pubkey: new PublicKey('11111111111111111111111111111111'), isSigner: false, isWritable: true }, // poolNftAccount - placeholder
133
+ { pubkey: new PublicKey('11111111111111111111111111111111'), isSigner: false, isWritable: true }, // buyerNftAccount - placeholder
134
+ { pubkey: poolOwner, isSigner: false, isWritable: true },
135
+ { pubkey: feeBuffer, isSigner: false, isWritable: true },
136
+ { pubkey: creatorWallet, isSigner: false, isWritable: true },
137
+ { pubkey: buyer, isSigner: true, isWritable: true },
138
+ { pubkey: TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
139
+ { pubkey: ASSOCIATED_TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
140
+ { pubkey: SystemProgram.programId, isSigner: false, isWritable: false },
141
+ ],
142
+ programId,
143
+ data,
144
+ });
145
+ }
146
+ /**
147
+ * Create a sell NFT instruction
148
+ */
149
+ export function sellInstruction(pool, nftMint, seller, feeBuffer, creatorWallet, options, programId = PROGRAM_ID) {
150
+ const [config] = findConfigPDA(programId);
151
+ const [solVault] = findSolVaultPDA(pool, programId);
152
+ const [nftMetadata] = findMetadataPDA(nftMint);
153
+ // Serialize instruction data
154
+ const discriminator = createInstructionDiscriminator('sell');
155
+ const data = Buffer.alloc(8 + 8 + 2);
156
+ let offset = 0;
157
+ discriminator.copy(data, offset);
158
+ offset += 8;
159
+ data.writeBigUInt64LE(options.minPrice, offset);
160
+ offset += 8;
161
+ data.writeUInt16LE(options.royaltyBps || 0, offset);
162
+ offset += 2;
163
+ return new TransactionInstruction({
164
+ keys: [
165
+ { pubkey: pool, isSigner: false, isWritable: true },
166
+ { pubkey: config, isSigner: false, isWritable: false },
167
+ { pubkey: nftMetadata, isSigner: false, isWritable: false },
168
+ { pubkey: nftMint, isSigner: false, isWritable: false },
169
+ { pubkey: new PublicKey('11111111111111111111111111111111'), isSigner: false, isWritable: true }, // sellerNftAccount - placeholder
170
+ { pubkey: new PublicKey('11111111111111111111111111111111'), isSigner: false, isWritable: true }, // poolNftAccount - placeholder
171
+ { pubkey: solVault, isSigner: false, isWritable: true },
172
+ { pubkey: feeBuffer, isSigner: false, isWritable: true },
173
+ { pubkey: creatorWallet, isSigner: false, isWritable: true },
174
+ { pubkey: seller, isSigner: true, isWritable: true },
175
+ { pubkey: TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
176
+ { pubkey: ASSOCIATED_TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
177
+ { pubkey: SystemProgram.programId, isSigner: false, isWritable: false },
178
+ ],
179
+ programId,
180
+ data,
181
+ });
182
+ }
183
+ /**
184
+ * Create a deposit NFT instruction
185
+ */
186
+ export function depositNftInstruction(pool, nftMint, owner, programId = PROGRAM_ID) {
187
+ const [poolNft] = findPoolNftPDA(pool, nftMint, programId);
188
+ // Serialize instruction data
189
+ const discriminator = createInstructionDiscriminator('deposit_nft');
190
+ return new TransactionInstruction({
191
+ keys: [
192
+ { pubkey: pool, isSigner: false, isWritable: true },
193
+ { pubkey: poolNft, isSigner: false, isWritable: true },
194
+ { pubkey: nftMint, isSigner: false, isWritable: false },
195
+ { pubkey: new PublicKey('11111111111111111111111111111111'), isSigner: false, isWritable: true }, // ownerNftAccount - placeholder
196
+ { pubkey: new PublicKey('11111111111111111111111111111111'), isSigner: false, isWritable: true }, // poolNftAccount - placeholder
197
+ { pubkey: owner, isSigner: true, isWritable: true },
198
+ { pubkey: TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
199
+ { pubkey: ASSOCIATED_TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
200
+ { pubkey: SystemProgram.programId, isSigner: false, isWritable: false },
201
+ ],
202
+ programId,
203
+ data: discriminator,
204
+ });
205
+ }
206
+ /**
207
+ * Create a deposit SOL instruction
208
+ */
209
+ export function depositSolInstruction(pool, owner, amount, programId = PROGRAM_ID) {
210
+ const [solVault] = findSolVaultPDA(pool, programId);
211
+ // Serialize instruction data
212
+ const discriminator = createInstructionDiscriminator('deposit_sol');
213
+ const data = Buffer.alloc(8 + 8);
214
+ let offset = 0;
215
+ discriminator.copy(data, offset);
216
+ offset += 8;
217
+ data.writeBigUInt64LE(amount, offset);
218
+ return new TransactionInstruction({
219
+ keys: [
220
+ { pubkey: pool, isSigner: false, isWritable: true },
221
+ { pubkey: solVault, isSigner: false, isWritable: true },
222
+ { pubkey: owner, isSigner: true, isWritable: true },
223
+ { pubkey: SystemProgram.programId, isSigner: false, isWritable: false },
224
+ ],
225
+ programId,
226
+ data,
227
+ });
228
+ }
229
+ /**
230
+ * Create a withdraw NFT instruction (delist)
231
+ */
232
+ export function withdrawNftInstruction(pool, nftMint, owner, programId = PROGRAM_ID) {
233
+ const [poolNft] = findPoolNftPDA(pool, nftMint, programId);
234
+ // Serialize instruction data (delist takes no arguments)
235
+ const discriminator = createInstructionDiscriminator('withdraw_nft');
236
+ return new TransactionInstruction({
237
+ keys: [
238
+ { pubkey: pool, isSigner: false, isWritable: true },
239
+ { pubkey: poolNft, isSigner: false, isWritable: true },
240
+ { pubkey: nftMint, isSigner: false, isWritable: false },
241
+ { pubkey: new PublicKey('11111111111111111111111111111111'), isSigner: false, isWritable: true }, // poolNftAccount - placeholder
242
+ { pubkey: new PublicKey('11111111111111111111111111111111'), isSigner: false, isWritable: true }, // ownerNftAccount - placeholder
243
+ { pubkey: owner, isSigner: true, isWritable: true },
244
+ { pubkey: TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
245
+ { pubkey: ASSOCIATED_TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
246
+ { pubkey: SystemProgram.programId, isSigner: false, isWritable: false },
247
+ ],
248
+ programId,
249
+ data: discriminator,
250
+ });
251
+ }
252
+ /**
253
+ * Create a withdraw SOL instruction (using update_pool with amount extraction logic)
254
+ */
255
+ export function withdrawSolInstruction(pool, owner, amount, programId = PROGRAM_ID) {
256
+ const [solVault] = findSolVaultPDA(pool, programId);
257
+ // For withdrawal, we can use a custom implementation or the update pool instruction
258
+ // This is a simplified version - in practice you'd need proper withdrawal logic
259
+ const discriminator = createInstructionDiscriminator('withdraw_sol');
260
+ const data = Buffer.alloc(8 + 8);
261
+ let offset = 0;
262
+ discriminator.copy(data, offset);
263
+ offset += 8;
264
+ data.writeBigUInt64LE(amount, offset);
265
+ return new TransactionInstruction({
266
+ keys: [
267
+ { pubkey: pool, isSigner: false, isWritable: true },
268
+ { pubkey: solVault, isSigner: false, isWritable: true },
269
+ { pubkey: owner, isSigner: true, isWritable: true },
270
+ { pubkey: SystemProgram.programId, isSigner: false, isWritable: false },
271
+ ],
272
+ programId,
273
+ data,
274
+ });
275
+ }
276
+ /**
277
+ * Create a start season instruction
278
+ */
279
+ export function startSeasonInstruction(month, year, authority, programId = PROGRAM_ID) {
280
+ // This would need proper implementation based on the actual program
281
+ // For now, returning a placeholder
282
+ const discriminator = createInstructionDiscriminator('start_season');
283
+ const data = Buffer.alloc(8 + 1 + 2);
284
+ let offset = 0;
285
+ discriminator.copy(data, offset);
286
+ offset += 8;
287
+ data.writeUInt8(month, offset);
288
+ offset += 1;
289
+ data.writeUInt16LE(year, offset);
290
+ return new TransactionInstruction({
291
+ keys: [
292
+ { pubkey: authority, isSigner: true, isWritable: true },
293
+ { pubkey: SystemProgram.programId, isSigner: false, isWritable: false },
294
+ ],
295
+ programId,
296
+ data,
297
+ });
298
+ }
299
+ //# sourceMappingURL=instructions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"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"}