@nadohq/client 0.33.0 → 0.35.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/README.md +8 -5
- package/dist/BaseRewardsAPI-DHZt4Obo.d.cts +17 -0
- package/dist/BaseRewardsAPI-DHZt4Obo.d.cts.map +1 -0
- package/dist/BaseRewardsAPI-K3MVXh2R.d.ts +17 -0
- package/dist/BaseRewardsAPI-K3MVXh2R.d.ts.map +1 -0
- package/dist/{BaseSpotAPI-DCR0Ukso.d.cts → BaseSpotAPI-CTa--WXe.d.cts} +3 -3
- package/dist/{BaseSpotAPI-DCR0Ukso.d.cts.map → BaseSpotAPI-CTa--WXe.d.cts.map} +1 -1
- package/dist/{BaseSpotAPI-Dn7FqHTu.d.ts → BaseSpotAPI-CyGq3M8G.d.ts} +3 -3
- package/dist/{BaseSpotAPI-Dn7FqHTu.d.ts.map → BaseSpotAPI-CyGq3M8G.d.ts.map} +1 -1
- package/dist/{MarketExecuteAPI-DKgGu_7b.d.ts → MarketExecuteAPI-CYN3iQp-.d.ts} +2 -2
- package/dist/{MarketExecuteAPI-DKgGu_7b.d.ts.map → MarketExecuteAPI-CYN3iQp-.d.ts.map} +1 -1
- package/dist/{MarketExecuteAPI-QPuMa3CL.d.cts → MarketExecuteAPI-qiAe3jh_.d.cts} +2 -2
- package/dist/{MarketExecuteAPI-QPuMa3CL.d.cts.map → MarketExecuteAPI-qiAe3jh_.d.cts.map} +1 -1
- package/dist/{MarketQueryAPI-DDzBbxEu.d.cts → MarketQueryAPI-BcfSSPpI.d.cts} +2 -2
- package/dist/{MarketQueryAPI-DDzBbxEu.d.cts.map → MarketQueryAPI-BcfSSPpI.d.cts.map} +1 -1
- package/dist/{MarketQueryAPI-CWfcwc-Z.d.ts → MarketQueryAPI-D4jlc7XA.d.ts} +2 -2
- package/dist/{MarketQueryAPI-CWfcwc-Z.d.ts.map → MarketQueryAPI-D4jlc7XA.d.ts.map} +1 -1
- package/dist/{PerpExecuteAPI-bgOnDMQR.d.cts → PerpExecuteAPI-X8z_Qdew.d.cts} +2 -2
- package/dist/PerpExecuteAPI-X8z_Qdew.d.cts.map +1 -0
- package/dist/{PerpExecuteAPI-DcAur1dM.d.ts → PerpExecuteAPI-mwp3kbFh.d.ts} +2 -2
- package/dist/PerpExecuteAPI-mwp3kbFh.d.ts.map +1 -0
- package/dist/{PerpQueryAPI-hGNe5bbX.d.cts → PerpQueryAPI-BEGfs6t1.d.cts} +2 -2
- package/dist/{PerpQueryAPI-hGNe5bbX.d.cts.map → PerpQueryAPI-BEGfs6t1.d.cts.map} +1 -1
- package/dist/{PerpQueryAPI-BXvHXkQA.d.ts → PerpQueryAPI-DWh31jSN.d.ts} +2 -2
- package/dist/{PerpQueryAPI-BXvHXkQA.d.ts.map → PerpQueryAPI-DWh31jSN.d.ts.map} +1 -1
- package/dist/RewardsExecuteAPI-CBRW9_5y.d.ts +25 -0
- package/dist/RewardsExecuteAPI-CBRW9_5y.d.ts.map +1 -0
- package/dist/RewardsExecuteAPI-D9_BcurO.d.cts +25 -0
- package/dist/RewardsExecuteAPI-D9_BcurO.d.cts.map +1 -0
- package/dist/RewardsQueryAPI-BFZcv2Yx.d.cts +33 -0
- package/dist/RewardsQueryAPI-BFZcv2Yx.d.cts.map +1 -0
- package/dist/RewardsQueryAPI-CsanOO14.d.ts +33 -0
- package/dist/RewardsQueryAPI-CsanOO14.d.ts.map +1 -0
- package/dist/{SpotExecuteAPI-8dJfQcjP.d.ts → SpotExecuteAPI-0owA_GY7.d.ts} +3 -3
- package/dist/{SpotExecuteAPI-8dJfQcjP.d.ts.map → SpotExecuteAPI-0owA_GY7.d.ts.map} +1 -1
- package/dist/{SpotExecuteAPI-C1E_L4Ov.d.cts → SpotExecuteAPI-Nht5qkkS.d.cts} +3 -3
- package/dist/{SpotExecuteAPI-C1E_L4Ov.d.cts.map → SpotExecuteAPI-Nht5qkkS.d.cts.map} +1 -1
- package/dist/{SpotQueryAPI-By-EKjdC.d.ts → SpotQueryAPI-BhGDIXhJ.d.ts} +3 -3
- package/dist/{SpotQueryAPI-By-EKjdC.d.ts.map → SpotQueryAPI-BhGDIXhJ.d.ts.map} +1 -1
- package/dist/{SpotQueryAPI-C-646O43.d.cts → SpotQueryAPI-C2e-37Rm.d.cts} +3 -3
- package/dist/{SpotQueryAPI-C-646O43.d.cts.map → SpotQueryAPI-C2e-37Rm.d.cts.map} +1 -1
- package/dist/{SubaccountExecuteAPI-IV4EuQiO.d.ts → SubaccountExecuteAPI-DNK46aPe.d.ts} +3 -3
- package/dist/{SubaccountExecuteAPI-IV4EuQiO.d.ts.map → SubaccountExecuteAPI-DNK46aPe.d.ts.map} +1 -1
- package/dist/{SubaccountExecuteAPI-BXUYFvqZ.d.cts → SubaccountExecuteAPI-GI1arKKC.d.cts} +3 -3
- package/dist/{SubaccountExecuteAPI-BXUYFvqZ.d.cts.map → SubaccountExecuteAPI-GI1arKKC.d.cts.map} +1 -1
- package/dist/{SubaccountQueryAPI-De_FQ-Qa.d.ts → SubaccountQueryAPI-CyWEORoJ.d.ts} +2 -2
- package/dist/{SubaccountQueryAPI-De_FQ-Qa.d.ts.map → SubaccountQueryAPI-CyWEORoJ.d.ts.map} +1 -1
- package/dist/{SubaccountQueryAPI-DuPZIksw.d.cts → SubaccountQueryAPI-DrcZ3_zN.d.cts} +2 -2
- package/dist/{SubaccountQueryAPI-DuPZIksw.d.cts.map → SubaccountQueryAPI-DrcZ3_zN.d.cts.map} +1 -1
- package/dist/{WebSocketExecuteAPI-BbCjkskC.d.ts → WebSocketExecuteAPI-CqIeMsUC.d.ts} +2 -2
- package/dist/{WebSocketExecuteAPI-BbCjkskC.d.ts.map → WebSocketExecuteAPI-CqIeMsUC.d.ts.map} +1 -1
- package/dist/{WebSocketExecuteAPI-DZ_Xauk2.d.cts → WebSocketExecuteAPI-Xna5N32F.d.cts} +2 -2
- package/dist/{WebSocketExecuteAPI-DZ_Xauk2.d.cts.map → WebSocketExecuteAPI-Xna5N32F.d.cts.map} +1 -1
- package/dist/{WebSocketQueryAPI-D1i9ToSh.d.cts → WebSocketQueryAPI-CNmb61qG.d.cts} +2 -2
- package/dist/{WebSocketQueryAPI-D1i9ToSh.d.cts.map → WebSocketQueryAPI-CNmb61qG.d.cts.map} +1 -1
- package/dist/{WebSocketQueryAPI-hOXDojO7.d.ts → WebSocketQueryAPI-DcnsC5EM.d.ts} +2 -2
- package/dist/{WebSocketQueryAPI-hOXDojO7.d.ts.map → WebSocketQueryAPI-DcnsC5EM.d.ts.map} +1 -1
- package/dist/{WebSocketSubscriptionAPI-B9YYloIc.d.ts → WebSocketSubscriptionAPI-DFYlMuBv.d.ts} +2 -2
- package/dist/{WebSocketSubscriptionAPI-B9YYloIc.d.ts.map → WebSocketSubscriptionAPI-DFYlMuBv.d.ts.map} +1 -1
- package/dist/{WebSocketSubscriptionAPI-DgIMxfz5.d.cts → WebSocketSubscriptionAPI-DS0tO4MO.d.cts} +2 -2
- package/dist/{WebSocketSubscriptionAPI-DgIMxfz5.d.cts.map → WebSocketSubscriptionAPI-DS0tO4MO.d.cts.map} +1 -1
- package/dist/apis/base.d.cts +1 -1
- package/dist/apis/base.d.ts +1 -1
- package/dist/apis/market/MarketExecuteAPI.d.cts +1 -1
- package/dist/apis/market/MarketExecuteAPI.d.ts +1 -1
- package/dist/apis/market/MarketQueryAPI.d.cts +1 -1
- package/dist/apis/market/MarketQueryAPI.d.ts +1 -1
- package/dist/apis/market/index.d.cts +1 -1
- package/dist/apis/market/index.d.ts +1 -1
- package/dist/apis/perp/PerpExecuteAPI.d.cts +1 -1
- package/dist/apis/perp/PerpExecuteAPI.d.ts +1 -1
- package/dist/apis/perp/PerpQueryAPI.d.cts +1 -1
- package/dist/apis/perp/PerpQueryAPI.d.ts +1 -1
- package/dist/apis/perp/index.d.cts +1 -1
- package/dist/apis/perp/index.d.ts +1 -1
- package/dist/apis/rewards/BaseRewardsAPI.cjs +22 -0
- package/dist/apis/rewards/BaseRewardsAPI.cjs.map +1 -0
- package/dist/apis/rewards/BaseRewardsAPI.d.cts +2 -0
- package/dist/apis/rewards/BaseRewardsAPI.d.ts +2 -0
- package/dist/apis/rewards/BaseRewardsAPI.js +21 -0
- package/dist/apis/rewards/BaseRewardsAPI.js.map +1 -0
- package/dist/apis/rewards/RewardsExecuteAPI.cjs +49 -0
- package/dist/apis/rewards/RewardsExecuteAPI.cjs.map +1 -0
- package/dist/apis/rewards/RewardsExecuteAPI.d.cts +2 -0
- package/dist/apis/rewards/RewardsExecuteAPI.d.ts +2 -0
- package/dist/apis/rewards/RewardsExecuteAPI.js +48 -0
- package/dist/apis/rewards/RewardsExecuteAPI.js.map +1 -0
- package/dist/apis/rewards/RewardsQueryAPI.cjs +33 -0
- package/dist/apis/rewards/RewardsQueryAPI.cjs.map +1 -0
- package/dist/apis/rewards/RewardsQueryAPI.d.cts +2 -0
- package/dist/apis/rewards/RewardsQueryAPI.d.ts +2 -0
- package/dist/apis/rewards/RewardsQueryAPI.js +32 -0
- package/dist/apis/rewards/RewardsQueryAPI.js.map +1 -0
- package/dist/apis/rewards/index.cjs +14 -0
- package/dist/apis/rewards/index.cjs.map +1 -0
- package/dist/apis/rewards/index.d.cts +3 -0
- package/dist/apis/rewards/index.d.ts +3 -0
- package/dist/apis/rewards/index.js +13 -0
- package/dist/apis/rewards/index.js.map +1 -0
- package/dist/apis/rewards/types.cjs +0 -0
- package/dist/apis/rewards/types.d.cts +2 -0
- package/dist/apis/rewards/types.d.ts +2 -0
- package/dist/apis/rewards/types.js +1 -0
- package/dist/apis/spot/BaseSpotAPI.d.cts +1 -1
- package/dist/apis/spot/BaseSpotAPI.d.ts +1 -1
- package/dist/apis/spot/SpotExecuteAPI.cjs +1 -0
- package/dist/apis/spot/SpotExecuteAPI.cjs.map +1 -1
- package/dist/apis/spot/SpotExecuteAPI.d.cts +1 -1
- package/dist/apis/spot/SpotExecuteAPI.d.ts +1 -1
- package/dist/apis/spot/SpotExecuteAPI.js +1 -0
- package/dist/apis/spot/SpotExecuteAPI.js.map +1 -1
- package/dist/apis/spot/SpotQueryAPI.d.cts +1 -1
- package/dist/apis/spot/SpotQueryAPI.d.ts +1 -1
- package/dist/apis/spot/index.d.cts +2 -2
- package/dist/apis/spot/index.d.ts +2 -2
- package/dist/apis/spot/types.d.cts +1 -1
- package/dist/apis/spot/types.d.ts +1 -1
- package/dist/apis/subaccount/SubaccountExecuteAPI.d.cts +1 -1
- package/dist/apis/subaccount/SubaccountExecuteAPI.d.ts +1 -1
- package/dist/apis/subaccount/SubaccountQueryAPI.d.cts +1 -1
- package/dist/apis/subaccount/SubaccountQueryAPI.d.ts +1 -1
- package/dist/apis/subaccount/index.d.cts +2 -2
- package/dist/apis/subaccount/index.d.ts +2 -2
- package/dist/apis/subaccount/types.d.cts +1 -1
- package/dist/apis/subaccount/types.d.ts +1 -1
- package/dist/apis/ws/WebSocketExecuteAPI.d.cts +1 -1
- package/dist/apis/ws/WebSocketExecuteAPI.d.ts +1 -1
- package/dist/apis/ws/WebSocketQueryAPI.d.cts +1 -1
- package/dist/apis/ws/WebSocketQueryAPI.d.ts +1 -1
- package/dist/apis/ws/WebSocketSubscriptionAPI.d.cts +1 -1
- package/dist/apis/ws/WebSocketSubscriptionAPI.d.ts +1 -1
- package/dist/apis/ws/index.d.cts +1 -1
- package/dist/apis/ws/index.d.ts +1 -1
- package/dist/{base-GN5mZk1G.d.cts → base-B5KgBVY-.d.cts} +2 -2
- package/dist/{base-GN5mZk1G.d.cts.map → base-B5KgBVY-.d.cts.map} +1 -1
- package/dist/{base-D11I3QiM.d.ts → base-CBv_F_59.d.ts} +2 -2
- package/dist/{base-D11I3QiM.d.ts.map → base-CBv_F_59.d.ts.map} +1 -1
- package/dist/client.cjs +4 -1
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.cts +8 -6
- package/dist/client.d.cts.map +1 -1
- package/dist/client.d.ts +8 -6
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +4 -1
- package/dist/client.js.map +1 -1
- package/dist/{context-D1xmE2Rd.d.ts → context-CwXLME4I.d.cts} +16 -4
- package/dist/context-CwXLME4I.d.cts.map +1 -0
- package/dist/{context-CHBPiOx6.d.cts → context-Do0Aff5O.d.ts} +16 -4
- package/dist/context-Do0Aff5O.d.ts.map +1 -0
- package/dist/context.cjs +14 -8
- package/dist/context.cjs.map +1 -1
- package/dist/context.d.cts +1 -1
- package/dist/context.d.ts +1 -1
- package/dist/context.js +14 -8
- package/dist/context.js.map +1 -1
- package/dist/createNadoClient.cjs +7 -1
- package/dist/createNadoClient.cjs.map +1 -1
- package/dist/createNadoClient.d.cts +8 -2
- package/dist/createNadoClient.d.cts.map +1 -1
- package/dist/createNadoClient.d.ts +8 -2
- package/dist/createNadoClient.d.ts.map +1 -1
- package/dist/createNadoClient.js +7 -1
- package/dist/createNadoClient.js.map +1 -1
- package/dist/{index-CEwXS1Ek.d.ts → index-9zlswY-z.d.ts} +6 -6
- package/dist/{index-CEwXS1Ek.d.ts.map → index-9zlswY-z.d.ts.map} +1 -1
- package/dist/{index-DqQ5-VOh.d.cts → index-BhBnzyp5.d.cts} +3 -3
- package/dist/index-BhBnzyp5.d.cts.map +1 -0
- package/dist/{index-B1Dxe-TH.d.ts → index-BlphgBQ_.d.ts} +4 -4
- package/dist/{index-B1Dxe-TH.d.ts.map → index-BlphgBQ_.d.ts.map} +1 -1
- package/dist/{index-DPNd9PR1.d.ts → index-C0Z4SRqh.d.ts} +3 -3
- package/dist/index-C0Z4SRqh.d.ts.map +1 -0
- package/dist/index-CII3sBHl.d.ts +13 -0
- package/dist/index-CII3sBHl.d.ts.map +1 -0
- package/dist/{index-Bx-PsDsb.d.cts → index-CPbV1asH.d.cts} +3 -3
- package/dist/index-CPbV1asH.d.cts.map +1 -0
- package/dist/{index-Dj9Ub1PG.d.cts → index-CapkNob_.d.cts} +4 -4
- package/dist/{index-Dj9Ub1PG.d.cts.map → index-CapkNob_.d.cts.map} +1 -1
- package/dist/{index-B3HYm75y.d.cts → index-CgExXhBQ.d.cts} +6 -6
- package/dist/{index-B3HYm75y.d.cts.map → index-CgExXhBQ.d.cts.map} +1 -1
- package/dist/{index-D2pKqx7b.d.cts → index-CrZGbtpl.d.cts} +3 -3
- package/dist/index-CrZGbtpl.d.cts.map +1 -0
- package/dist/{index-IIzvROYs.d.ts → index-DmoR6iDR.d.ts} +3 -3
- package/dist/index-DmoR6iDR.d.ts.map +1 -0
- package/dist/index-IVpfl5AG.d.cts +13 -0
- package/dist/index-IVpfl5AG.d.cts.map +1 -0
- package/dist/{index-DIlwbefm.d.ts → index-MFkQd1G3.d.ts} +3 -3
- package/dist/index-MFkQd1G3.d.ts.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.d.cts +10 -8
- package/dist/index.d.ts +10 -8
- package/dist/index.js +2 -1
- package/dist/{types-B6oFoDTo.d.ts → types-BDVasYAf.d.ts} +1 -1
- package/dist/{types-B6oFoDTo.d.ts.map → types-BDVasYAf.d.ts.map} +1 -1
- package/dist/types-BFMFRstW.d.cts +18 -0
- package/dist/types-BFMFRstW.d.cts.map +1 -0
- package/dist/{types-BWRdhQd_.d.cts → types-C0Wevcia.d.cts} +1 -1
- package/dist/{types-BWRdhQd_.d.cts.map → types-C0Wevcia.d.cts.map} +1 -1
- package/dist/{types-pRheTrJ1.d.cts → types-C3rE8vyS.d.cts} +1 -1
- package/dist/{types-pRheTrJ1.d.cts.map → types-C3rE8vyS.d.cts.map} +1 -1
- package/dist/types-CFgxXCy2.d.ts +18 -0
- package/dist/types-CFgxXCy2.d.ts.map +1 -0
- package/dist/{types-DnBjJCnd.d.ts → types-OZlzeknc.d.ts} +1 -1
- package/dist/{types-DnBjJCnd.d.ts.map → types-OZlzeknc.d.ts.map} +1 -1
- package/package.json +7 -7
- package/src/apis/rewards/BaseRewardsAPI.ts +20 -0
- package/src/apis/rewards/RewardsExecuteAPI.ts +77 -0
- package/src/apis/rewards/RewardsQueryAPI.ts +35 -0
- package/src/apis/rewards/index.ts +11 -0
- package/src/apis/rewards/types.ts +15 -0
- package/src/apis/spot/SpotExecuteAPI.ts +4 -0
- package/src/client.ts +4 -0
- package/src/context.ts +28 -5
- package/src/createNadoClient.ts +7 -1
- package/src/index.ts +1 -0
- package/dist/PerpExecuteAPI-DcAur1dM.d.ts.map +0 -1
- package/dist/PerpExecuteAPI-bgOnDMQR.d.cts.map +0 -1
- package/dist/context-CHBPiOx6.d.cts.map +0 -1
- package/dist/context-D1xmE2Rd.d.ts.map +0 -1
- package/dist/index-Bx-PsDsb.d.cts.map +0 -1
- package/dist/index-D2pKqx7b.d.cts.map +0 -1
- package/dist/index-DIlwbefm.d.ts.map +0 -1
- package/dist/index-DPNd9PR1.d.ts.map +0 -1
- package/dist/index-DqQ5-VOh.d.cts.map +0 -1
- package/dist/index-IIzvROYs.d.ts.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as BaseNadoAPI } from "./base-
|
|
1
|
+
import { t as BaseNadoAPI } from "./base-B5KgBVY-.cjs";
|
|
2
2
|
import { EIP712OrderParams } from "@nadohq/shared";
|
|
3
3
|
import { EngineExecuteRequestParamsByType, WithSignature } from "@nadohq/engine-client";
|
|
4
4
|
|
|
@@ -49,4 +49,4 @@ declare class WebSocketExecuteAPI extends BaseNadoAPI {
|
|
|
49
49
|
}
|
|
50
50
|
//#endregion
|
|
51
51
|
export { WebSocketExecuteAPI as t };
|
|
52
|
-
//# sourceMappingURL=WebSocketExecuteAPI-
|
|
52
|
+
//# sourceMappingURL=WebSocketExecuteAPI-Xna5N32F.d.cts.map
|
package/dist/{WebSocketExecuteAPI-DZ_Xauk2.d.cts.map → WebSocketExecuteAPI-Xna5N32F.d.cts.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketExecuteAPI-
|
|
1
|
+
{"version":3,"file":"WebSocketExecuteAPI-Xna5N32F.d.cts","names":[],"sources":["../src/apis/ws/src/apis/ws/WebSocketExecuteAPI.ts"],"mappings":";;;;;;;AAWA;;cAAa,mBAAA,SAA4B,WAAA;EAO7B;;;;;EADJ,+BAAA,CACJ,MAAA,EAAQ,gCAAA,2BAAwD,OAAA,0BAAA,QAAA,0BAAA,+BAAA;EAwC9D;;;;;EA5BE,8BAAA,CACJ,MAAA,EAAQ,gCAAA,0BAAuD,OAAA,0BAAA,QAAA,0BAAA,8BAAA;;;EApB1B;;;;;EAgCjC,gCAAA,CACJ,MAAA,EAAQ,gCAAA,6BAA0D,OAAA,0BAAA,QAAA,0BAAA,gCAAA;;;EAb1D;;;;;EAyBV,sBAAA,CACE,MAAA,EAAQ,aAAA,CACN,gCAAA;IACE,KAAA,EAAO,iBAAA;EAAA,qCAEV,oCAAA;EAjBD;;;;;EA6BF,wBAAA,CACE,MAAA,EAAQ,aAAA,CACN,gCAAA;IAAsD,KAAA;EAAA,qCACvD,8BAAA;AAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as BaseNadoAPI } from "./base-
|
|
1
|
+
import { t as BaseNadoAPI } from "./base-B5KgBVY-.cjs";
|
|
2
2
|
import { EngineServerQueryRequest, EngineServerQueryRequestByType, EngineServerQueryRequestType } from "@nadohq/engine-client";
|
|
3
3
|
|
|
4
4
|
//#region src/apis/ws/WebSocketQueryAPI.d.ts
|
|
@@ -17,4 +17,4 @@ declare class WebSocketQueryAPI extends BaseNadoAPI {
|
|
|
17
17
|
}
|
|
18
18
|
//#endregion
|
|
19
19
|
export { WebSocketQueryAPI as t };
|
|
20
|
-
//# sourceMappingURL=WebSocketQueryAPI-
|
|
20
|
+
//# sourceMappingURL=WebSocketQueryAPI-CNmb61qG.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketQueryAPI-
|
|
1
|
+
{"version":3,"file":"WebSocketQueryAPI-CNmb61qG.d.cts","names":[],"sources":["../src/apis/ws/src/apis/ws/WebSocketQueryAPI.ts"],"mappings":";;;;;;AAWA;;cAAa,iBAAA,SAA0B,WAAA;EAOS;;;;;;EAAvC,iBAAA,sBAAuC,4BAAA,CAAA,CAC5C,WAAA,EAAa,YAAA,EACb,MAAA,EAAQ,8BAAA,CAA+B,YAAA,IACtC,wBAAA,CAAyB,YAAA;AAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as BaseNadoAPI } from "./base-
|
|
1
|
+
import { t as BaseNadoAPI } from "./base-CBv_F_59.js";
|
|
2
2
|
import { EngineServerQueryRequest, EngineServerQueryRequestByType, EngineServerQueryRequestType } from "@nadohq/engine-client";
|
|
3
3
|
|
|
4
4
|
//#region src/apis/ws/WebSocketQueryAPI.d.ts
|
|
@@ -17,4 +17,4 @@ declare class WebSocketQueryAPI extends BaseNadoAPI {
|
|
|
17
17
|
}
|
|
18
18
|
//#endregion
|
|
19
19
|
export { WebSocketQueryAPI as t };
|
|
20
|
-
//# sourceMappingURL=WebSocketQueryAPI-
|
|
20
|
+
//# sourceMappingURL=WebSocketQueryAPI-DcnsC5EM.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketQueryAPI-
|
|
1
|
+
{"version":3,"file":"WebSocketQueryAPI-DcnsC5EM.d.ts","names":[],"sources":["../src/apis/ws/src/apis/ws/WebSocketQueryAPI.ts"],"mappings":";;;;;;AAWA;;cAAa,iBAAA,SAA0B,WAAA;EAOS;;;;;;EAAvC,iBAAA,sBAAuC,4BAAA,CAAA,CAC5C,WAAA,EAAa,YAAA,EACb,MAAA,EAAQ,8BAAA,CAA+B,YAAA,IACtC,wBAAA,CAAyB,YAAA;AAAA"}
|
package/dist/{WebSocketSubscriptionAPI-B9YYloIc.d.ts → WebSocketSubscriptionAPI-DFYlMuBv.d.ts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as BaseNadoAPI } from "./base-
|
|
1
|
+
import { t as BaseNadoAPI } from "./base-CBv_F_59.js";
|
|
2
2
|
import { EngineServerSubscriptionRequest, EngineServerSubscriptionRequestByType, EngineServerSubscriptionRequestType, EngineServerSubscriptionStream, EngineServerSubscriptionStreamParamsByType, EngineServerSubscriptionStreamParamsType } from "@nadohq/engine-client";
|
|
3
3
|
|
|
4
4
|
//#region src/apis/ws/WebSocketSubscriptionAPI.d.ts
|
|
@@ -31,4 +31,4 @@ declare class WebSocketSubscriptionAPI extends BaseNadoAPI {
|
|
|
31
31
|
}
|
|
32
32
|
//#endregion
|
|
33
33
|
export { WebSocketSubscriptionAPI as t };
|
|
34
|
-
//# sourceMappingURL=WebSocketSubscriptionAPI-
|
|
34
|
+
//# sourceMappingURL=WebSocketSubscriptionAPI-DFYlMuBv.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketSubscriptionAPI-
|
|
1
|
+
{"version":3,"file":"WebSocketSubscriptionAPI-DFYlMuBv.d.ts","names":[],"sources":["../src/apis/ws/src/apis/ws/WebSocketSubscriptionAPI.ts"],"mappings":";;;;;;AAkBA;;;;;;cAAa,wBAAA,SAAiC,WAAA;EAcT;;;;;;;EAN5B,wBAAA,sBACgB,mCAAA,CAAA,CAErB,EAAA,UACA,WAAA,EAAa,YAAA,EACb,MAAA,EAAQ,qCAAA,CAAsC,YAAA,IAC7C,+BAAA,CAAgC,YAAA;EAdS;;;;;;EA4BrC,uBAAA,qBACe,wCAAA,CAAA,CAEpB,UAAA,EAAY,WAAA,EACZ,MAAA,EAAQ,0CAAA,CAA2C,WAAA;IAEnD,MAAA,EAAQ,8BAAA,CAA+B,WAAA;EAAA;AAAA"}
|
package/dist/{WebSocketSubscriptionAPI-DgIMxfz5.d.cts → WebSocketSubscriptionAPI-DS0tO4MO.d.cts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as BaseNadoAPI } from "./base-
|
|
1
|
+
import { t as BaseNadoAPI } from "./base-B5KgBVY-.cjs";
|
|
2
2
|
import { EngineServerSubscriptionRequest, EngineServerSubscriptionRequestByType, EngineServerSubscriptionRequestType, EngineServerSubscriptionStream, EngineServerSubscriptionStreamParamsByType, EngineServerSubscriptionStreamParamsType } from "@nadohq/engine-client";
|
|
3
3
|
|
|
4
4
|
//#region src/apis/ws/WebSocketSubscriptionAPI.d.ts
|
|
@@ -31,4 +31,4 @@ declare class WebSocketSubscriptionAPI extends BaseNadoAPI {
|
|
|
31
31
|
}
|
|
32
32
|
//#endregion
|
|
33
33
|
export { WebSocketSubscriptionAPI as t };
|
|
34
|
-
//# sourceMappingURL=WebSocketSubscriptionAPI-
|
|
34
|
+
//# sourceMappingURL=WebSocketSubscriptionAPI-DS0tO4MO.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketSubscriptionAPI-
|
|
1
|
+
{"version":3,"file":"WebSocketSubscriptionAPI-DS0tO4MO.d.cts","names":[],"sources":["../src/apis/ws/src/apis/ws/WebSocketSubscriptionAPI.ts"],"mappings":";;;;;;AAkBA;;;;;;cAAa,wBAAA,SAAiC,WAAA;EAcT;;;;;;;EAN5B,wBAAA,sBACgB,mCAAA,CAAA,CAErB,EAAA,UACA,WAAA,EAAa,YAAA,EACb,MAAA,EAAQ,qCAAA,CAAsC,YAAA,IAC7C,+BAAA,CAAgC,YAAA;EAdS;;;;;;EA4BrC,uBAAA,qBACe,wCAAA,CAAA,CAEpB,UAAA,EAAY,WAAA,EACZ,MAAA,EAAQ,0CAAA,CAA2C,WAAA;IAEnD,MAAA,EAAQ,8BAAA,CAA+B,WAAA;EAAA;AAAA"}
|
package/dist/apis/base.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as BaseNadoAPI } from "../base-
|
|
1
|
+
import { t as BaseNadoAPI } from "../base-B5KgBVY-.cjs";
|
|
2
2
|
export { BaseNadoAPI };
|
package/dist/apis/base.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as BaseNadoAPI } from "../base-
|
|
1
|
+
import { t as BaseNadoAPI } from "../base-CBv_F_59.js";
|
|
2
2
|
export { BaseNadoAPI };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as MarketExecuteAPI } from "../../MarketExecuteAPI-
|
|
1
|
+
import { t as MarketExecuteAPI } from "../../MarketExecuteAPI-qiAe3jh_.cjs";
|
|
2
2
|
export { MarketExecuteAPI };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as MarketExecuteAPI } from "../../MarketExecuteAPI-
|
|
1
|
+
import { t as MarketExecuteAPI } from "../../MarketExecuteAPI-CYN3iQp-.js";
|
|
2
2
|
export { MarketExecuteAPI };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as MarketQueryAPI } from "../../MarketQueryAPI-
|
|
1
|
+
import { t as MarketQueryAPI } from "../../MarketQueryAPI-BcfSSPpI.cjs";
|
|
2
2
|
export { MarketQueryAPI };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as MarketQueryAPI } from "../../MarketQueryAPI-
|
|
1
|
+
import { t as MarketQueryAPI } from "../../MarketQueryAPI-D4jlc7XA.js";
|
|
2
2
|
export { MarketQueryAPI };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { a as CancelTriggerProductOrdersParams, c as PlaceOrdersParams, i as CancelTriggerOrdersParams, l as PlaceTriggerOrderParams, n as CancelOrdersParams, o as GetTriggerOrdersParams, r as CancelProductOrdersParams, s as PlaceOrderParams, t as CancelAndPlaceOrderParams, u as PlaceTriggerOrdersParams } from "../../types-YBdM1sun.cjs";
|
|
2
|
-
import { t as MarketAPI } from "../../index-
|
|
2
|
+
import { t as MarketAPI } from "../../index-CrZGbtpl.cjs";
|
|
3
3
|
export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, MarketAPI, PlaceOrderParams, PlaceOrdersParams, PlaceTriggerOrderParams, PlaceTriggerOrdersParams };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { a as CancelTriggerProductOrdersParams, c as PlaceOrdersParams, i as CancelTriggerOrdersParams, l as PlaceTriggerOrderParams, n as CancelOrdersParams, o as GetTriggerOrdersParams, r as CancelProductOrdersParams, s as PlaceOrderParams, t as CancelAndPlaceOrderParams, u as PlaceTriggerOrdersParams } from "../../types-BFFzjzRy.js";
|
|
2
|
-
import { t as MarketAPI } from "../../index-
|
|
2
|
+
import { t as MarketAPI } from "../../index-DmoR6iDR.js";
|
|
3
3
|
export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, MarketAPI, PlaceOrderParams, PlaceOrdersParams, PlaceTriggerOrderParams, PlaceTriggerOrdersParams };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PerpExecuteAPI } from "../../PerpExecuteAPI-
|
|
1
|
+
import { t as PerpExecuteAPI } from "../../PerpExecuteAPI-X8z_Qdew.cjs";
|
|
2
2
|
export { PerpExecuteAPI };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PerpExecuteAPI } from "../../PerpExecuteAPI-
|
|
1
|
+
import { t as PerpExecuteAPI } from "../../PerpExecuteAPI-mwp3kbFh.js";
|
|
2
2
|
export { PerpExecuteAPI };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PerpQueryAPI } from "../../PerpQueryAPI-
|
|
1
|
+
import { t as PerpQueryAPI } from "../../PerpQueryAPI-BEGfs6t1.cjs";
|
|
2
2
|
export { PerpQueryAPI };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PerpQueryAPI } from "../../PerpQueryAPI-
|
|
1
|
+
import { t as PerpQueryAPI } from "../../PerpQueryAPI-DWh31jSN.js";
|
|
2
2
|
export { PerpQueryAPI };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PerpAPI } from "../../index-
|
|
1
|
+
import { t as PerpAPI } from "../../index-CPbV1asH.cjs";
|
|
2
2
|
export { PerpAPI };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PerpAPI } from "../../index-
|
|
1
|
+
import { t as PerpAPI } from "../../index-MFkQd1G3.js";
|
|
2
2
|
export { PerpAPI };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_apis_base = require("../base.cjs");
|
|
3
|
+
let _nadohq_shared = require("@nadohq/shared");
|
|
4
|
+
let viem = require("viem");
|
|
5
|
+
//#region src/apis/rewards/BaseRewardsAPI.ts
|
|
6
|
+
var BaseRewardsAPI = class extends require_apis_base.BaseNadoAPI {
|
|
7
|
+
/**
|
|
8
|
+
* Builds a contract instance for an Airdrop contract. Airdrop addresses are not part of the core
|
|
9
|
+
* Nado deployment; they are returned by the indexer alongside a claim proof.
|
|
10
|
+
*/
|
|
11
|
+
getAirdropContract({ airdropAddress }) {
|
|
12
|
+
return (0, viem.getContract)({
|
|
13
|
+
abi: _nadohq_shared.AIRDROP_ABI,
|
|
14
|
+
address: airdropAddress,
|
|
15
|
+
client: this.context.walletClient ?? this.context.publicClient
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
//#endregion
|
|
20
|
+
exports.BaseRewardsAPI = BaseRewardsAPI;
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=BaseRewardsAPI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseRewardsAPI.cjs","names":["BaseNadoAPI","AIRDROP_ABI"],"sources":["../../../src/apis/rewards/BaseRewardsAPI.ts"],"sourcesContent":["import { AIRDROP_ABI, ContractInstance } from '@nadohq/shared';\nimport { getContract } from 'viem';\nimport { BaseNadoAPI } from '../base';\nimport { AirdropAddressParams } from './types';\n\nexport class BaseRewardsAPI extends BaseNadoAPI {\n /**\n * Builds a contract instance for an Airdrop contract. Airdrop addresses are not part of the core\n * Nado deployment; they are returned by the indexer alongside a claim proof.\n */\n protected getAirdropContract({\n airdropAddress,\n }: AirdropAddressParams): ContractInstance<typeof AIRDROP_ABI> {\n return getContract({\n abi: AIRDROP_ABI,\n address: airdropAddress,\n client: this.context.walletClient ?? this.context.publicClient,\n });\n }\n}\n"],"mappings":";;;;;AAKA,IAAa,iBAAb,cAAoCA,kBAAAA,YAAY;;;;;CAK9C,mBAA6B,EAC3B,kBAC6D;EAC7D,QAAA,GAAA,KAAA,aAAmB;GACjB,KAAKC,eAAAA;GACL,SAAS;GACT,QAAQ,KAAK,QAAQ,gBAAgB,KAAK,QAAQ;EACpD,CAAC;CACH;AACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseNadoAPI } from "../base.js";
|
|
2
|
+
import { AIRDROP_ABI } from "@nadohq/shared";
|
|
3
|
+
import { getContract } from "viem";
|
|
4
|
+
//#region src/apis/rewards/BaseRewardsAPI.ts
|
|
5
|
+
var BaseRewardsAPI = class extends BaseNadoAPI {
|
|
6
|
+
/**
|
|
7
|
+
* Builds a contract instance for an Airdrop contract. Airdrop addresses are not part of the core
|
|
8
|
+
* Nado deployment; they are returned by the indexer alongside a claim proof.
|
|
9
|
+
*/
|
|
10
|
+
getAirdropContract({ airdropAddress }) {
|
|
11
|
+
return getContract({
|
|
12
|
+
abi: AIRDROP_ABI,
|
|
13
|
+
address: airdropAddress,
|
|
14
|
+
client: this.context.walletClient ?? this.context.publicClient
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
export { BaseRewardsAPI };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=BaseRewardsAPI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseRewardsAPI.js","names":[],"sources":["../../../src/apis/rewards/BaseRewardsAPI.ts"],"sourcesContent":["import { AIRDROP_ABI, ContractInstance } from '@nadohq/shared';\nimport { getContract } from 'viem';\nimport { BaseNadoAPI } from '../base';\nimport { AirdropAddressParams } from './types';\n\nexport class BaseRewardsAPI extends BaseNadoAPI {\n /**\n * Builds a contract instance for an Airdrop contract. Airdrop addresses are not part of the core\n * Nado deployment; they are returned by the indexer alongside a claim proof.\n */\n protected getAirdropContract({\n airdropAddress,\n }: AirdropAddressParams): ContractInstance<typeof AIRDROP_ABI> {\n return getContract({\n abi: AIRDROP_ABI,\n address: airdropAddress,\n client: this.context.walletClient ?? this.context.publicClient,\n });\n }\n}\n"],"mappings":";;;;AAKA,IAAa,iBAAb,cAAoC,YAAY;;;;;CAK9C,mBAA6B,EAC3B,kBAC6D;EAC7D,OAAO,YAAY;GACjB,KAAK;GACL,SAAS;GACT,QAAQ,KAAK,QAAQ,gBAAgB,KAAK,QAAQ;EACpD,CAAC;CACH;AACF"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_apis_rewards_BaseRewardsAPI = require("./BaseRewardsAPI.cjs");
|
|
3
|
+
let _nadohq_shared = require("@nadohq/shared");
|
|
4
|
+
//#region src/apis/rewards/RewardsExecuteAPI.ts
|
|
5
|
+
var RewardsExecuteAPI = class extends require_apis_rewards_BaseRewardsAPI.BaseRewardsAPI {
|
|
6
|
+
/**
|
|
7
|
+
* Claims every currently claimable cash incentives reward for the connected wallet in a single
|
|
8
|
+
* transaction, fetching the merkle proofs from the indexer itself.
|
|
9
|
+
*
|
|
10
|
+
* The Airdrop contract verifies proofs against `msg.sender`, so this can only ever claim for the
|
|
11
|
+
* connected wallet. Rewards that were already settled onchain are dropped before submitting,
|
|
12
|
+
* since the indexer keeps reporting them as claimable, as are rewards whose week the contract
|
|
13
|
+
* does not know about yet.
|
|
14
|
+
*
|
|
15
|
+
* @returns Hash of the submitted claim transaction.
|
|
16
|
+
* @throws `WalletNotProvidedError` when no wallet client is available to sign with.
|
|
17
|
+
* @throws When the indexer reports nothing claimable, or when no claimable reward is ready to
|
|
18
|
+
* claim onchain because each has either already been claimed or is not yet registered on the
|
|
19
|
+
* airdrop contract.
|
|
20
|
+
*/
|
|
21
|
+
async claimCashIncentives() {
|
|
22
|
+
const walletAddress = this.getWalletClientAddress();
|
|
23
|
+
const { events } = await this.context.indexerClient.getCashIncentives({ address: walletAddress });
|
|
24
|
+
const claimableRewards = events.map((event) => event.wallet.claim).filter((claim) => claim.status === "claimable");
|
|
25
|
+
const airdropAddress = claimableRewards[0]?.airdropAddress;
|
|
26
|
+
if (!airdropAddress) throw new Error("No claimable cash incentives rewards found for this wallet.");
|
|
27
|
+
const airdropContract = this.getAirdropContract({ airdropAddress });
|
|
28
|
+
if (!(0, _nadohq_shared.isWriteableContract)(airdropContract)) throw new _nadohq_shared.WalletNotProvidedError();
|
|
29
|
+
const claimed = await airdropContract.read.getClaimed([walletAddress]);
|
|
30
|
+
const unclaimedProofs = [];
|
|
31
|
+
for (const { week, totalAmount, proof } of claimableRewards) {
|
|
32
|
+
if (week < 1 || week >= claimed.length) continue;
|
|
33
|
+
if ((0, _nadohq_shared.toBigNumber)(claimed[week]).lt((0, _nadohq_shared.toBigNumber)(totalAmount))) unclaimedProofs.push({
|
|
34
|
+
week,
|
|
35
|
+
totalAmount,
|
|
36
|
+
proof
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
if (unclaimedProofs.length === 0) throw new Error(`No cash incentives rewards are ready to claim from the airdrop contract at ${airdropAddress}. Each claimable reward has either already been claimed onchain, or is not yet registered on the contract (it reports ${claimed.length - 1} week(s)).`);
|
|
40
|
+
return (0, _nadohq_shared.claimAirdropRewards)({
|
|
41
|
+
airdropContract,
|
|
42
|
+
claimProofs: unclaimedProofs
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
//#endregion
|
|
47
|
+
exports.RewardsExecuteAPI = RewardsExecuteAPI;
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=RewardsExecuteAPI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RewardsExecuteAPI.cjs","names":["BaseRewardsAPI","WalletNotProvidedError"],"sources":["../../../src/apis/rewards/RewardsExecuteAPI.ts"],"sourcesContent":["import {\n AirdropClaimProof,\n claimAirdropRewards,\n isWriteableContract,\n toBigNumber,\n WalletNotProvidedError,\n} from '@nadohq/shared';\nimport { Hash } from 'viem';\nimport { BaseRewardsAPI } from './BaseRewardsAPI';\n\nexport class RewardsExecuteAPI extends BaseRewardsAPI {\n /**\n * Claims every currently claimable cash incentives reward for the connected wallet in a single\n * transaction, fetching the merkle proofs from the indexer itself.\n *\n * The Airdrop contract verifies proofs against `msg.sender`, so this can only ever claim for the\n * connected wallet. Rewards that were already settled onchain are dropped before submitting,\n * since the indexer keeps reporting them as claimable, as are rewards whose week the contract\n * does not know about yet.\n *\n * @returns Hash of the submitted claim transaction.\n * @throws `WalletNotProvidedError` when no wallet client is available to sign with.\n * @throws When the indexer reports nothing claimable, or when no claimable reward is ready to\n * claim onchain because each has either already been claimed or is not yet registered on the\n * airdrop contract.\n */\n async claimCashIncentives(): Promise<Hash> {\n const walletAddress = this.getWalletClientAddress();\n const { events } = await this.context.indexerClient.getCashIncentives({\n address: walletAddress,\n });\n\n const claimableRewards = events\n .map((event) => event.wallet.claim)\n .filter((claim) => claim.status === 'claimable');\n\n // Every reward currently comes from the same airdrop contract, so they claim in one transaction\n const airdropAddress = claimableRewards[0]?.airdropAddress;\n if (!airdropAddress) {\n throw new Error(\n 'No claimable cash incentives rewards found for this wallet.',\n );\n }\n\n const airdropContract = this.getAirdropContract({ airdropAddress });\n if (!isWriteableContract(airdropContract)) {\n throw new WalletNotProvidedError();\n }\n\n // Indexed by week, 1-based, with an unused slot 0, so the last valid week is `length - 1`\n const claimed = await airdropContract.read.getClaimed([walletAddress]);\n\n const unclaimedProofs: AirdropClaimProof[] = [];\n for (const { week, totalAmount, proof } of claimableRewards) {\n // A reward can be published by the indexer before its merkle root is registered onchain, so\n // skip those weeks rather than failing and blocking the weeks that are ready to claim\n if (week < 1 || week >= claimed.length) {\n continue;\n }\n // Claimed amounts are cumulative, so anything below the entitlement is still claimable\n if (toBigNumber(claimed[week]).lt(toBigNumber(totalAmount))) {\n unclaimedProofs.push({ week, totalAmount, proof });\n }\n }\n\n if (unclaimedProofs.length === 0) {\n throw new Error(\n `No cash incentives rewards are ready to claim from the airdrop contract at ${airdropAddress}. Each claimable reward has either already been claimed onchain, or is not yet registered on the contract (it reports ${claimed.length - 1} week(s)).`,\n );\n }\n\n return claimAirdropRewards({\n airdropContract,\n claimProofs: unclaimedProofs,\n });\n }\n}\n"],"mappings":";;;;AAUA,IAAa,oBAAb,cAAuCA,oCAAAA,eAAe;;;;;;;;;;;;;;;;CAgBpD,MAAM,sBAAqC;EACzC,MAAM,gBAAgB,KAAK,uBAAuB;EAClD,MAAM,EAAE,WAAW,MAAM,KAAK,QAAQ,cAAc,kBAAkB,EACpE,SAAS,cACX,CAAC;EAED,MAAM,mBAAmB,OACtB,KAAK,UAAU,MAAM,OAAO,KAAK,EACjC,QAAQ,UAAU,MAAM,WAAW,WAAW;EAGjD,MAAM,iBAAiB,iBAAiB,IAAI;EAC5C,IAAI,CAAC,gBACH,MAAM,IAAI,MACR,6DACF;EAGF,MAAM,kBAAkB,KAAK,mBAAmB,EAAE,eAAe,CAAC;EAClE,IAAI,EAAA,GAAA,eAAA,qBAAqB,eAAe,GACtC,MAAM,IAAIC,eAAAA,uBAAuB;EAInC,MAAM,UAAU,MAAM,gBAAgB,KAAK,WAAW,CAAC,aAAa,CAAC;EAErE,MAAM,kBAAuC,CAAC;EAC9C,KAAK,MAAM,EAAE,MAAM,aAAa,WAAW,kBAAkB;GAG3D,IAAI,OAAO,KAAK,QAAQ,QAAQ,QAC9B;GAGF,KAAA,GAAA,eAAA,aAAgB,QAAQ,KAAK,EAAE,IAAA,GAAA,eAAA,aAAe,WAAW,CAAC,GACxD,gBAAgB,KAAK;IAAE;IAAM;IAAa;GAAM,CAAC;EAErD;EAEA,IAAI,gBAAgB,WAAW,GAC7B,MAAM,IAAI,MACR,8EAA8E,eAAe,wHAAwH,QAAQ,SAAS,EAAE,WAC1O;EAGF,QAAA,GAAA,eAAA,qBAA2B;GACzB;GACA,aAAa;EACf,CAAC;CACH;AACF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { BaseRewardsAPI } from "./BaseRewardsAPI.js";
|
|
2
|
+
import { WalletNotProvidedError, claimAirdropRewards, isWriteableContract, toBigNumber } from "@nadohq/shared";
|
|
3
|
+
//#region src/apis/rewards/RewardsExecuteAPI.ts
|
|
4
|
+
var RewardsExecuteAPI = class extends BaseRewardsAPI {
|
|
5
|
+
/**
|
|
6
|
+
* Claims every currently claimable cash incentives reward for the connected wallet in a single
|
|
7
|
+
* transaction, fetching the merkle proofs from the indexer itself.
|
|
8
|
+
*
|
|
9
|
+
* The Airdrop contract verifies proofs against `msg.sender`, so this can only ever claim for the
|
|
10
|
+
* connected wallet. Rewards that were already settled onchain are dropped before submitting,
|
|
11
|
+
* since the indexer keeps reporting them as claimable, as are rewards whose week the contract
|
|
12
|
+
* does not know about yet.
|
|
13
|
+
*
|
|
14
|
+
* @returns Hash of the submitted claim transaction.
|
|
15
|
+
* @throws `WalletNotProvidedError` when no wallet client is available to sign with.
|
|
16
|
+
* @throws When the indexer reports nothing claimable, or when no claimable reward is ready to
|
|
17
|
+
* claim onchain because each has either already been claimed or is not yet registered on the
|
|
18
|
+
* airdrop contract.
|
|
19
|
+
*/
|
|
20
|
+
async claimCashIncentives() {
|
|
21
|
+
const walletAddress = this.getWalletClientAddress();
|
|
22
|
+
const { events } = await this.context.indexerClient.getCashIncentives({ address: walletAddress });
|
|
23
|
+
const claimableRewards = events.map((event) => event.wallet.claim).filter((claim) => claim.status === "claimable");
|
|
24
|
+
const airdropAddress = claimableRewards[0]?.airdropAddress;
|
|
25
|
+
if (!airdropAddress) throw new Error("No claimable cash incentives rewards found for this wallet.");
|
|
26
|
+
const airdropContract = this.getAirdropContract({ airdropAddress });
|
|
27
|
+
if (!isWriteableContract(airdropContract)) throw new WalletNotProvidedError();
|
|
28
|
+
const claimed = await airdropContract.read.getClaimed([walletAddress]);
|
|
29
|
+
const unclaimedProofs = [];
|
|
30
|
+
for (const { week, totalAmount, proof } of claimableRewards) {
|
|
31
|
+
if (week < 1 || week >= claimed.length) continue;
|
|
32
|
+
if (toBigNumber(claimed[week]).lt(toBigNumber(totalAmount))) unclaimedProofs.push({
|
|
33
|
+
week,
|
|
34
|
+
totalAmount,
|
|
35
|
+
proof
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
if (unclaimedProofs.length === 0) throw new Error(`No cash incentives rewards are ready to claim from the airdrop contract at ${airdropAddress}. Each claimable reward has either already been claimed onchain, or is not yet registered on the contract (it reports ${claimed.length - 1} week(s)).`);
|
|
39
|
+
return claimAirdropRewards({
|
|
40
|
+
airdropContract,
|
|
41
|
+
claimProofs: unclaimedProofs
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
//#endregion
|
|
46
|
+
export { RewardsExecuteAPI };
|
|
47
|
+
|
|
48
|
+
//# sourceMappingURL=RewardsExecuteAPI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RewardsExecuteAPI.js","names":[],"sources":["../../../src/apis/rewards/RewardsExecuteAPI.ts"],"sourcesContent":["import {\n AirdropClaimProof,\n claimAirdropRewards,\n isWriteableContract,\n toBigNumber,\n WalletNotProvidedError,\n} from '@nadohq/shared';\nimport { Hash } from 'viem';\nimport { BaseRewardsAPI } from './BaseRewardsAPI';\n\nexport class RewardsExecuteAPI extends BaseRewardsAPI {\n /**\n * Claims every currently claimable cash incentives reward for the connected wallet in a single\n * transaction, fetching the merkle proofs from the indexer itself.\n *\n * The Airdrop contract verifies proofs against `msg.sender`, so this can only ever claim for the\n * connected wallet. Rewards that were already settled onchain are dropped before submitting,\n * since the indexer keeps reporting them as claimable, as are rewards whose week the contract\n * does not know about yet.\n *\n * @returns Hash of the submitted claim transaction.\n * @throws `WalletNotProvidedError` when no wallet client is available to sign with.\n * @throws When the indexer reports nothing claimable, or when no claimable reward is ready to\n * claim onchain because each has either already been claimed or is not yet registered on the\n * airdrop contract.\n */\n async claimCashIncentives(): Promise<Hash> {\n const walletAddress = this.getWalletClientAddress();\n const { events } = await this.context.indexerClient.getCashIncentives({\n address: walletAddress,\n });\n\n const claimableRewards = events\n .map((event) => event.wallet.claim)\n .filter((claim) => claim.status === 'claimable');\n\n // Every reward currently comes from the same airdrop contract, so they claim in one transaction\n const airdropAddress = claimableRewards[0]?.airdropAddress;\n if (!airdropAddress) {\n throw new Error(\n 'No claimable cash incentives rewards found for this wallet.',\n );\n }\n\n const airdropContract = this.getAirdropContract({ airdropAddress });\n if (!isWriteableContract(airdropContract)) {\n throw new WalletNotProvidedError();\n }\n\n // Indexed by week, 1-based, with an unused slot 0, so the last valid week is `length - 1`\n const claimed = await airdropContract.read.getClaimed([walletAddress]);\n\n const unclaimedProofs: AirdropClaimProof[] = [];\n for (const { week, totalAmount, proof } of claimableRewards) {\n // A reward can be published by the indexer before its merkle root is registered onchain, so\n // skip those weeks rather than failing and blocking the weeks that are ready to claim\n if (week < 1 || week >= claimed.length) {\n continue;\n }\n // Claimed amounts are cumulative, so anything below the entitlement is still claimable\n if (toBigNumber(claimed[week]).lt(toBigNumber(totalAmount))) {\n unclaimedProofs.push({ week, totalAmount, proof });\n }\n }\n\n if (unclaimedProofs.length === 0) {\n throw new Error(\n `No cash incentives rewards are ready to claim from the airdrop contract at ${airdropAddress}. Each claimable reward has either already been claimed onchain, or is not yet registered on the contract (it reports ${claimed.length - 1} week(s)).`,\n );\n }\n\n return claimAirdropRewards({\n airdropContract,\n claimProofs: unclaimedProofs,\n });\n }\n}\n"],"mappings":";;;AAUA,IAAa,oBAAb,cAAuC,eAAe;;;;;;;;;;;;;;;;CAgBpD,MAAM,sBAAqC;EACzC,MAAM,gBAAgB,KAAK,uBAAuB;EAClD,MAAM,EAAE,WAAW,MAAM,KAAK,QAAQ,cAAc,kBAAkB,EACpE,SAAS,cACX,CAAC;EAED,MAAM,mBAAmB,OACtB,KAAK,UAAU,MAAM,OAAO,KAAK,EACjC,QAAQ,UAAU,MAAM,WAAW,WAAW;EAGjD,MAAM,iBAAiB,iBAAiB,IAAI;EAC5C,IAAI,CAAC,gBACH,MAAM,IAAI,MACR,6DACF;EAGF,MAAM,kBAAkB,KAAK,mBAAmB,EAAE,eAAe,CAAC;EAClE,IAAI,CAAC,oBAAoB,eAAe,GACtC,MAAM,IAAI,uBAAuB;EAInC,MAAM,UAAU,MAAM,gBAAgB,KAAK,WAAW,CAAC,aAAa,CAAC;EAErE,MAAM,kBAAuC,CAAC;EAC9C,KAAK,MAAM,EAAE,MAAM,aAAa,WAAW,kBAAkB;GAG3D,IAAI,OAAO,KAAK,QAAQ,QAAQ,QAC9B;GAGF,IAAI,YAAY,QAAQ,KAAK,EAAE,GAAG,YAAY,WAAW,CAAC,GACxD,gBAAgB,KAAK;IAAE;IAAM;IAAa;GAAM,CAAC;EAErD;EAEA,IAAI,gBAAgB,WAAW,GAC7B,MAAM,IAAI,MACR,8EAA8E,eAAe,wHAAwH,QAAQ,SAAS,EAAE,WAC1O;EAGF,OAAO,oBAAoB;GACzB;GACA,aAAa;EACf,CAAC;CACH;AACF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_apis_rewards_BaseRewardsAPI = require("./BaseRewardsAPI.cjs");
|
|
3
|
+
//#region src/apis/rewards/RewardsQueryAPI.ts
|
|
4
|
+
var RewardsQueryAPI = class extends require_apis_rewards_BaseRewardsAPI.BaseRewardsAPI {
|
|
5
|
+
/**
|
|
6
|
+
* Gets cash incentives progress and claim state for a wallet. Each event's `wallet.claim` is
|
|
7
|
+
* tagged on `status`, and carries the merkle proof needed to claim onchain when that status is
|
|
8
|
+
* `claimable`.
|
|
9
|
+
*
|
|
10
|
+
* @param params
|
|
11
|
+
*/
|
|
12
|
+
async getCashIncentives(params) {
|
|
13
|
+
return this.context.indexerClient.getCashIncentives(params);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Gets the cumulative amounts already claimed by a wallet from an airdrop contract, in raw token
|
|
17
|
+
* units, indexed directly by `week`.
|
|
18
|
+
*
|
|
19
|
+
* Weeks are 1-based, so index 0 is always zero and the array length is one greater than the
|
|
20
|
+
* number of reward events. A week is fully claimed when its entry equals the `totalAmount` of the
|
|
21
|
+
* corresponding claim proof; a smaller value means there is still an amount to claim, since
|
|
22
|
+
* entries are cumulative rather than per-transaction.
|
|
23
|
+
*
|
|
24
|
+
* @param params
|
|
25
|
+
*/
|
|
26
|
+
async getClaimedAirdropAmounts({ address, ...rest }) {
|
|
27
|
+
return this.getAirdropContract(rest).read.getClaimed([address]);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
//#endregion
|
|
31
|
+
exports.RewardsQueryAPI = RewardsQueryAPI;
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=RewardsQueryAPI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RewardsQueryAPI.cjs","names":["BaseRewardsAPI"],"sources":["../../../src/apis/rewards/RewardsQueryAPI.ts"],"sourcesContent":["import { GetIndexerCashIncentivesParams } from '@nadohq/indexer-client';\nimport { BaseRewardsAPI } from './BaseRewardsAPI';\nimport { GetClaimedAirdropAmountsParams } from './types';\n\nexport class RewardsQueryAPI extends BaseRewardsAPI {\n /**\n * Gets cash incentives progress and claim state for a wallet. Each event's `wallet.claim` is\n * tagged on `status`, and carries the merkle proof needed to claim onchain when that status is\n * `claimable`.\n *\n * @param params\n */\n async getCashIncentives(params: GetIndexerCashIncentivesParams) {\n return this.context.indexerClient.getCashIncentives(params);\n }\n\n /**\n * Gets the cumulative amounts already claimed by a wallet from an airdrop contract, in raw token\n * units, indexed directly by `week`.\n *\n * Weeks are 1-based, so index 0 is always zero and the array length is one greater than the\n * number of reward events. A week is fully claimed when its entry equals the `totalAmount` of the\n * corresponding claim proof; a smaller value means there is still an amount to claim, since\n * entries are cumulative rather than per-transaction.\n *\n * @param params\n */\n async getClaimedAirdropAmounts({\n address,\n ...rest\n }: GetClaimedAirdropAmountsParams): Promise<readonly bigint[]> {\n const airdrop = this.getAirdropContract(rest);\n return airdrop.read.getClaimed([address]);\n }\n}\n"],"mappings":";;;AAIA,IAAa,kBAAb,cAAqCA,oCAAAA,eAAe;;;;;;;;CAQlD,MAAM,kBAAkB,QAAwC;EAC9D,OAAO,KAAK,QAAQ,cAAc,kBAAkB,MAAM;CAC5D;;;;;;;;;;;;CAaA,MAAM,yBAAyB,EAC7B,SACA,GAAG,QAC0D;EAE7D,OADgB,KAAK,mBAAmB,IAC3B,EAAE,KAAK,WAAW,CAAC,OAAO,CAAC;CAC1C;AACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { BaseRewardsAPI } from "./BaseRewardsAPI.js";
|
|
2
|
+
//#region src/apis/rewards/RewardsQueryAPI.ts
|
|
3
|
+
var RewardsQueryAPI = class extends BaseRewardsAPI {
|
|
4
|
+
/**
|
|
5
|
+
* Gets cash incentives progress and claim state for a wallet. Each event's `wallet.claim` is
|
|
6
|
+
* tagged on `status`, and carries the merkle proof needed to claim onchain when that status is
|
|
7
|
+
* `claimable`.
|
|
8
|
+
*
|
|
9
|
+
* @param params
|
|
10
|
+
*/
|
|
11
|
+
async getCashIncentives(params) {
|
|
12
|
+
return this.context.indexerClient.getCashIncentives(params);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Gets the cumulative amounts already claimed by a wallet from an airdrop contract, in raw token
|
|
16
|
+
* units, indexed directly by `week`.
|
|
17
|
+
*
|
|
18
|
+
* Weeks are 1-based, so index 0 is always zero and the array length is one greater than the
|
|
19
|
+
* number of reward events. A week is fully claimed when its entry equals the `totalAmount` of the
|
|
20
|
+
* corresponding claim proof; a smaller value means there is still an amount to claim, since
|
|
21
|
+
* entries are cumulative rather than per-transaction.
|
|
22
|
+
*
|
|
23
|
+
* @param params
|
|
24
|
+
*/
|
|
25
|
+
async getClaimedAirdropAmounts({ address, ...rest }) {
|
|
26
|
+
return this.getAirdropContract(rest).read.getClaimed([address]);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
//#endregion
|
|
30
|
+
export { RewardsQueryAPI };
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=RewardsQueryAPI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RewardsQueryAPI.js","names":[],"sources":["../../../src/apis/rewards/RewardsQueryAPI.ts"],"sourcesContent":["import { GetIndexerCashIncentivesParams } from '@nadohq/indexer-client';\nimport { BaseRewardsAPI } from './BaseRewardsAPI';\nimport { GetClaimedAirdropAmountsParams } from './types';\n\nexport class RewardsQueryAPI extends BaseRewardsAPI {\n /**\n * Gets cash incentives progress and claim state for a wallet. Each event's `wallet.claim` is\n * tagged on `status`, and carries the merkle proof needed to claim onchain when that status is\n * `claimable`.\n *\n * @param params\n */\n async getCashIncentives(params: GetIndexerCashIncentivesParams) {\n return this.context.indexerClient.getCashIncentives(params);\n }\n\n /**\n * Gets the cumulative amounts already claimed by a wallet from an airdrop contract, in raw token\n * units, indexed directly by `week`.\n *\n * Weeks are 1-based, so index 0 is always zero and the array length is one greater than the\n * number of reward events. A week is fully claimed when its entry equals the `totalAmount` of the\n * corresponding claim proof; a smaller value means there is still an amount to claim, since\n * entries are cumulative rather than per-transaction.\n *\n * @param params\n */\n async getClaimedAirdropAmounts({\n address,\n ...rest\n }: GetClaimedAirdropAmountsParams): Promise<readonly bigint[]> {\n const airdrop = this.getAirdropContract(rest);\n return airdrop.read.getClaimed([address]);\n }\n}\n"],"mappings":";;AAIA,IAAa,kBAAb,cAAqC,eAAe;;;;;;;;CAQlD,MAAM,kBAAkB,QAAwC;EAC9D,OAAO,KAAK,QAAQ,cAAc,kBAAkB,MAAM;CAC5D;;;;;;;;;;;;CAaA,MAAM,yBAAyB,EAC7B,SACA,GAAG,QAC0D;EAE7D,OADgB,KAAK,mBAAmB,IAC3B,EAAE,KAAK,WAAW,CAAC,OAAO,CAAC;CAC1C;AACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_apis_rewards_RewardsExecuteAPI = require("./RewardsExecuteAPI.cjs");
|
|
3
|
+
const require_apis_rewards_RewardsQueryAPI = require("./RewardsQueryAPI.cjs");
|
|
4
|
+
let ts_mixer = require("ts-mixer");
|
|
5
|
+
//#region src/apis/rewards/index.ts
|
|
6
|
+
/**
|
|
7
|
+
* Combined rewards API for querying cash incentives progress and claiming rewards onchain
|
|
8
|
+
* through the Airdrop contract.
|
|
9
|
+
*/
|
|
10
|
+
var RewardsAPI = class extends (0, ts_mixer.Mixin)(require_apis_rewards_RewardsExecuteAPI.RewardsExecuteAPI, require_apis_rewards_RewardsQueryAPI.RewardsQueryAPI) {};
|
|
11
|
+
//#endregion
|
|
12
|
+
exports.RewardsAPI = RewardsAPI;
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["RewardsExecuteAPI","RewardsQueryAPI"],"sources":["../../../src/apis/rewards/index.ts"],"sourcesContent":["import { Mixin } from 'ts-mixer';\nimport { RewardsExecuteAPI } from './RewardsExecuteAPI';\nimport { RewardsQueryAPI } from './RewardsQueryAPI';\n\n/**\n * Combined rewards API for querying cash incentives progress and claiming rewards onchain\n * through the Airdrop contract.\n */\nexport class RewardsAPI extends Mixin(RewardsExecuteAPI, RewardsQueryAPI) {}\n\nexport * from './types';\n"],"mappings":";;;;;;;;;AAQA,IAAa,aAAb,eAAA,GAAA,SAAA,OAAsCA,uCAAAA,mBAAmBC,qCAAAA,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RewardsExecuteAPI } from "./RewardsExecuteAPI.js";
|
|
2
|
+
import { RewardsQueryAPI } from "./RewardsQueryAPI.js";
|
|
3
|
+
import { Mixin } from "ts-mixer";
|
|
4
|
+
//#region src/apis/rewards/index.ts
|
|
5
|
+
/**
|
|
6
|
+
* Combined rewards API for querying cash incentives progress and claiming rewards onchain
|
|
7
|
+
* through the Airdrop contract.
|
|
8
|
+
*/
|
|
9
|
+
var RewardsAPI = class extends Mixin(RewardsExecuteAPI, RewardsQueryAPI) {};
|
|
10
|
+
//#endregion
|
|
11
|
+
export { RewardsAPI };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/apis/rewards/index.ts"],"sourcesContent":["import { Mixin } from 'ts-mixer';\nimport { RewardsExecuteAPI } from './RewardsExecuteAPI';\nimport { RewardsQueryAPI } from './RewardsQueryAPI';\n\n/**\n * Combined rewards API for querying cash incentives progress and claiming rewards onchain\n * through the Airdrop contract.\n */\nexport class RewardsAPI extends Mixin(RewardsExecuteAPI, RewardsQueryAPI) {}\n\nexport * from './types';\n"],"mappings":";;;;;;;;AAQA,IAAa,aAAb,cAAgC,MAAM,mBAAmB,eAAe,EAAE,CAAC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as BaseSpotAPI } from "../../BaseSpotAPI-
|
|
1
|
+
import { t as BaseSpotAPI } from "../../BaseSpotAPI-CTa--WXe.cjs";
|
|
2
2
|
export { BaseSpotAPI };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as BaseSpotAPI } from "../../BaseSpotAPI-
|
|
1
|
+
import { t as BaseSpotAPI } from "../../BaseSpotAPI-CyGq3M8G.js";
|
|
2
2
|
export { BaseSpotAPI };
|
|
@@ -4,6 +4,7 @@ let _nadohq_shared = require("@nadohq/shared");
|
|
|
4
4
|
//#region src/apis/spot/SpotExecuteAPI.ts
|
|
5
5
|
var SpotExecuteAPI = class extends require_apis_spot_BaseSpotAPI.BaseSpotAPI {
|
|
6
6
|
async deposit(params) {
|
|
7
|
+
if (!(0, _nadohq_shared.isWriteableContract)(this.context.contracts.endpoint)) throw new _nadohq_shared.WalletNotProvidedError();
|
|
7
8
|
return (0, _nadohq_shared.depositCollateral)({
|
|
8
9
|
endpoint: this.context.contracts.endpoint,
|
|
9
10
|
subaccountName: params.subaccountName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpotExecuteAPI.cjs","names":["BaseSpotAPI","WalletNotProvidedError","MOCK_ERC20_ABI"],"sources":["../../../src/apis/spot/SpotExecuteAPI.ts"],"sourcesContent":["import {\n approveDepositAllowance,\n depositCollateral,\n DepositCollateralParams,\n isWriteableContract,\n MOCK_ERC20_ABI,\n toBigInt,\n WalletNotProvidedError,\n} from '@nadohq/shared';\nimport { BaseSpotAPI } from './BaseSpotAPI';\nimport {\n ApproveAllowanceParams,\n BurnNlpParams,\n MintMockERC20Params,\n MintNlpParams,\n TransferQuoteParams,\n WithdrawCollateralParams,\n WithdrawCollateralV2Params,\n} from './types';\n\nexport class SpotExecuteAPI extends BaseSpotAPI {\n async deposit(params: DepositCollateralParams) {\n return depositCollateral({\n endpoint: this.context.contracts.endpoint,\n subaccountName: params.subaccountName,\n productId: params.productId,\n amount: params.amount,\n referralCode: params.referralCode,\n });\n }\n\n async withdraw(params: WithdrawCollateralParams) {\n return this.context.engineClient.withdrawCollateral({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Withdraws collateral to a custom recipient address via the `withdraw_collateral_v2` execute.\n *\n * When `sendTo` is the zero address, funds are sent to the subaccount owner. When `sendTo` is a\n * non-zero address, the transaction must be signed by the subaccount owner (linked signers are\n * not permitted).\n *\n * @param params\n */\n async withdrawV2(params: WithdrawCollateralV2Params) {\n return this.context.engineClient.withdrawCollateralV2({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async approveAllowance(params: ApproveAllowanceParams) {\n const tokenContract = await this.getTokenContractForProduct(params);\n if (!isWriteableContract(tokenContract)) {\n throw new Error(\n 'Token contract does not permit writes. Is a wallet client provided?',\n );\n }\n\n return approveDepositAllowance({\n amount: params.amount,\n endpoint: this.context.contracts.endpoint,\n tokenContract,\n });\n }\n\n /**\n * Transfers quote between subaccounts under the same wallet.\n *\n * @param params\n */\n async transferQuote(params: TransferQuoteParams) {\n return this.context.engineClient.transferQuote({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n });\n }\n\n async mintNlp(params: MintNlpParams) {\n return this.context.engineClient.mintNlp({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async burnNlp(params: BurnNlpParams) {\n return this.context.engineClient.burnNlp({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async _mintMockERC20(params: MintMockERC20Params) {\n if (!this.context.walletClient) {\n throw new WalletNotProvidedError();\n }\n\n const config = await this.context.contracts.spotEngine.read.getConfig([\n params.productId,\n ]);\n\n return this.context.walletClient.writeContract({\n abi: MOCK_ERC20_ABI,\n address: config.token,\n functionName: 'mint',\n args: [this.getWalletClientAddress(), toBigInt(params.amount)],\n });\n }\n}\n"],"mappings":";;;;AAoBA,IAAa,iBAAb,cAAoCA,8BAAAA,YAAY;CAC9C,MAAM,QAAQ,QAAiC;EAC7C,QAAA,GAAA,eAAA,mBAAyB;GACvB,UAAU,KAAK,QAAQ,UAAU;GACjC,gBAAgB,OAAO;GACvB,WAAW,OAAO;GAClB,QAAQ,OAAO;GACf,cAAc,OAAO;EACvB,CAAC;CACH;CAEA,MAAM,SAAS,QAAkC;EAC/C,OAAO,KAAK,QAAQ,aAAa,mBAAmB;GAClD,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;;;;;;;;;;CAWA,MAAM,WAAW,QAAoC;EACnD,OAAO,KAAK,QAAQ,aAAa,qBAAqB;GACpD,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;CAEA,MAAM,iBAAiB,QAAgC;EACrD,MAAM,gBAAgB,MAAM,KAAK,2BAA2B,MAAM;EAClE,IAAI,EAAA,GAAA,eAAA,qBAAqB,aAAa,GACpC,MAAM,IAAI,MACR,qEACF;EAGF,QAAA,GAAA,eAAA,yBAA+B;GAC7B,QAAQ,OAAO;GACf,UAAU,KAAK,QAAQ,UAAU;GACjC;EACF,CAAC;CACH;;;;;;CAOA,MAAM,cAAc,QAA6B;EAC/C,OAAO,KAAK,QAAQ,aAAa,cAAc;GAC7C,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;GAC/D,SAAS,KAAK,+BAA+B,MAAM;EACrD,CAAC;CACH;CAEA,MAAM,QAAQ,QAAuB;EACnC,OAAO,KAAK,QAAQ,aAAa,QAAQ;GACvC,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;CAEA,MAAM,QAAQ,QAAuB;EACnC,OAAO,KAAK,QAAQ,aAAa,QAAQ;GACvC,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;CAEA,MAAM,eAAe,QAA6B;EAChD,IAAI,CAAC,KAAK,QAAQ,cAChB,MAAM,
|
|
1
|
+
{"version":3,"file":"SpotExecuteAPI.cjs","names":["BaseSpotAPI","WalletNotProvidedError","MOCK_ERC20_ABI"],"sources":["../../../src/apis/spot/SpotExecuteAPI.ts"],"sourcesContent":["import {\n approveDepositAllowance,\n depositCollateral,\n DepositCollateralParams,\n isWriteableContract,\n MOCK_ERC20_ABI,\n toBigInt,\n WalletNotProvidedError,\n} from '@nadohq/shared';\nimport { BaseSpotAPI } from './BaseSpotAPI';\nimport {\n ApproveAllowanceParams,\n BurnNlpParams,\n MintMockERC20Params,\n MintNlpParams,\n TransferQuoteParams,\n WithdrawCollateralParams,\n WithdrawCollateralV2Params,\n} from './types';\n\nexport class SpotExecuteAPI extends BaseSpotAPI {\n async deposit(params: DepositCollateralParams) {\n if (!isWriteableContract(this.context.contracts.endpoint)) {\n throw new WalletNotProvidedError();\n }\n \n return depositCollateral({\n endpoint: this.context.contracts.endpoint,\n subaccountName: params.subaccountName,\n productId: params.productId,\n amount: params.amount,\n referralCode: params.referralCode,\n });\n }\n\n async withdraw(params: WithdrawCollateralParams) {\n return this.context.engineClient.withdrawCollateral({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Withdraws collateral to a custom recipient address via the `withdraw_collateral_v2` execute.\n *\n * When `sendTo` is the zero address, funds are sent to the subaccount owner. When `sendTo` is a\n * non-zero address, the transaction must be signed by the subaccount owner (linked signers are\n * not permitted).\n *\n * @param params\n */\n async withdrawV2(params: WithdrawCollateralV2Params) {\n return this.context.engineClient.withdrawCollateralV2({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async approveAllowance(params: ApproveAllowanceParams) {\n const tokenContract = await this.getTokenContractForProduct(params);\n if (!isWriteableContract(tokenContract)) {\n throw new Error(\n 'Token contract does not permit writes. Is a wallet client provided?',\n );\n }\n\n return approveDepositAllowance({\n amount: params.amount,\n endpoint: this.context.contracts.endpoint,\n tokenContract,\n });\n }\n\n /**\n * Transfers quote between subaccounts under the same wallet.\n *\n * @param params\n */\n async transferQuote(params: TransferQuoteParams) {\n return this.context.engineClient.transferQuote({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n });\n }\n\n async mintNlp(params: MintNlpParams) {\n return this.context.engineClient.mintNlp({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async burnNlp(params: BurnNlpParams) {\n return this.context.engineClient.burnNlp({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async _mintMockERC20(params: MintMockERC20Params) {\n if (!this.context.walletClient) {\n throw new WalletNotProvidedError();\n }\n\n const config = await this.context.contracts.spotEngine.read.getConfig([\n params.productId,\n ]);\n\n return this.context.walletClient.writeContract({\n abi: MOCK_ERC20_ABI,\n address: config.token,\n functionName: 'mint',\n args: [this.getWalletClientAddress(), toBigInt(params.amount)],\n });\n }\n}\n"],"mappings":";;;;AAoBA,IAAa,iBAAb,cAAoCA,8BAAAA,YAAY;CAC9C,MAAM,QAAQ,QAAiC;EAC7C,IAAI,EAAA,GAAA,eAAA,qBAAqB,KAAK,QAAQ,UAAU,QAAQ,GACtD,MAAM,IAAIC,eAAAA,uBAAuB;EAGnC,QAAA,GAAA,eAAA,mBAAyB;GACvB,UAAU,KAAK,QAAQ,UAAU;GACjC,gBAAgB,OAAO;GACvB,WAAW,OAAO;GAClB,QAAQ,OAAO;GACf,cAAc,OAAO;EACvB,CAAC;CACH;CAEA,MAAM,SAAS,QAAkC;EAC/C,OAAO,KAAK,QAAQ,aAAa,mBAAmB;GAClD,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;;;;;;;;;;CAWA,MAAM,WAAW,QAAoC;EACnD,OAAO,KAAK,QAAQ,aAAa,qBAAqB;GACpD,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;CAEA,MAAM,iBAAiB,QAAgC;EACrD,MAAM,gBAAgB,MAAM,KAAK,2BAA2B,MAAM;EAClE,IAAI,EAAA,GAAA,eAAA,qBAAqB,aAAa,GACpC,MAAM,IAAI,MACR,qEACF;EAGF,QAAA,GAAA,eAAA,yBAA+B;GAC7B,QAAQ,OAAO;GACf,UAAU,KAAK,QAAQ,UAAU;GACjC;EACF,CAAC;CACH;;;;;;CAOA,MAAM,cAAc,QAA6B;EAC/C,OAAO,KAAK,QAAQ,aAAa,cAAc;GAC7C,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;GAC/D,SAAS,KAAK,+BAA+B,MAAM;EACrD,CAAC;CACH;CAEA,MAAM,QAAQ,QAAuB;EACnC,OAAO,KAAK,QAAQ,aAAa,QAAQ;GACvC,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;CAEA,MAAM,QAAQ,QAAuB;EACnC,OAAO,KAAK,QAAQ,aAAa,QAAQ;GACvC,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;CAEA,MAAM,eAAe,QAA6B;EAChD,IAAI,CAAC,KAAK,QAAQ,cAChB,MAAM,IAAIA,eAAAA,uBAAuB;EAGnC,MAAM,SAAS,MAAM,KAAK,QAAQ,UAAU,WAAW,KAAK,UAAU,CACpE,OAAO,SACT,CAAC;EAED,OAAO,KAAK,QAAQ,aAAa,cAAc;GAC7C,KAAKC,eAAAA;GACL,SAAS,OAAO;GAChB,cAAc;GACd,MAAM,CAAC,KAAK,uBAAuB,IAAA,GAAA,eAAA,UAAY,OAAO,MAAM,CAAC;EAC/D,CAAC;CACH;AACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SpotExecuteAPI } from "../../SpotExecuteAPI-
|
|
1
|
+
import { t as SpotExecuteAPI } from "../../SpotExecuteAPI-Nht5qkkS.cjs";
|
|
2
2
|
export { SpotExecuteAPI };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SpotExecuteAPI } from "../../SpotExecuteAPI-
|
|
1
|
+
import { t as SpotExecuteAPI } from "../../SpotExecuteAPI-0owA_GY7.js";
|
|
2
2
|
export { SpotExecuteAPI };
|
|
@@ -3,6 +3,7 @@ import { MOCK_ERC20_ABI, WalletNotProvidedError, approveDepositAllowance, deposi
|
|
|
3
3
|
//#region src/apis/spot/SpotExecuteAPI.ts
|
|
4
4
|
var SpotExecuteAPI = class extends BaseSpotAPI {
|
|
5
5
|
async deposit(params) {
|
|
6
|
+
if (!isWriteableContract(this.context.contracts.endpoint)) throw new WalletNotProvidedError();
|
|
6
7
|
return depositCollateral({
|
|
7
8
|
endpoint: this.context.contracts.endpoint,
|
|
8
9
|
subaccountName: params.subaccountName,
|