@morambacrypto/connect 0.0.35 → 0.0.37

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/dist/index.d.mts CHANGED
@@ -671,6 +671,7 @@ interface TokenDetails {
671
671
  network: string;
672
672
  token: string;
673
673
  token_address: string;
674
+ token_decimal: number;
674
675
  rpc: string;
675
676
  network_name: string;
676
677
  native_token: string;
@@ -741,6 +742,12 @@ declare class PayButtonCommissionAPI {
741
742
  getPayButtonList(jwtToken: string, query?: CursorQuery): Promise<PayButtonResponse>;
742
743
  }
743
744
 
745
+ declare class TokenSupportAPI {
746
+ private http;
747
+ constructor(http: HttpClient);
748
+ getTokenDetails(payload: FindTokenDetails, jwtToken: string): Promise<TokenFetchResponse>;
749
+ }
750
+
744
751
  interface MorambaClientConfig {
745
752
  baseURL: string;
746
753
  apiKey: string;
@@ -760,6 +767,7 @@ declare class MorambaClient {
760
767
  payinButton: PayinButtonAPI;
761
768
  payButton: PayButtonAPI;
762
769
  payButtonCommission: PayButtonCommissionAPI;
770
+ tokenSupport: TokenSupportAPI;
763
771
  constructor(config: MorambaClientConfig);
764
772
  }
765
773
 
package/dist/index.d.ts CHANGED
@@ -671,6 +671,7 @@ interface TokenDetails {
671
671
  network: string;
672
672
  token: string;
673
673
  token_address: string;
674
+ token_decimal: number;
674
675
  rpc: string;
675
676
  network_name: string;
676
677
  native_token: string;
@@ -741,6 +742,12 @@ declare class PayButtonCommissionAPI {
741
742
  getPayButtonList(jwtToken: string, query?: CursorQuery): Promise<PayButtonResponse>;
742
743
  }
743
744
 
745
+ declare class TokenSupportAPI {
746
+ private http;
747
+ constructor(http: HttpClient);
748
+ getTokenDetails(payload: FindTokenDetails, jwtToken: string): Promise<TokenFetchResponse>;
749
+ }
750
+
744
751
  interface MorambaClientConfig {
745
752
  baseURL: string;
746
753
  apiKey: string;
@@ -760,6 +767,7 @@ declare class MorambaClient {
760
767
  payinButton: PayinButtonAPI;
761
768
  payButton: PayButtonAPI;
762
769
  payButtonCommission: PayButtonCommissionAPI;
770
+ tokenSupport: TokenSupportAPI;
763
771
  constructor(config: MorambaClientConfig);
764
772
  }
765
773
 
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var H=Object.create;var l=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var F=Object.getPrototypeOf,Q=Object.prototype.hasOwnProperty;var J=(o,e)=>{for(var t in e)l(o,t,{get:e[t],enumerable:!0})},k=(o,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of O(e))!Q.call(o,n)&&n!==t&&l(o,n,{get:()=>e[n],enumerable:!(r=N(e,n))||r.enumerable});return o};var K=(o,e,t)=>(t=o!=null?H(F(o)):{},k(e||!o||!o.__esModule?l(t,"default",{value:o,enumerable:!0}):t,o)),W=o=>k(l({},"__esModule",{value:!0}),o);var V={};J(V,{CommissionCalcType:()=>z,MorambaClient:()=>$,PayinReceiverType:()=>T,UserType:()=>S,monadApprove:()=>X,sepoliaApprove:()=>j});module.exports=W(V);var E=K(require("axios")),y=class{constructor(e,t={},r=4,n=300){this.client=E.default.create({baseURL:e,headers:t,timeout:1e4}),this.maxRetries=r,this.retryDelay=n,this.setupRetryInterceptor()}get axiosInstance(){return this.client}setupRetryInterceptor(){this.client.interceptors.response.use(e=>e,async e=>{var a;let t=e.config;if(!t)throw e;let r=(a=e.response)==null?void 0:a.status;if(r!==void 0&&r<500||(t._retryCount||(t._retryCount=0),t._retryCount>=this.maxRetries))throw e;t._retryCount++;let n=this.retryDelay*Math.pow(2,t._retryCount);return await new Promise(m=>setTimeout(m,n)),this.client(t)})}post(e,t,r={}){return this.client.post(e,t,{headers:r}).then(n=>n.data)}patch(e,t,r={}){return this.client.patch(e,t,{headers:r}).then(n=>n.data)}get(e,t={}){return this.client.get(e,{headers:t}).then(r=>r.data)}};var I=require("ulid"),g=class{constructor(e,t,r){this.http=e;this.partnerId=t;this.apiKey=r}createJwtToken(e){let t={...e,partner_id:this.partnerId,api_key:this.apiKey};return this.http.post("/morambacrypto/create/jwt_token",t)}createJwtTokenForPublic(){let t={userid:`public_user_${(0,I.ulid)()}@morambacrypto.moramba.io`,partner_id:this.partnerId};return this.http.post("/morambacrypto/create/jwt_token",t)}};var P=class{constructor(e){this.http=e}createCompany(e,t){return this.http.post("/morambacrypto/create/company",e,{Authorization:`Bearer ${t}`})}updateCompanyEmail(e,t){return this.http.patch("/morambacrypto/update/company/email",e,{Authorization:`Bearer ${t}`})}getCompaniesByPartner(e,t){let r=new URLSearchParams;return t.limit&&r.append("limit",String(t.limit)),t.direction&&r.append("direction",t.direction),t.cursor&&r.append("cursor",t.cursor),this.http.get(`/morambacrypto/companies/partner/${t.partner_id}?${r.toString()}`,{Authorization:`Bearer ${e}`})}updateCompanyPaymentMethod(e,t){return this.http.patch("/morambacrypto/update/company/payment",e,{Authorization:`Bearer ${t}`})}};var f=class{constructor(e){this.http=e}createMerchant(e,t){return this.http.post("/morambacrypto/create/merchant",e,{Authorization:`Bearer ${t}`})}updateMerchantPaymentMethod(e,t){return this.http.patch("/morambacrypto/update/merchant/payment",e,{Authorization:`Bearer ${t}`})}updateMerchantEmail(e,t){return this.http.patch("/morambacrypto/update/merchant/email",e,{Authorization:`Bearer ${t}`})}getMerchantList(e,t={}){let r=new URLSearchParams;return t.company_id&&r.append("company_id",String(t.company_id)),t.limit&&r.append("limit",String(t.limit)),t.cursor&&r.append("cursor",t.cursor),t.forward&&r.append("cursor",t.forward),t.backward&&r.append("cursor",t.backward),this.http.get(`/morambacrypto/merchants/all?${r.toString()}`,{Authorization:`Bearer ${e}`})}getSingleMerchant(e,t={}){let r=new URLSearchParams;return t.merchant_id&&r.append("merchant_id",String(t.merchant_id)),this.http.get(`/morambacrypto/merchants?${r.toString()}`,{Authorization:`Bearer ${e}`})}};var _=class{constructor(e){this.http=e}createUser(e,t){return this.http.post("/morambacrypto/create/user",e,{Authorization:`Bearer ${t}`})}updateUserPaymentMethod(e,t){return this.http.patch("/morambacrypto/update/user/payment",e,{Authorization:`Bearer ${t}`})}updateUserEmail(e,t){return this.http.patch("/morambacrypto/update/user/email",e,{Authorization:`Bearer ${t}`})}getUserList(e,t={}){let r=new URLSearchParams;return t.company_id&&r.append("company_id",String(t.company_id)),t.limit&&r.append("limit",String(t.limit)),t.cursor&&r.append("cursor",t.cursor),t.forward&&r.append("cursor",t.forward),t.backward&&r.append("cursor",t.backward),this.http.get(`/morambacrypto/users/all?${r.toString()}`,{Authorization:`Bearer ${e}`})}getSingleUser(e,t={}){let r=new URLSearchParams;return t.merchant_id&&r.append("merchant_id",String(t.merchant_id)),this.http.get(`/morambacrypto/users?${r.toString()}`,{Authorization:`Bearer ${e}`})}};var b=class{constructor(e){this.http=e}createPayoutDestinationUser(e,t){return this.http.post(`/morambacrypto/create/payout-destination/for/${e.user_type}`,e,{Authorization:`Bearer ${t}`})}getPayoutDestinationUser(e,t){return this.http.get(`/morambacrypto/payout-destination/for/${e.user_type}/details?payout_destination_id=${e.payout_destination_id}`,{Authorization:`Bearer ${t}`})}};var C=class{constructor(e){this.http=e}createPayinUser(e,t){return this.http.post(`/morambacrypto/create/payin/for/${e.user_type}`,e,{Authorization:`Bearer ${t}`})}getPayinUser(e,t){return this.http.get(`/morambacrypto/payin/for/${e.user_type}/details?payin_id=${e.payin_id}`,{Authorization:`Bearer ${t}`})}};var U=class{constructor(e){this.http=e}initPayment(e,t){return this.http.get(`/morambacrypto/payrequest/init/${e.payin_id}/nt/monad/address/${e.address}`,{Authorization:`Bearer ${t}`})}Pay(e,t){return this.http.post(`/morambacrypto/payrequest/pay/${e.payin_id}/nt/monad/tnxid/${e.transaction_id}/relay`,e,{Authorization:`Bearer ${t}`})}};var x=class{constructor(e){this.http=e}createPayoutDestinationMerchant(e,t){return this.http.post("/morambacrypto/create/payout-destination/merchant",e,{Authorization:`Bearer ${t}`})}getPayoutDestinationMerchant(e,t){return this.http.get(`/morambacrypto/payout-destination/merchant?payout_destination_id=${e.payout_destination_id}`,{Authorization:`Bearer ${t}`})}};var R=class{constructor(e){this.http=e}getPayoutDestination(e,t){return this.http.get(`/morambacrypto/payout-destination/check/both/by-id?payout_destination_id=${e.payout_destination_id}`,{Authorization:`Bearer ${t}`})}};var A=class{constructor(e){this.http=e}createPayinButton(e,t){return this.http.post("/morambacrypto/payin/create/button",e,{Authorization:`Bearer ${t}`})}};var w=class{constructor(e){this.http=e}createPayButton(e,t){return this.http.post("/morambacrypto/pay/create/button",e,{Authorization:`Bearer ${t}`})}activatePayButton(e,t){return this.http.post("/morambacrypto/paybutton/active",e,{Authorization:`Bearer ${t}`})}deactivatePayButton(e,t){return this.http.post("/morambacrypto/paybutton/deactivate",e,{Authorization:`Bearer ${t}`})}getPayButtonList(e,t={}){let r=new URLSearchParams;return t.limit&&r.append("limit",String(t.limit)),t.forward&&r.append("cursor",t.forward),t.backward&&r.append("cursor",t.backward),this.http.get(`/morambacrypto/paybutton/all?${r.toString()}`,{Authorization:`Bearer ${e}`})}};var B=class{constructor(e){this.http=e}createPayButton(e,t){return this.http.post("/morambacrypto/pay/create/button/wdcommission",e,{Authorization:`Bearer ${t}`})}activatePayButton(e,t){return this.http.post("/morambacrypto/paybutton/active",e,{Authorization:`Bearer ${t}`})}deactivatePayButton(e,t){return this.http.post("/morambacrypto/paybutton/deactivate",e,{Authorization:`Bearer ${t}`})}getPayButtonList(e,t={}){let r=new URLSearchParams;return t.limit&&r.append("limit",String(t.limit)),t.forward&&r.append("cursor",t.forward),t.backward&&r.append("cursor",t.backward),this.http.get(`/morambacrypto/paybutton/all?${r.toString()}`,{Authorization:`Bearer ${e}`})}};var $=class{constructor(e){this.http=new y(e.baseURL,{"Content-Type":"application/json"}),this.auth=new g(this.http,e.partnerId,e.apiKey),this.company=new P(this.http),this.merchant=new f(this.http),this.user=new _(this.http),this.payoutDestinationUser=new b(this.http),this.payinUser=new C(this.http),this.pay=new U(this.http),this.payoutDestinationMerchant=new x(this.http),this.payoutDestination=new R(this.http),this.payinButton=new A(this.http),this.payButton=new w(this.http),this.payButtonCommission=new B(this.http)}};var S=(a=>(a.CUSTOMER="customer",a.VENDOR="vendor",a.AI_AGENT="AI_agent",a.DEVICE="device",a.OTHER="other",a))(S||{});var T=(e=>(e.COMMISSION="Commission",e))(T||{}),z=(r=>(r.FIXED="Fixed",r.PERCENT_NO_CAP="PercentNoCap",r.PERCENT_MIN_MAX="PercentMinMax",r))(z||{});var s=require("ethers");var G={rpc:"https://testnet-rpc.monad.xyz",spender:"0x778501615Dfd26e42e58b233325ebE352f848F01",token:"0xACED7dA017780B15e85A72207bA4Eb38693DdAE4",decimals:6,defaultAmount:"1000"},L={rpc:"https://rpc.sepolia.org",spender:"0x6E2024Da220C081059f606D9EEAe670c84Ead9Ab",token:"0xbAcEa624831C5f294a5E7FeC519232AA37ec0a8C",decimals:6,defaultAmount:"1000"};async function X(o){let{privateKey:e,unlimited:t=!0,amount:r,decimalsOverride:n}=o,a=G,m=new s.ethers.JsonRpcProvider(a.rpc),c=new s.ethers.Wallet(e,m),D=["function approve(address spender, uint256 value) external returns (bool)"],M=new s.ethers.Contract(a.token,D,c),u=n!=null?n:a.decimals,d=r!=null?r:a.defaultAmount,v=t?s.ethers.MaxUint256:s.ethers.parseUnits(d,u);console.log("\u26A1 Monad approve()"),console.log("RPC:",a.rpc),console.log("Token:",a.token),console.log("Spender:",a.spender),console.log("Decimals:",u),console.log("Amount:",t?"UNLIMITED":d),console.log("From:",await c.getAddress());let i=await M.approve(a.spender,v);console.log("\u{1F4E4} TX:",i.hash);let h=await i.wait();return console.log("\u2705 Block:",h.blockNumber),{hash:i.hash,receipt:h}}var p=require("ethers");async function j(o){let{privateKey:e,unlimited:t=!0,amount:r,decimalsOverride:n}=o,a=L,m=new p.ethers.JsonRpcProvider(a.rpc),c=new p.ethers.Wallet(e,m),D=["function approve(address spender, uint256 value) external returns (bool)"],M=new p.ethers.Contract(a.token,D,c),u=n!=null?n:a.decimals,d=r!=null?r:a.defaultAmount,v=t?p.ethers.MaxUint256:p.ethers.parseUnits(d,u);console.log("\u26A1 Sepolia approve()"),console.log("RPC:",a.rpc),console.log("Token:",a.token),console.log("Spender:",a.spender),console.log("Decimals:",u),console.log("Amount:",t?"UNLIMITED":d),console.log("From:",await c.getAddress());let i=await M.approve(a.spender,v);console.log("\u{1F4E4} TX:",i.hash);let h=await i.wait();return console.log("\u2705 Block:",h.blockNumber),{hash:i.hash,receipt:h}}0&&(module.exports={CommissionCalcType,MorambaClient,PayinReceiverType,UserType,monadApprove,sepoliaApprove});
1
+ "use strict";var N=Object.create;var l=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var Q=Object.getPrototypeOf,J=Object.prototype.hasOwnProperty;var K=(o,e)=>{for(var t in e)l(o,t,{get:e[t],enumerable:!0})},I=(o,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of F(e))!J.call(o,n)&&n!==t&&l(o,n,{get:()=>e[n],enumerable:!(r=O(e,n))||r.enumerable});return o};var W=(o,e,t)=>(t=o!=null?N(Q(o)):{},I(e||!o||!o.__esModule?l(t,"default",{value:o,enumerable:!0}):t,o)),X=o=>I(l({},"__esModule",{value:!0}),o);var Y={};K(Y,{CommissionCalcType:()=>G,MorambaClient:()=>k,PayinReceiverType:()=>z,UserType:()=>T,monadApprove:()=>j,sepoliaApprove:()=>V});module.exports=X(Y);var E=W(require("axios")),y=class{constructor(e,t={},r=4,n=300){this.client=E.default.create({baseURL:e,headers:t,timeout:1e4}),this.maxRetries=r,this.retryDelay=n,this.setupRetryInterceptor()}get axiosInstance(){return this.client}setupRetryInterceptor(){this.client.interceptors.response.use(e=>e,async e=>{var a;let t=e.config;if(!t)throw e;let r=(a=e.response)==null?void 0:a.status;if(r!==void 0&&r<500||(t._retryCount||(t._retryCount=0),t._retryCount>=this.maxRetries))throw e;t._retryCount++;let n=this.retryDelay*Math.pow(2,t._retryCount);return await new Promise(m=>setTimeout(m,n)),this.client(t)})}post(e,t,r={}){return this.client.post(e,t,{headers:r}).then(n=>n.data)}patch(e,t,r={}){return this.client.patch(e,t,{headers:r}).then(n=>n.data)}get(e,t={}){return this.client.get(e,{headers:t}).then(r=>r.data)}};var S=require("ulid"),g=class{constructor(e,t,r){this.http=e;this.partnerId=t;this.apiKey=r}createJwtToken(e){let t={...e,partner_id:this.partnerId,api_key:this.apiKey};return this.http.post("/morambacrypto/create/jwt_token",t)}createJwtTokenForPublic(){let t={userid:`public_user_${(0,S.ulid)()}@morambacrypto.moramba.io`,partner_id:this.partnerId};return this.http.post("/morambacrypto/create/jwt_token",t)}};var P=class{constructor(e){this.http=e}createCompany(e,t){return this.http.post("/morambacrypto/create/company",e,{Authorization:`Bearer ${t}`})}updateCompanyEmail(e,t){return this.http.patch("/morambacrypto/update/company/email",e,{Authorization:`Bearer ${t}`})}getCompaniesByPartner(e,t){let r=new URLSearchParams;return t.limit&&r.append("limit",String(t.limit)),t.direction&&r.append("direction",t.direction),t.cursor&&r.append("cursor",t.cursor),this.http.get(`/morambacrypto/companies/partner/${t.partner_id}?${r.toString()}`,{Authorization:`Bearer ${e}`})}updateCompanyPaymentMethod(e,t){return this.http.patch("/morambacrypto/update/company/payment",e,{Authorization:`Bearer ${t}`})}};var f=class{constructor(e){this.http=e}createMerchant(e,t){return this.http.post("/morambacrypto/create/merchant",e,{Authorization:`Bearer ${t}`})}updateMerchantPaymentMethod(e,t){return this.http.patch("/morambacrypto/update/merchant/payment",e,{Authorization:`Bearer ${t}`})}updateMerchantEmail(e,t){return this.http.patch("/morambacrypto/update/merchant/email",e,{Authorization:`Bearer ${t}`})}getMerchantList(e,t={}){let r=new URLSearchParams;return t.company_id&&r.append("company_id",String(t.company_id)),t.limit&&r.append("limit",String(t.limit)),t.cursor&&r.append("cursor",t.cursor),t.forward&&r.append("cursor",t.forward),t.backward&&r.append("cursor",t.backward),this.http.get(`/morambacrypto/merchants/all?${r.toString()}`,{Authorization:`Bearer ${e}`})}getSingleMerchant(e,t={}){let r=new URLSearchParams;return t.merchant_id&&r.append("merchant_id",String(t.merchant_id)),this.http.get(`/morambacrypto/merchants?${r.toString()}`,{Authorization:`Bearer ${e}`})}};var _=class{constructor(e){this.http=e}createUser(e,t){return this.http.post("/morambacrypto/create/user",e,{Authorization:`Bearer ${t}`})}updateUserPaymentMethod(e,t){return this.http.patch("/morambacrypto/update/user/payment",e,{Authorization:`Bearer ${t}`})}updateUserEmail(e,t){return this.http.patch("/morambacrypto/update/user/email",e,{Authorization:`Bearer ${t}`})}getUserList(e,t={}){let r=new URLSearchParams;return t.company_id&&r.append("company_id",String(t.company_id)),t.limit&&r.append("limit",String(t.limit)),t.cursor&&r.append("cursor",t.cursor),t.forward&&r.append("cursor",t.forward),t.backward&&r.append("cursor",t.backward),this.http.get(`/morambacrypto/users/all?${r.toString()}`,{Authorization:`Bearer ${e}`})}getSingleUser(e,t={}){let r=new URLSearchParams;return t.merchant_id&&r.append("merchant_id",String(t.merchant_id)),this.http.get(`/morambacrypto/users?${r.toString()}`,{Authorization:`Bearer ${e}`})}};var b=class{constructor(e){this.http=e}createPayoutDestinationUser(e,t){return this.http.post(`/morambacrypto/create/payout-destination/for/${e.user_type}`,e,{Authorization:`Bearer ${t}`})}getPayoutDestinationUser(e,t){return this.http.get(`/morambacrypto/payout-destination/for/${e.user_type}/details?payout_destination_id=${e.payout_destination_id}`,{Authorization:`Bearer ${t}`})}};var C=class{constructor(e){this.http=e}createPayinUser(e,t){return this.http.post(`/morambacrypto/create/payin/for/${e.user_type}`,e,{Authorization:`Bearer ${t}`})}getPayinUser(e,t){return this.http.get(`/morambacrypto/payin/for/${e.user_type}/details?payin_id=${e.payin_id}`,{Authorization:`Bearer ${t}`})}};var U=class{constructor(e){this.http=e}initPayment(e,t){return this.http.get(`/morambacrypto/payrequest/init/${e.payin_id}/nt/monad/address/${e.address}`,{Authorization:`Bearer ${t}`})}Pay(e,t){return this.http.post(`/morambacrypto/payrequest/pay/${e.payin_id}/nt/monad/tnxid/${e.transaction_id}/relay`,e,{Authorization:`Bearer ${t}`})}};var x=class{constructor(e){this.http=e}createPayoutDestinationMerchant(e,t){return this.http.post("/morambacrypto/create/payout-destination/merchant",e,{Authorization:`Bearer ${t}`})}getPayoutDestinationMerchant(e,t){return this.http.get(`/morambacrypto/payout-destination/merchant?payout_destination_id=${e.payout_destination_id}`,{Authorization:`Bearer ${t}`})}};var R=class{constructor(e){this.http=e}getPayoutDestination(e,t){return this.http.get(`/morambacrypto/payout-destination/check/both/by-id?payout_destination_id=${e.payout_destination_id}`,{Authorization:`Bearer ${t}`})}};var A=class{constructor(e){this.http=e}createPayinButton(e,t){return this.http.post("/morambacrypto/payin/create/button",e,{Authorization:`Bearer ${t}`})}};var w=class{constructor(e){this.http=e}createPayButton(e,t){return this.http.post("/morambacrypto/pay/create/button",e,{Authorization:`Bearer ${t}`})}activatePayButton(e,t){return this.http.post("/morambacrypto/paybutton/active",e,{Authorization:`Bearer ${t}`})}deactivatePayButton(e,t){return this.http.post("/morambacrypto/paybutton/deactivate",e,{Authorization:`Bearer ${t}`})}getPayButtonList(e,t={}){let r=new URLSearchParams;return t.limit&&r.append("limit",String(t.limit)),t.forward&&r.append("cursor",t.forward),t.backward&&r.append("cursor",t.backward),this.http.get(`/morambacrypto/paybutton/all?${r.toString()}`,{Authorization:`Bearer ${e}`})}};var B=class{constructor(e){this.http=e}createPayButton(e,t){return this.http.post("/morambacrypto/pay/create/button/wdcommission",e,{Authorization:`Bearer ${t}`})}activatePayButton(e,t){return this.http.post("/morambacrypto/paybutton/active",e,{Authorization:`Bearer ${t}`})}deactivatePayButton(e,t){return this.http.post("/morambacrypto/paybutton/deactivate",e,{Authorization:`Bearer ${t}`})}getPayButtonList(e,t={}){let r=new URLSearchParams;return t.limit&&r.append("limit",String(t.limit)),t.forward&&r.append("cursor",t.forward),t.backward&&r.append("cursor",t.backward),this.http.get(`/morambacrypto/paybutton/all?${r.toString()}`,{Authorization:`Bearer ${e}`})}};var D=class{constructor(e){this.http=e}getTokenDetails(e,t){return this.http.get(`/morambacrypto/public/token/support/${e.token_details_id}`,{Authorization:`Bearer ${t}`})}};var k=class{constructor(e){this.http=new y(e.baseURL,{"Content-Type":"application/json"}),this.auth=new g(this.http,e.partnerId,e.apiKey),this.company=new P(this.http),this.merchant=new f(this.http),this.user=new _(this.http),this.payoutDestinationUser=new b(this.http),this.payinUser=new C(this.http),this.pay=new U(this.http),this.payoutDestinationMerchant=new x(this.http),this.payoutDestination=new R(this.http),this.payinButton=new A(this.http),this.payButton=new w(this.http),this.payButtonCommission=new B(this.http),this.tokenSupport=new D(this.http)}};var T=(a=>(a.CUSTOMER="customer",a.VENDOR="vendor",a.AI_AGENT="AI_agent",a.DEVICE="device",a.OTHER="other",a))(T||{});var z=(e=>(e.COMMISSION="Commission",e))(z||{}),G=(r=>(r.FIXED="Fixed",r.PERCENT_NO_CAP="PercentNoCap",r.PERCENT_MIN_MAX="PercentMinMax",r))(G||{});var s=require("ethers");var L={rpc:"https://testnet-rpc.monad.xyz",spender:"0x778501615Dfd26e42e58b233325ebE352f848F01",token:"0xACED7dA017780B15e85A72207bA4Eb38693DdAE4",decimals:6,defaultAmount:"1000"},H={rpc:"https://rpc.sepolia.org",spender:"0x6E2024Da220C081059f606D9EEAe670c84Ead9Ab",token:"0xbAcEa624831C5f294a5E7FeC519232AA37ec0a8C",decimals:6,defaultAmount:"1000"};async function j(o){let{privateKey:e,unlimited:t=!0,amount:r,decimalsOverride:n}=o,a=L,m=new s.ethers.JsonRpcProvider(a.rpc),c=new s.ethers.Wallet(e,m),M=["function approve(address spender, uint256 value) external returns (bool)"],v=new s.ethers.Contract(a.token,M,c),u=n!=null?n:a.decimals,d=r!=null?r:a.defaultAmount,$=t?s.ethers.MaxUint256:s.ethers.parseUnits(d,u);console.log("\u26A1 Monad approve()"),console.log("RPC:",a.rpc),console.log("Token:",a.token),console.log("Spender:",a.spender),console.log("Decimals:",u),console.log("Amount:",t?"UNLIMITED":d),console.log("From:",await c.getAddress());let i=await v.approve(a.spender,$);console.log("\u{1F4E4} TX:",i.hash);let h=await i.wait();return console.log("\u2705 Block:",h.blockNumber),{hash:i.hash,receipt:h}}var p=require("ethers");async function V(o){let{privateKey:e,unlimited:t=!0,amount:r,decimalsOverride:n}=o,a=H,m=new p.ethers.JsonRpcProvider(a.rpc),c=new p.ethers.Wallet(e,m),M=["function approve(address spender, uint256 value) external returns (bool)"],v=new p.ethers.Contract(a.token,M,c),u=n!=null?n:a.decimals,d=r!=null?r:a.defaultAmount,$=t?p.ethers.MaxUint256:p.ethers.parseUnits(d,u);console.log("\u26A1 Sepolia approve()"),console.log("RPC:",a.rpc),console.log("Token:",a.token),console.log("Spender:",a.spender),console.log("Decimals:",u),console.log("Amount:",t?"UNLIMITED":d),console.log("From:",await c.getAddress());let i=await v.approve(a.spender,$);console.log("\u{1F4E4} TX:",i.hash);let h=await i.wait();return console.log("\u2705 Block:",h.blockNumber),{hash:i.hash,receipt:h}}0&&(module.exports={CommissionCalcType,MorambaClient,PayinReceiverType,UserType,monadApprove,sepoliaApprove});
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/client/HttpClient.ts","../src/apis/auth.api.ts","../src/apis/company.api.ts","../src/apis/merchant.api.ts","../src/apis/user.api.ts","../src/apis/payout_destination_user.api.ts","../src/apis/payin_user.api.ts","../src/apis/pay.api.ts","../src/apis/payout_destination_merchant.api.ts","../src/apis/payout_destination.api.ts","../src/apis/payin_button.api.ts","../src/apis/pay_button.api.ts","../src/apis/pay_button_commission.api.ts","../src/MorambaClient.ts","../src/types/user.types.ts","../src/types/pay_button_commission.ts","../src/authorize/monad.approve.ts","../src/utils/networks.ts","../src/authorize/sepolia.approve.ts"],"sourcesContent":["export * from \"./MorambaClient\";\nexport * from \"./types\";\nexport * from \"./authorize\";\n","import axios, { AxiosInstance, AxiosError } from \"axios\";\n\nexport class HttpClient {\n private client: AxiosInstance;\n private maxRetries: number;\n private retryDelay: number; // base delay in milliseconds\n\n constructor(\n baseURL: string,\n headers: Record<string, string> = {},\n maxRetries = 4, // default: 4 retries\n retryDelay = 300 // base delay: 300ms\n ) {\n this.client = axios.create({\n baseURL,\n headers,\n timeout: 10000,\n });\n\n this.maxRetries = maxRetries;\n this.retryDelay = retryDelay;\n\n this.setupRetryInterceptor();\n }\n\n get axiosInstance(): AxiosInstance {\n return this.client;\n }\n\n private setupRetryInterceptor() {\n this.client.interceptors.response.use(\n response => response,\n async (error: AxiosError) => {\n const config: any = error.config;\n\n if (!config) throw error;\n const status = error.response?.status;\n\n // ✅ Do NOT retry on 400 Bad Request\n\n if (status !== undefined && status < 500) {\n throw error; // Do NOT retry on 4xx (including 429)\n }\n\n // initialize retry counter\n if (!config._retryCount) config._retryCount = 0;\n\n // stop retry if max reached\n if (config._retryCount >= this.maxRetries) {\n throw error;\n }\n\n config._retryCount++;\n\n // exponential delay: delay * 2^(retryCount)\n const delay =\n this.retryDelay * Math.pow(2, config._retryCount);\n\n await new Promise(resolve => setTimeout(resolve, delay));\n\n return this.client(config);\n }\n );\n }\n post<T = any>(url: string, data: any, extraHeaders: Record<string, string> = {}): Promise<T> {\n return this.client\n .post<T>(url, data, { headers: extraHeaders })\n .then((res) => res.data);\n }\n patch<T = any>(\n url: string,\n data: any,\n extraHeaders: Record<string, string> = {}\n ): Promise<T> {\n return this.client\n .patch<T>(url, data, { headers: extraHeaders })\n .then((res) => res.data);\n }\n get<T = any>(url: string, extraHeaders: Record<string, string> = {}): Promise<T> {\n return this.client\n .get<T>(url, { headers: extraHeaders })\n .then((res) => res.data);\n }\n}\n","import { HttpClient } from \"../client/HttpClient\";\nimport {\n CreateJwtPayload,\n CreateJwtResponse,\n} from \"../types/auth.types\";\nimport { ulid } from \"ulid\";\n\nexport class AuthAPI {\n constructor(\n private http: HttpClient,\n private partnerId: string,\n private apiKey: string\n\n ) { }\n\n createJwtToken(payload: CreateJwtPayload): Promise<CreateJwtResponse> {\n let fullPayload = {\n ...payload,\n partner_id: this.partnerId,\n api_key: this.apiKey,\n };\n\n\n\n return this.http.post(\"/morambacrypto/create/jwt_token\", fullPayload);\n }\n\n createJwtTokenForPublic(): Promise<CreateJwtResponse> {\n let userid = `public_user_${ulid()}@morambacrypto.moramba.io`;\n let fullPayload = {\n userid: userid,\n partner_id: this.partnerId,\n };\n return this.http.post(\"/morambacrypto/create/jwt_token\", fullPayload);\n }\n}\n","import { HttpClient } from \"../client/HttpClient\";\nimport {\n CreateCompanyPayload,\n CreateCompanyResponse,\n UpdateCompanyEmailPayload,\n UpdateCompanyEmailResponse,\n GetCompaniesQuery,\n GetCompaniesResponse,\n UpdateCompanyPaymentPayload,\n UpdateCompanyPaymentResponse,\n} from \"../types/company.types\";\n\nexport class CompanyAPI {\n constructor(\n private http: HttpClient\n ) { }\n\n createCompany(payload: CreateCompanyPayload, jwtToken: string): Promise<CreateCompanyResponse> {\n\n return this.http.post(\n \"/morambacrypto/create/company\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateCompanyEmail(\n payload: UpdateCompanyEmailPayload,\n jwtToken: string\n ): Promise<UpdateCompanyEmailResponse> {\n return this.http.patch(\n \"/morambacrypto/update/company/email\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getCompaniesByPartner(\n jwtToken: string,\n query: GetCompaniesQuery\n ): Promise<GetCompaniesResponse> {\n const params = new URLSearchParams();\n\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.direction) params.append(\"direction\", query.direction);\n if (query.cursor) params.append(\"cursor\", query.cursor);\n\n return this.http.get(\n `/morambacrypto/companies/partner/${query.partner_id}?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateCompanyPaymentMethod(\n payload: UpdateCompanyPaymentPayload,\n jwtToken: string\n ): Promise<UpdateCompanyPaymentResponse> {\n return this.http.patch(\n \"/morambacrypto/update/company/payment\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreateMerchantPayload, CreateMerchantResponse, GetMerchantListResponse, GetMerchantQuery, GetMerchantResponse, MerchantListQuery, UpdateMerchantEmailPayload, UpdateMerchantEmailResponse, UpdateMerchantPaymentPayload, UpdateMerchantPaymentResponse } from \"../types/merchant.types\";\n\nexport class MerchantAPI {\n constructor(\n private http: HttpClient\n ) { }\n createMerchant(payload: CreateMerchantPayload, jwtToken: string): Promise<CreateMerchantResponse> {\n\n\n return this.http.post(\n \"/morambacrypto/create/merchant\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateMerchantPaymentMethod(\n payload: UpdateMerchantPaymentPayload,\n jwtToken: string\n ): Promise<UpdateMerchantPaymentResponse> {\n\n\n return this.http.patch(\n \"/morambacrypto/update/merchant/payment\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateMerchantEmail(\n payload: UpdateMerchantEmailPayload,\n jwtToken: string\n ): Promise<UpdateMerchantEmailResponse> {\n\n\n return this.http.patch(\n \"/morambacrypto/update/merchant/email\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n\n getMerchantList(\n jwtToken: string,\n query: MerchantListQuery = {}\n ): Promise<GetMerchantListResponse> {\n const params = new URLSearchParams();\n if (query.company_id) params.append(\"company_id\", String(query.company_id));\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.cursor) params.append(\"cursor\", query.cursor);\n if (query.forward) params.append(\"cursor\", query.forward);\n if (query.backward) params.append(\"cursor\", query.backward);\n\n\n return this.http.get(\n `/morambacrypto/merchants/all?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getSingleMerchant(\n jwtToken: string,\n query: GetMerchantQuery = {}\n ): Promise<GetMerchantResponse> {\n const params = new URLSearchParams();\n if (query.merchant_id) params.append(\"merchant_id\", String(query.merchant_id));\n\n\n return this.http.get(\n `/morambacrypto/merchants?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n}","import { HttpClient } from \"../client\";\nimport { CreateUserPayload, CreateUserResponse, GetUserListResponse, GetUserQuery, GetUserResponse, UpdateUserEmailPayload, UpdateUserEmailResponse, UpdateUserPaymentPayload, UpdateUserPaymentResponse, UserListQuery } from \"../types/user.types\";\n\nexport class UserAPI {\n constructor(\n private http: HttpClient\n ) { }\n createUser(payload: CreateUserPayload, jwtToken: string): Promise<CreateUserResponse> {\n\n\n return this.http.post(\n \"/morambacrypto/create/user\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateUserPaymentMethod(\n payload: UpdateUserPaymentPayload,\n jwtToken: string\n ): Promise<UpdateUserPaymentResponse> {\n\n\n return this.http.patch(\n \"/morambacrypto/update/user/payment\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateUserEmail(\n payload: UpdateUserEmailPayload,\n jwtToken: string\n ): Promise<UpdateUserEmailResponse> {\n\n\n return this.http.patch(\n \"/morambacrypto/update/user/email\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n\n getUserList(\n jwtToken: string,\n query: UserListQuery = {}\n ): Promise<GetUserListResponse> {\n const params = new URLSearchParams();\n if (query.company_id) params.append(\"company_id\", String(query.company_id));\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.cursor) params.append(\"cursor\", query.cursor);\n if (query.forward) params.append(\"cursor\", query.forward);\n if (query.backward) params.append(\"cursor\", query.backward);\n\n\n return this.http.get(\n `/morambacrypto/users/all?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getSingleUser(\n jwtToken: string,\n query: GetUserQuery = {}\n ): Promise<GetUserResponse> {\n const params = new URLSearchParams();\n if (query.merchant_id) params.append(\"merchant_id\", String(query.merchant_id));\n\n\n return this.http.get(\n `/morambacrypto/users?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n}","import { HttpClient } from \"../client\";\nimport { CreatePayoutDestinationUser, GetAPayoutDestinationUser, PayoutDestinationUserResponse } from \"../types/payout_destination_user.types\";\nimport { UserType } from \"../types/user.types\";\nexport class PayoutDestinationUserAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayoutDestinationUser(payload: CreatePayoutDestinationUser, jwtToken: string): Promise<PayoutDestinationUserResponse> {\n\n\n return this.http.post(\n `/morambacrypto/create/payout-destination/for/${payload.user_type as UserType}`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayoutDestinationUser(payload: GetAPayoutDestinationUser, jwtToken: string): Promise<PayoutDestinationUserResponse> {\n return this.http.get(\n `/morambacrypto/payout-destination/for/${payload.user_type as UserType}/details?payout_destination_id=${payload.payout_destination_id}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayinUser, GetPayinUser, PayinUserResponse } from \"../types/payin_user.types\";\nimport { UserType } from \"../types/user.types\";\nexport class PayinUserAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayinUser(payload: CreatePayinUser, jwtToken: string): Promise<PayinUserResponse> {\n\n\n return this.http.post(\n `/morambacrypto/create/payin/for/${payload.user_type as UserType}`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayinUser(payload: GetPayinUser, jwtToken: string): Promise<PayinUserResponse> {\n return this.http.get(\n `/morambacrypto/payin/for/${payload.user_type as UserType}/details?payin_id=${payload.payin_id}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { InitTransaction, PayTransaction, TransactionInitResponse, TransactionPayResponse } from \"../types\";\nexport class PayAPI {\n constructor(\n private http: HttpClient\n ) { }\n\n initPayment(payload: InitTransaction, jwtToken: string): Promise<TransactionInitResponse> {\n return this.http.get(\n `/morambacrypto/payrequest/init/${payload.payin_id}/nt/monad/address/${payload.address}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n Pay(payload: PayTransaction, jwtToken: string): Promise<TransactionPayResponse> {\n return this.http.post(\n `/morambacrypto/payrequest/pay/${payload.payin_id}/nt/monad/tnxid/${payload.transaction_id}/relay`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayoutDestinationMerchant, GetAPayoutDestinationMerchant, PayoutDestinationMerchantResponse } from \"../types/payout_destination_merchant.types\";\n\nexport class PayoutDestinationMerchantAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayoutDestinationMerchant(payload: CreatePayoutDestinationMerchant, jwtToken: string): Promise<PayoutDestinationMerchantResponse> {\n\n\n return this.http.post(\n `/morambacrypto/create/payout-destination/merchant`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayoutDestinationMerchant(payload: GetAPayoutDestinationMerchant, jwtToken: string): Promise<PayoutDestinationMerchantResponse> {\n return this.http.get(\n `/morambacrypto/payout-destination/merchant?payout_destination_id=${payload.payout_destination_id}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { FindPayoutDestination, PayoutDestinationResponse } from \"../types/payout_destination.types\";\n\nexport class PayoutDestinationAPI {\n constructor(\n private http: HttpClient\n ) { }\n\n getPayoutDestination(payload: FindPayoutDestination, jwtToken: string): Promise<PayoutDestinationResponse> {\n return this.http.get(\n `/morambacrypto/payout-destination/check/both/by-id?payout_destination_id=${payload.payout_destination_id}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayinButtonRequestDto } from \"../types/payin_button.types\";\nimport { PayinUserResponse } from \"../types/payin_user.types\";\nexport class PayinButtonAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayinButton(payload: CreatePayinButtonRequestDto, jwtToken: string): Promise<PayinUserResponse> {\n\n return this.http.post(\n `/morambacrypto/payin/create/button`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayButtonRequestDto, CursorQuery, PayButtonResponse, UpdatePayButtonStatusDto } from \"../types/pay-button.types\";\nexport class PayButtonAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayButton(payload: CreatePayButtonRequestDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/pay/create/button`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n activatePayButton(payload: UpdatePayButtonStatusDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/paybutton/active`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n deactivatePayButton(payload: UpdatePayButtonStatusDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/paybutton/deactivate`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayButtonList(\n jwtToken: string,\n query: CursorQuery = {}\n ): Promise<PayButtonResponse> {\n const params = new URLSearchParams();\n\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.forward) params.append(\"cursor\", query.forward);\n if (query.backward) params.append(\"cursor\", query.backward);\n\n\n return this.http.get(\n `/morambacrypto/paybutton/all?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayButtonWdCommissionRequestDto, PayButtonDistributionsResDto } from \"../types\";\nimport { CursorQuery, PayButtonResponse, UpdatePayButtonStatusDto } from \"../types/pay-button.types\";\nexport class PayButtonCommissionAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayButton(payload: CreatePayButtonWdCommissionRequestDto, jwtToken: string): Promise<PayButtonDistributionsResDto> {\n\n return this.http.post(\n `/morambacrypto/pay/create/button/wdcommission`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n activatePayButton(payload: UpdatePayButtonStatusDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/paybutton/active`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n deactivatePayButton(payload: UpdatePayButtonStatusDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/paybutton/deactivate`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayButtonList(\n jwtToken: string,\n query: CursorQuery = {}\n ): Promise<PayButtonResponse> {\n const params = new URLSearchParams();\n\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.forward) params.append(\"cursor\", query.forward);\n if (query.backward) params.append(\"cursor\", query.backward);\n\n\n return this.http.get(\n `/morambacrypto/paybutton/all?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"./client/HttpClient\";\nimport { AuthAPI } from \"./apis/auth.api\";\nimport { CompanyAPI } from \"./apis/company.api\";\nimport { MerchantAPI } from \"./apis/merchant.api\";\nimport { UserAPI } from \"./apis/user.api\";\nimport { PayAPI, PayButtonAPI, PayButtonCommissionAPI, PayinButtonAPI, PayinUserAPI, PayoutDestinationAPI, PayoutDestinationUserAPI } from \"./apis\";\nimport { PayoutDestinationMerchantAPI } from \"./apis/payout_destination_merchant.api\";\n\nexport interface MorambaClientConfig {\n baseURL: string;\n apiKey: string;\n partnerId: string;\n}\n\nexport class MorambaClient {\n public auth: AuthAPI;\n private http: HttpClient;\n public company: CompanyAPI;\n public merchant: MerchantAPI;\n public user: UserAPI;\n public payoutDestinationUser: PayoutDestinationUserAPI;\n public payinUser: PayinUserAPI;\n public pay: PayAPI;\n public payoutDestinationMerchant: PayoutDestinationMerchantAPI;\n public payoutDestination: PayoutDestinationAPI;\n public payinButton: PayinButtonAPI;\n public payButton: PayButtonAPI;\n public payButtonCommission: PayButtonCommissionAPI;\n\n\n constructor(config: MorambaClientConfig) {\n this.http = new HttpClient(config.baseURL, {\n \"Content-Type\": \"application/json\",\n });\n\n this.auth = new AuthAPI(this.http, config.partnerId, config.apiKey);\n this.company = new CompanyAPI(this.http);\n this.merchant = new MerchantAPI(this.http);\n this.user = new UserAPI(this.http);\n this.payoutDestinationUser = new PayoutDestinationUserAPI(this.http);\n this.payinUser = new PayinUserAPI(this.http);\n this.pay = new PayAPI(this.http);\n this.payoutDestinationMerchant = new PayoutDestinationMerchantAPI(this.http);\n this.payoutDestination = new PayoutDestinationAPI(this.http);\n this.payinButton = new PayinButtonAPI(this.http);\n this.payButton = new PayButtonAPI(this.http);\n this.payButtonCommission = new PayButtonCommissionAPI(this.http);\n }\n}\n","import { PaymentMethod } from \"./payment_method.types\";\n\nexport enum UserType {\n CUSTOMER = \"customer\",\n VENDOR = \"vendor\",\n AI_AGENT = \"AI_agent\",\n DEVICE = \"device\",\n OTHER = \"other\",\n}\nexport interface CreateUserPayload {\n payment_method: PaymentMethod;\n user_name: string;\n user_email: string;\n user_type: UserType;\n company_id: string;\n merchant_id: string;\n}\n\nexport interface UserData {\n id: string;\n merchant_id: string;\n user_name: string;\n user_email: string;\n company_id: string;\n partner_id: string;\n user_type: string;\n payment_network: string;\n payment_token_name: string;\n payment_token_address: string;\n created_at: string;\n updated_at: string;\n}\n\nexport interface CreateUserResponse {\n success: boolean;\n message: string;\n data: UserData | null;\n}\n\nexport interface UpdateUserPaymentPayload {\n company_id: string;\n merchant_id: string;\n user_id: string;\n payment_method: PaymentMethod;\n}\nexport interface UpdateUserPaymentResponse {\n success: boolean;\n message: string;\n data: UserData | null;\n}\n\n\nexport interface UpdateUserEmailPayload {\n company_id: string;\n merchant_id: string;\n user_id: string;\n email: string;\n}\n\nexport interface UpdateUserEmailResponse {\n success: boolean;\n message: string;\n data: UserData | null;\n}\n\n\nexport interface UserListQuery {\n company_id?: string;\n limit?: number;\n cursor?: string;\n forward?: string;\n backward?: string;\n}\n\nexport interface UserListData {\n id: string;\n company_id: string;\n merchant_id: string;\n user_name: string;\n user_email: string;\n partner_id: string;\n payment_network: string;\n payment_token_name: string;\n payment_token_address: string;\n created_at: string;\n updated_at: string;\n\n}\nexport interface GetUserListResponse {\n forward_cursor: string;\n backward_cursor: string;\n has_forward: boolean;\n has_backward: boolean;\n data: UserListData | null;\n}\n\nexport interface GetUserQuery {\n merchant_id?: string;\n}\n\nexport interface GetUserResponse {\n success: boolean;\n message: string;\n data: UserData | null;\n}","import { PaymentMethod } from \"./payment_method.types\";\n\nexport interface CreatePayButtonWdCommissionRequestDto {\n name: string;\n email: string;\n\n payment_method: PaymentMethod;\n\n to_wallet_address: string;\n\n amount?: string;\n fixed_amount: boolean;\n\n payment_description: string;\n\n bill_date: number;\n\n multi_use: boolean;\n max_uses?: number;\n expires_at?: number;\n\n is_public: boolean;\n is_active: boolean;\n\n button_label?: string;\n button_color?: string;\n logo_url?: string;\n redirect_url?: string;\n cancel_url?: string;\n\n metadata?: Record<string, any>;\n\n from_wallet_address?: string;\n\n client_payment_id: string;\n client_txn_id?: string;\n\n environment: string;\n\n commission_list: CreateCommissionUserDto[];\n}\n\nexport interface CreateCommissionUserDto {\n receiver_type: PayinReceiverType; // seller | commission\n\n payout_destination_id?: string;\n\n to_address: string;\n\n calc_type: CommissionCalcType;\n\n fixed_amount?: string;\n percent_rate?: string;\n min_amount?: string;\n max_amount?: string;\n\n commission_label?: string;\n level?: number;\n\n is_active?: boolean;\n}\nexport enum PayinReceiverType {\n COMMISSION = \"Commission\",\n}\n\nexport enum CommissionCalcType {\n FIXED = \"Fixed\",\n PERCENT_NO_CAP = \"PercentNoCap\",\n PERCENT_MIN_MAX = \"PercentMinMax\",\n}\n\nexport interface PayButtonDistributionsResDto {\n button_id: string,\n inserted_rows: number,\n}\n\n","\nimport { ethers } from \"ethers\";\nimport { MONAD_CONFIG } from \"../utils/networks\";\n\nexport interface MonadApproveOptions {\n privateKey: string;\n unlimited?: boolean; // default: true\n amount?: string; // user-specified amount when limited\n decimalsOverride?: number; // optional override\n}\n\nexport async function monadApprove(options: MonadApproveOptions) {\n const {\n privateKey,\n unlimited = true,\n amount,\n decimalsOverride,\n } = options;\n\n const cfg = MONAD_CONFIG;\n\n const provider = new ethers.JsonRpcProvider(cfg.rpc);\n const wallet = new ethers.Wallet(privateKey, provider);\n\n const abi = [\n \"function approve(address spender, uint256 value) external returns (bool)\"\n ];\n\n const contract = new ethers.Contract(cfg.token, abi, wallet);\n\n const decimals = decimalsOverride ?? cfg.decimals;\n const humanAmount = amount ?? cfg.defaultAmount;\n\n const value = unlimited\n ? ethers.MaxUint256\n : ethers.parseUnits(humanAmount, decimals);\n\n console.log(\"⚡ Monad approve()\");\n console.log(\"RPC:\", cfg.rpc);\n console.log(\"Token:\", cfg.token);\n console.log(\"Spender:\", cfg.spender);\n console.log(\"Decimals:\", decimals);\n console.log(\"Amount:\", unlimited ? \"UNLIMITED\" : humanAmount);\n console.log(\"From:\", await wallet.getAddress());\n\n const tx = await contract.approve(cfg.spender, value);\n console.log(\"📤 TX:\", tx.hash);\n\n const receipt = await tx.wait();\n console.log(\"✅ Block:\", receipt.blockNumber);\n\n return { hash: tx.hash, receipt };\n}\n","\nexport interface TokenNetworkConfig {\n rpc: string;\n spender: string;\n token: string;\n decimals: number;\n defaultAmount: string;\n}\n\n// ▶️ MORAMBA Token (Monad)\nexport const MONAD_CONFIG: TokenNetworkConfig = {\n rpc: \"https://testnet-rpc.monad.xyz\",\n spender: \"0x778501615Dfd26e42e58b233325ebE352f848F01\",\n token: \"0xACED7dA017780B15e85A72207bA4Eb38693DdAE4\",\n decimals: 6,\n defaultAmount: \"1000\",\n};\n\n// ▶️ Sepolia \nexport const SEPOLIA_CONFIG: TokenNetworkConfig = {\n rpc: \"https://rpc.sepolia.org\",\n spender: \"0x6E2024Da220C081059f606D9EEAe670c84Ead9Ab\",\n token: \"0xbAcEa624831C5f294a5E7FeC519232AA37ec0a8C\",\n decimals: 6,\n defaultAmount: \"1000\",\n};\n","import { ethers } from \"ethers\";\nimport { SEPOLIA_CONFIG } from \"../utils/networks\";\n\nexport interface SepoliaApproveOptions {\n privateKey: string;\n unlimited?: boolean;\n amount?: string;\n decimalsOverride?: number;\n}\n\nexport async function sepoliaApprove(options: SepoliaApproveOptions) {\n const {\n privateKey,\n unlimited = true,\n amount,\n decimalsOverride,\n } = options;\n\n const cfg = SEPOLIA_CONFIG;\n\n const provider = new ethers.JsonRpcProvider(cfg.rpc);\n const wallet = new ethers.Wallet(privateKey, provider);\n\n const abi = [\n \"function approve(address spender, uint256 value) external returns (bool)\"\n ];\n\n const contract = new ethers.Contract(cfg.token, abi, wallet);\n\n const decimals = decimalsOverride ?? cfg.decimals;\n const humanAmount = amount ?? cfg.defaultAmount;\n\n const value = unlimited\n ? ethers.MaxUint256\n : ethers.parseUnits(humanAmount, decimals);\n\n console.log(\"⚡ Sepolia approve()\");\n console.log(\"RPC:\", cfg.rpc);\n console.log(\"Token:\", cfg.token);\n console.log(\"Spender:\", cfg.spender);\n console.log(\"Decimals:\", decimals);\n console.log(\"Amount:\", unlimited ? \"UNLIMITED\" : humanAmount);\n console.log(\"From:\", await wallet.getAddress());\n\n const tx = await contract.approve(cfg.spender, value);\n console.log(\"📤 TX:\", tx.hash);\n\n const receipt = await tx.wait();\n console.log(\"✅ Block:\", receipt.blockNumber);\n\n return { hash: tx.hash, receipt };\n}\n"],"mappings":"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","names":["index_exports","__export","CommissionCalcType","MorambaClient","PayinReceiverType","UserType","monadApprove","sepoliaApprove","__toCommonJS","import_axios","HttpClient","baseURL","headers","maxRetries","retryDelay","axios","response","error","_a","config","status","delay","resolve","url","data","extraHeaders","res","import_ulid","AuthAPI","http","partnerId","apiKey","payload","fullPayload","CompanyAPI","http","payload","jwtToken","query","params","MerchantAPI","http","payload","jwtToken","query","params","UserAPI","http","payload","jwtToken","query","params","PayoutDestinationUserAPI","http","payload","jwtToken","PayinUserAPI","http","payload","jwtToken","PayAPI","http","payload","jwtToken","PayoutDestinationMerchantAPI","http","payload","jwtToken","PayoutDestinationAPI","http","payload","jwtToken","PayinButtonAPI","http","payload","jwtToken","PayButtonAPI","http","payload","jwtToken","query","params","PayButtonCommissionAPI","http","payload","jwtToken","query","params","MorambaClient","config","HttpClient","AuthAPI","CompanyAPI","MerchantAPI","UserAPI","PayoutDestinationUserAPI","PayinUserAPI","PayAPI","PayoutDestinationMerchantAPI","PayoutDestinationAPI","PayinButtonAPI","PayButtonAPI","PayButtonCommissionAPI","UserType","PayinReceiverType","CommissionCalcType","import_ethers","MONAD_CONFIG","SEPOLIA_CONFIG","monadApprove","options","privateKey","unlimited","amount","decimalsOverride","cfg","MONAD_CONFIG","provider","wallet","abi","contract","decimals","humanAmount","value","tx","receipt","import_ethers","sepoliaApprove","options","privateKey","unlimited","amount","decimalsOverride","cfg","SEPOLIA_CONFIG","provider","wallet","abi","contract","decimals","humanAmount","value","tx","receipt"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/client/HttpClient.ts","../src/apis/auth.api.ts","../src/apis/company.api.ts","../src/apis/merchant.api.ts","../src/apis/user.api.ts","../src/apis/payout_destination_user.api.ts","../src/apis/payin_user.api.ts","../src/apis/pay.api.ts","../src/apis/payout_destination_merchant.api.ts","../src/apis/payout_destination.api.ts","../src/apis/payin_button.api.ts","../src/apis/pay_button.api.ts","../src/apis/pay_button_commission.api.ts","../src/apis/token_supports.api.ts","../src/MorambaClient.ts","../src/types/user.types.ts","../src/types/pay_button_commission.ts","../src/authorize/monad.approve.ts","../src/utils/networks.ts","../src/authorize/sepolia.approve.ts"],"sourcesContent":["export * from \"./MorambaClient\";\nexport * from \"./types\";\nexport * from \"./authorize\";\n","import axios, { AxiosInstance, AxiosError } from \"axios\";\n\nexport class HttpClient {\n private client: AxiosInstance;\n private maxRetries: number;\n private retryDelay: number; // base delay in milliseconds\n\n constructor(\n baseURL: string,\n headers: Record<string, string> = {},\n maxRetries = 4, // default: 4 retries\n retryDelay = 300 // base delay: 300ms\n ) {\n this.client = axios.create({\n baseURL,\n headers,\n timeout: 10000,\n });\n\n this.maxRetries = maxRetries;\n this.retryDelay = retryDelay;\n\n this.setupRetryInterceptor();\n }\n\n get axiosInstance(): AxiosInstance {\n return this.client;\n }\n\n private setupRetryInterceptor() {\n this.client.interceptors.response.use(\n response => response,\n async (error: AxiosError) => {\n const config: any = error.config;\n\n if (!config) throw error;\n const status = error.response?.status;\n\n // ✅ Do NOT retry on 400 Bad Request\n\n if (status !== undefined && status < 500) {\n throw error; // Do NOT retry on 4xx (including 429)\n }\n\n // initialize retry counter\n if (!config._retryCount) config._retryCount = 0;\n\n // stop retry if max reached\n if (config._retryCount >= this.maxRetries) {\n throw error;\n }\n\n config._retryCount++;\n\n // exponential delay: delay * 2^(retryCount)\n const delay =\n this.retryDelay * Math.pow(2, config._retryCount);\n\n await new Promise(resolve => setTimeout(resolve, delay));\n\n return this.client(config);\n }\n );\n }\n post<T = any>(url: string, data: any, extraHeaders: Record<string, string> = {}): Promise<T> {\n return this.client\n .post<T>(url, data, { headers: extraHeaders })\n .then((res) => res.data);\n }\n patch<T = any>(\n url: string,\n data: any,\n extraHeaders: Record<string, string> = {}\n ): Promise<T> {\n return this.client\n .patch<T>(url, data, { headers: extraHeaders })\n .then((res) => res.data);\n }\n get<T = any>(url: string, extraHeaders: Record<string, string> = {}): Promise<T> {\n return this.client\n .get<T>(url, { headers: extraHeaders })\n .then((res) => res.data);\n }\n}\n","import { HttpClient } from \"../client/HttpClient\";\nimport {\n CreateJwtPayload,\n CreateJwtResponse,\n} from \"../types/auth.types\";\nimport { ulid } from \"ulid\";\n\nexport class AuthAPI {\n constructor(\n private http: HttpClient,\n private partnerId: string,\n private apiKey: string\n\n ) { }\n\n createJwtToken(payload: CreateJwtPayload): Promise<CreateJwtResponse> {\n let fullPayload = {\n ...payload,\n partner_id: this.partnerId,\n api_key: this.apiKey,\n };\n\n\n\n return this.http.post(\"/morambacrypto/create/jwt_token\", fullPayload);\n }\n\n createJwtTokenForPublic(): Promise<CreateJwtResponse> {\n let userid = `public_user_${ulid()}@morambacrypto.moramba.io`;\n let fullPayload = {\n userid: userid,\n partner_id: this.partnerId,\n };\n return this.http.post(\"/morambacrypto/create/jwt_token\", fullPayload);\n }\n}\n","import { HttpClient } from \"../client/HttpClient\";\nimport {\n CreateCompanyPayload,\n CreateCompanyResponse,\n UpdateCompanyEmailPayload,\n UpdateCompanyEmailResponse,\n GetCompaniesQuery,\n GetCompaniesResponse,\n UpdateCompanyPaymentPayload,\n UpdateCompanyPaymentResponse,\n} from \"../types/company.types\";\n\nexport class CompanyAPI {\n constructor(\n private http: HttpClient\n ) { }\n\n createCompany(payload: CreateCompanyPayload, jwtToken: string): Promise<CreateCompanyResponse> {\n\n return this.http.post(\n \"/morambacrypto/create/company\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateCompanyEmail(\n payload: UpdateCompanyEmailPayload,\n jwtToken: string\n ): Promise<UpdateCompanyEmailResponse> {\n return this.http.patch(\n \"/morambacrypto/update/company/email\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getCompaniesByPartner(\n jwtToken: string,\n query: GetCompaniesQuery\n ): Promise<GetCompaniesResponse> {\n const params = new URLSearchParams();\n\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.direction) params.append(\"direction\", query.direction);\n if (query.cursor) params.append(\"cursor\", query.cursor);\n\n return this.http.get(\n `/morambacrypto/companies/partner/${query.partner_id}?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateCompanyPaymentMethod(\n payload: UpdateCompanyPaymentPayload,\n jwtToken: string\n ): Promise<UpdateCompanyPaymentResponse> {\n return this.http.patch(\n \"/morambacrypto/update/company/payment\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreateMerchantPayload, CreateMerchantResponse, GetMerchantListResponse, GetMerchantQuery, GetMerchantResponse, MerchantListQuery, UpdateMerchantEmailPayload, UpdateMerchantEmailResponse, UpdateMerchantPaymentPayload, UpdateMerchantPaymentResponse } from \"../types/merchant.types\";\n\nexport class MerchantAPI {\n constructor(\n private http: HttpClient\n ) { }\n createMerchant(payload: CreateMerchantPayload, jwtToken: string): Promise<CreateMerchantResponse> {\n\n\n return this.http.post(\n \"/morambacrypto/create/merchant\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateMerchantPaymentMethod(\n payload: UpdateMerchantPaymentPayload,\n jwtToken: string\n ): Promise<UpdateMerchantPaymentResponse> {\n\n\n return this.http.patch(\n \"/morambacrypto/update/merchant/payment\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateMerchantEmail(\n payload: UpdateMerchantEmailPayload,\n jwtToken: string\n ): Promise<UpdateMerchantEmailResponse> {\n\n\n return this.http.patch(\n \"/morambacrypto/update/merchant/email\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n\n getMerchantList(\n jwtToken: string,\n query: MerchantListQuery = {}\n ): Promise<GetMerchantListResponse> {\n const params = new URLSearchParams();\n if (query.company_id) params.append(\"company_id\", String(query.company_id));\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.cursor) params.append(\"cursor\", query.cursor);\n if (query.forward) params.append(\"cursor\", query.forward);\n if (query.backward) params.append(\"cursor\", query.backward);\n\n\n return this.http.get(\n `/morambacrypto/merchants/all?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getSingleMerchant(\n jwtToken: string,\n query: GetMerchantQuery = {}\n ): Promise<GetMerchantResponse> {\n const params = new URLSearchParams();\n if (query.merchant_id) params.append(\"merchant_id\", String(query.merchant_id));\n\n\n return this.http.get(\n `/morambacrypto/merchants?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n}","import { HttpClient } from \"../client\";\nimport { CreateUserPayload, CreateUserResponse, GetUserListResponse, GetUserQuery, GetUserResponse, UpdateUserEmailPayload, UpdateUserEmailResponse, UpdateUserPaymentPayload, UpdateUserPaymentResponse, UserListQuery } from \"../types/user.types\";\n\nexport class UserAPI {\n constructor(\n private http: HttpClient\n ) { }\n createUser(payload: CreateUserPayload, jwtToken: string): Promise<CreateUserResponse> {\n\n\n return this.http.post(\n \"/morambacrypto/create/user\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateUserPaymentMethod(\n payload: UpdateUserPaymentPayload,\n jwtToken: string\n ): Promise<UpdateUserPaymentResponse> {\n\n\n return this.http.patch(\n \"/morambacrypto/update/user/payment\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateUserEmail(\n payload: UpdateUserEmailPayload,\n jwtToken: string\n ): Promise<UpdateUserEmailResponse> {\n\n\n return this.http.patch(\n \"/morambacrypto/update/user/email\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n\n getUserList(\n jwtToken: string,\n query: UserListQuery = {}\n ): Promise<GetUserListResponse> {\n const params = new URLSearchParams();\n if (query.company_id) params.append(\"company_id\", String(query.company_id));\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.cursor) params.append(\"cursor\", query.cursor);\n if (query.forward) params.append(\"cursor\", query.forward);\n if (query.backward) params.append(\"cursor\", query.backward);\n\n\n return this.http.get(\n `/morambacrypto/users/all?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getSingleUser(\n jwtToken: string,\n query: GetUserQuery = {}\n ): Promise<GetUserResponse> {\n const params = new URLSearchParams();\n if (query.merchant_id) params.append(\"merchant_id\", String(query.merchant_id));\n\n\n return this.http.get(\n `/morambacrypto/users?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n}","import { HttpClient } from \"../client\";\nimport { CreatePayoutDestinationUser, GetAPayoutDestinationUser, PayoutDestinationUserResponse } from \"../types/payout_destination_user.types\";\nimport { UserType } from \"../types/user.types\";\nexport class PayoutDestinationUserAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayoutDestinationUser(payload: CreatePayoutDestinationUser, jwtToken: string): Promise<PayoutDestinationUserResponse> {\n\n\n return this.http.post(\n `/morambacrypto/create/payout-destination/for/${payload.user_type as UserType}`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayoutDestinationUser(payload: GetAPayoutDestinationUser, jwtToken: string): Promise<PayoutDestinationUserResponse> {\n return this.http.get(\n `/morambacrypto/payout-destination/for/${payload.user_type as UserType}/details?payout_destination_id=${payload.payout_destination_id}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayinUser, GetPayinUser, PayinUserResponse } from \"../types/payin_user.types\";\nimport { UserType } from \"../types/user.types\";\nexport class PayinUserAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayinUser(payload: CreatePayinUser, jwtToken: string): Promise<PayinUserResponse> {\n\n\n return this.http.post(\n `/morambacrypto/create/payin/for/${payload.user_type as UserType}`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayinUser(payload: GetPayinUser, jwtToken: string): Promise<PayinUserResponse> {\n return this.http.get(\n `/morambacrypto/payin/for/${payload.user_type as UserType}/details?payin_id=${payload.payin_id}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { InitTransaction, PayTransaction, TransactionInitResponse, TransactionPayResponse } from \"../types\";\nexport class PayAPI {\n constructor(\n private http: HttpClient\n ) { }\n\n initPayment(payload: InitTransaction, jwtToken: string): Promise<TransactionInitResponse> {\n return this.http.get(\n `/morambacrypto/payrequest/init/${payload.payin_id}/nt/monad/address/${payload.address}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n Pay(payload: PayTransaction, jwtToken: string): Promise<TransactionPayResponse> {\n return this.http.post(\n `/morambacrypto/payrequest/pay/${payload.payin_id}/nt/monad/tnxid/${payload.transaction_id}/relay`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayoutDestinationMerchant, GetAPayoutDestinationMerchant, PayoutDestinationMerchantResponse } from \"../types/payout_destination_merchant.types\";\n\nexport class PayoutDestinationMerchantAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayoutDestinationMerchant(payload: CreatePayoutDestinationMerchant, jwtToken: string): Promise<PayoutDestinationMerchantResponse> {\n\n\n return this.http.post(\n `/morambacrypto/create/payout-destination/merchant`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayoutDestinationMerchant(payload: GetAPayoutDestinationMerchant, jwtToken: string): Promise<PayoutDestinationMerchantResponse> {\n return this.http.get(\n `/morambacrypto/payout-destination/merchant?payout_destination_id=${payload.payout_destination_id}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { FindPayoutDestination, PayoutDestinationResponse } from \"../types/payout_destination.types\";\n\nexport class PayoutDestinationAPI {\n constructor(\n private http: HttpClient\n ) { }\n\n getPayoutDestination(payload: FindPayoutDestination, jwtToken: string): Promise<PayoutDestinationResponse> {\n return this.http.get(\n `/morambacrypto/payout-destination/check/both/by-id?payout_destination_id=${payload.payout_destination_id}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayinButtonRequestDto } from \"../types/payin_button.types\";\nimport { PayinUserResponse } from \"../types/payin_user.types\";\nexport class PayinButtonAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayinButton(payload: CreatePayinButtonRequestDto, jwtToken: string): Promise<PayinUserResponse> {\n\n return this.http.post(\n `/morambacrypto/payin/create/button`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayButtonRequestDto, CursorQuery, PayButtonResponse, UpdatePayButtonStatusDto } from \"../types/pay-button.types\";\nexport class PayButtonAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayButton(payload: CreatePayButtonRequestDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/pay/create/button`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n activatePayButton(payload: UpdatePayButtonStatusDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/paybutton/active`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n deactivatePayButton(payload: UpdatePayButtonStatusDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/paybutton/deactivate`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayButtonList(\n jwtToken: string,\n query: CursorQuery = {}\n ): Promise<PayButtonResponse> {\n const params = new URLSearchParams();\n\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.forward) params.append(\"cursor\", query.forward);\n if (query.backward) params.append(\"cursor\", query.backward);\n\n\n return this.http.get(\n `/morambacrypto/paybutton/all?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayButtonWdCommissionRequestDto, PayButtonDistributionsResDto } from \"../types\";\nimport { CursorQuery, PayButtonResponse, UpdatePayButtonStatusDto } from \"../types/pay-button.types\";\nexport class PayButtonCommissionAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayButton(payload: CreatePayButtonWdCommissionRequestDto, jwtToken: string): Promise<PayButtonDistributionsResDto> {\n\n return this.http.post(\n `/morambacrypto/pay/create/button/wdcommission`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n activatePayButton(payload: UpdatePayButtonStatusDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/paybutton/active`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n deactivatePayButton(payload: UpdatePayButtonStatusDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/paybutton/deactivate`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayButtonList(\n jwtToken: string,\n query: CursorQuery = {}\n ): Promise<PayButtonResponse> {\n const params = new URLSearchParams();\n\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.forward) params.append(\"cursor\", query.forward);\n if (query.backward) params.append(\"cursor\", query.backward);\n\n\n return this.http.get(\n `/morambacrypto/paybutton/all?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { FindTokenDetails, TokenFetchResponse } from \"../types/token_details.types\";\n\nexport class TokenSupportAPI {\n constructor(\n private http: HttpClient\n ) { }\n\n getTokenDetails(payload: FindTokenDetails, jwtToken: string): Promise<TokenFetchResponse> {\n return this.http.get(\n `/morambacrypto/public/token/support/${payload.token_details_id}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"./client/HttpClient\";\nimport { AuthAPI } from \"./apis/auth.api\";\nimport { CompanyAPI } from \"./apis/company.api\";\nimport { MerchantAPI } from \"./apis/merchant.api\";\nimport { UserAPI } from \"./apis/user.api\";\nimport { PayAPI, PayButtonAPI, PayButtonCommissionAPI, PayinButtonAPI, PayinUserAPI, PayoutDestinationAPI, PayoutDestinationUserAPI, TokenSupportAPI } from \"./apis\";\nimport { PayoutDestinationMerchantAPI } from \"./apis/payout_destination_merchant.api\";\n\nexport interface MorambaClientConfig {\n baseURL: string;\n apiKey: string;\n partnerId: string;\n}\n\nexport class MorambaClient {\n public auth: AuthAPI;\n private http: HttpClient;\n public company: CompanyAPI;\n public merchant: MerchantAPI;\n public user: UserAPI;\n public payoutDestinationUser: PayoutDestinationUserAPI;\n public payinUser: PayinUserAPI;\n public pay: PayAPI;\n public payoutDestinationMerchant: PayoutDestinationMerchantAPI;\n public payoutDestination: PayoutDestinationAPI;\n public payinButton: PayinButtonAPI;\n public payButton: PayButtonAPI;\n public payButtonCommission: PayButtonCommissionAPI;\n public tokenSupport: TokenSupportAPI;\n\n\n constructor(config: MorambaClientConfig) {\n this.http = new HttpClient(config.baseURL, {\n \"Content-Type\": \"application/json\",\n });\n\n this.auth = new AuthAPI(this.http, config.partnerId, config.apiKey);\n this.company = new CompanyAPI(this.http);\n this.merchant = new MerchantAPI(this.http);\n this.user = new UserAPI(this.http);\n this.payoutDestinationUser = new PayoutDestinationUserAPI(this.http);\n this.payinUser = new PayinUserAPI(this.http);\n this.pay = new PayAPI(this.http);\n this.payoutDestinationMerchant = new PayoutDestinationMerchantAPI(this.http);\n this.payoutDestination = new PayoutDestinationAPI(this.http);\n this.payinButton = new PayinButtonAPI(this.http);\n this.payButton = new PayButtonAPI(this.http);\n this.payButtonCommission = new PayButtonCommissionAPI(this.http);\n this.tokenSupport = new TokenSupportAPI(this.http);\n }\n}\n","import { PaymentMethod } from \"./payment_method.types\";\n\nexport enum UserType {\n CUSTOMER = \"customer\",\n VENDOR = \"vendor\",\n AI_AGENT = \"AI_agent\",\n DEVICE = \"device\",\n OTHER = \"other\",\n}\nexport interface CreateUserPayload {\n payment_method: PaymentMethod;\n user_name: string;\n user_email: string;\n user_type: UserType;\n company_id: string;\n merchant_id: string;\n}\n\nexport interface UserData {\n id: string;\n merchant_id: string;\n user_name: string;\n user_email: string;\n company_id: string;\n partner_id: string;\n user_type: string;\n payment_network: string;\n payment_token_name: string;\n payment_token_address: string;\n created_at: string;\n updated_at: string;\n}\n\nexport interface CreateUserResponse {\n success: boolean;\n message: string;\n data: UserData | null;\n}\n\nexport interface UpdateUserPaymentPayload {\n company_id: string;\n merchant_id: string;\n user_id: string;\n payment_method: PaymentMethod;\n}\nexport interface UpdateUserPaymentResponse {\n success: boolean;\n message: string;\n data: UserData | null;\n}\n\n\nexport interface UpdateUserEmailPayload {\n company_id: string;\n merchant_id: string;\n user_id: string;\n email: string;\n}\n\nexport interface UpdateUserEmailResponse {\n success: boolean;\n message: string;\n data: UserData | null;\n}\n\n\nexport interface UserListQuery {\n company_id?: string;\n limit?: number;\n cursor?: string;\n forward?: string;\n backward?: string;\n}\n\nexport interface UserListData {\n id: string;\n company_id: string;\n merchant_id: string;\n user_name: string;\n user_email: string;\n partner_id: string;\n payment_network: string;\n payment_token_name: string;\n payment_token_address: string;\n created_at: string;\n updated_at: string;\n\n}\nexport interface GetUserListResponse {\n forward_cursor: string;\n backward_cursor: string;\n has_forward: boolean;\n has_backward: boolean;\n data: UserListData | null;\n}\n\nexport interface GetUserQuery {\n merchant_id?: string;\n}\n\nexport interface GetUserResponse {\n success: boolean;\n message: string;\n data: UserData | null;\n}","import { PaymentMethod } from \"./payment_method.types\";\n\nexport interface CreatePayButtonWdCommissionRequestDto {\n name: string;\n email: string;\n\n payment_method: PaymentMethod;\n\n to_wallet_address: string;\n\n amount?: string;\n fixed_amount: boolean;\n\n payment_description: string;\n\n bill_date: number;\n\n multi_use: boolean;\n max_uses?: number;\n expires_at?: number;\n\n is_public: boolean;\n is_active: boolean;\n\n button_label?: string;\n button_color?: string;\n logo_url?: string;\n redirect_url?: string;\n cancel_url?: string;\n\n metadata?: Record<string, any>;\n\n from_wallet_address?: string;\n\n client_payment_id: string;\n client_txn_id?: string;\n\n environment: string;\n\n commission_list: CreateCommissionUserDto[];\n}\n\nexport interface CreateCommissionUserDto {\n receiver_type: PayinReceiverType; // seller | commission\n\n payout_destination_id?: string;\n\n to_address: string;\n\n calc_type: CommissionCalcType;\n\n fixed_amount?: string;\n percent_rate?: string;\n min_amount?: string;\n max_amount?: string;\n\n commission_label?: string;\n level?: number;\n\n is_active?: boolean;\n}\nexport enum PayinReceiverType {\n COMMISSION = \"Commission\",\n}\n\nexport enum CommissionCalcType {\n FIXED = \"Fixed\",\n PERCENT_NO_CAP = \"PercentNoCap\",\n PERCENT_MIN_MAX = \"PercentMinMax\",\n}\n\nexport interface PayButtonDistributionsResDto {\n button_id: string,\n inserted_rows: number,\n}\n\n","\nimport { ethers } from \"ethers\";\nimport { MONAD_CONFIG } from \"../utils/networks\";\n\nexport interface MonadApproveOptions {\n privateKey: string;\n unlimited?: boolean; // default: true\n amount?: string; // user-specified amount when limited\n decimalsOverride?: number; // optional override\n}\n\nexport async function monadApprove(options: MonadApproveOptions) {\n const {\n privateKey,\n unlimited = true,\n amount,\n decimalsOverride,\n } = options;\n\n const cfg = MONAD_CONFIG;\n\n const provider = new ethers.JsonRpcProvider(cfg.rpc);\n const wallet = new ethers.Wallet(privateKey, provider);\n\n const abi = [\n \"function approve(address spender, uint256 value) external returns (bool)\"\n ];\n\n const contract = new ethers.Contract(cfg.token, abi, wallet);\n\n const decimals = decimalsOverride ?? cfg.decimals;\n const humanAmount = amount ?? cfg.defaultAmount;\n\n const value = unlimited\n ? ethers.MaxUint256\n : ethers.parseUnits(humanAmount, decimals);\n\n console.log(\"⚡ Monad approve()\");\n console.log(\"RPC:\", cfg.rpc);\n console.log(\"Token:\", cfg.token);\n console.log(\"Spender:\", cfg.spender);\n console.log(\"Decimals:\", decimals);\n console.log(\"Amount:\", unlimited ? \"UNLIMITED\" : humanAmount);\n console.log(\"From:\", await wallet.getAddress());\n\n const tx = await contract.approve(cfg.spender, value);\n console.log(\"📤 TX:\", tx.hash);\n\n const receipt = await tx.wait();\n console.log(\"✅ Block:\", receipt.blockNumber);\n\n return { hash: tx.hash, receipt };\n}\n","\nexport interface TokenNetworkConfig {\n rpc: string;\n spender: string;\n token: string;\n decimals: number;\n defaultAmount: string;\n}\n\n// ▶️ MORAMBA Token (Monad)\nexport const MONAD_CONFIG: TokenNetworkConfig = {\n rpc: \"https://testnet-rpc.monad.xyz\",\n spender: \"0x778501615Dfd26e42e58b233325ebE352f848F01\",\n token: \"0xACED7dA017780B15e85A72207bA4Eb38693DdAE4\",\n decimals: 6,\n defaultAmount: \"1000\",\n};\n\n// ▶️ Sepolia \nexport const SEPOLIA_CONFIG: TokenNetworkConfig = {\n rpc: \"https://rpc.sepolia.org\",\n spender: \"0x6E2024Da220C081059f606D9EEAe670c84Ead9Ab\",\n token: \"0xbAcEa624831C5f294a5E7FeC519232AA37ec0a8C\",\n decimals: 6,\n defaultAmount: \"1000\",\n};\n","import { ethers } from \"ethers\";\nimport { SEPOLIA_CONFIG } from \"../utils/networks\";\n\nexport interface SepoliaApproveOptions {\n privateKey: string;\n unlimited?: boolean;\n amount?: string;\n decimalsOverride?: number;\n}\n\nexport async function sepoliaApprove(options: SepoliaApproveOptions) {\n const {\n privateKey,\n unlimited = true,\n amount,\n decimalsOverride,\n } = options;\n\n const cfg = SEPOLIA_CONFIG;\n\n const provider = new ethers.JsonRpcProvider(cfg.rpc);\n const wallet = new ethers.Wallet(privateKey, provider);\n\n const abi = [\n \"function approve(address spender, uint256 value) external returns (bool)\"\n ];\n\n const contract = new ethers.Contract(cfg.token, abi, wallet);\n\n const decimals = decimalsOverride ?? cfg.decimals;\n const humanAmount = amount ?? cfg.defaultAmount;\n\n const value = unlimited\n ? ethers.MaxUint256\n : ethers.parseUnits(humanAmount, decimals);\n\n console.log(\"⚡ Sepolia approve()\");\n console.log(\"RPC:\", cfg.rpc);\n console.log(\"Token:\", cfg.token);\n console.log(\"Spender:\", cfg.spender);\n console.log(\"Decimals:\", decimals);\n console.log(\"Amount:\", unlimited ? \"UNLIMITED\" : humanAmount);\n console.log(\"From:\", await wallet.getAddress());\n\n const tx = await contract.approve(cfg.spender, value);\n console.log(\"📤 TX:\", tx.hash);\n\n const receipt = await tx.wait();\n console.log(\"✅ Block:\", receipt.blockNumber);\n\n return { hash: tx.hash, receipt };\n}\n"],"mappings":"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","names":["index_exports","__export","CommissionCalcType","MorambaClient","PayinReceiverType","UserType","monadApprove","sepoliaApprove","__toCommonJS","import_axios","HttpClient","baseURL","headers","maxRetries","retryDelay","axios","response","error","_a","config","status","delay","resolve","url","data","extraHeaders","res","import_ulid","AuthAPI","http","partnerId","apiKey","payload","fullPayload","CompanyAPI","http","payload","jwtToken","query","params","MerchantAPI","http","payload","jwtToken","query","params","UserAPI","http","payload","jwtToken","query","params","PayoutDestinationUserAPI","http","payload","jwtToken","PayinUserAPI","http","payload","jwtToken","PayAPI","http","payload","jwtToken","PayoutDestinationMerchantAPI","http","payload","jwtToken","PayoutDestinationAPI","http","payload","jwtToken","PayinButtonAPI","http","payload","jwtToken","PayButtonAPI","http","payload","jwtToken","query","params","PayButtonCommissionAPI","http","payload","jwtToken","query","params","TokenSupportAPI","http","payload","jwtToken","MorambaClient","config","HttpClient","AuthAPI","CompanyAPI","MerchantAPI","UserAPI","PayoutDestinationUserAPI","PayinUserAPI","PayAPI","PayoutDestinationMerchantAPI","PayoutDestinationAPI","PayinButtonAPI","PayButtonAPI","PayButtonCommissionAPI","TokenSupportAPI","UserType","PayinReceiverType","CommissionCalcType","import_ethers","MONAD_CONFIG","SEPOLIA_CONFIG","monadApprove","options","privateKey","unlimited","amount","decimalsOverride","cfg","MONAD_CONFIG","provider","wallet","abi","contract","decimals","humanAmount","value","tx","receipt","import_ethers","sepoliaApprove","options","privateKey","unlimited","amount","decimalsOverride","cfg","SEPOLIA_CONFIG","provider","wallet","abi","contract","decimals","humanAmount","value","tx","receipt"]}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import E from"axios";var l=class{constructor(e,t={},r=4,n=300){this.client=E.create({baseURL:e,headers:t,timeout:1e4}),this.maxRetries=r,this.retryDelay=n,this.setupRetryInterceptor()}get axiosInstance(){return this.client}setupRetryInterceptor(){this.client.interceptors.response.use(e=>e,async e=>{var o;let t=e.config;if(!t)throw e;let r=(o=e.response)==null?void 0:o.status;if(r!==void 0&&r<500||(t._retryCount||(t._retryCount=0),t._retryCount>=this.maxRetries))throw e;t._retryCount++;let n=this.retryDelay*Math.pow(2,t._retryCount);return await new Promise(s=>setTimeout(s,n)),this.client(t)})}post(e,t,r={}){return this.client.post(e,t,{headers:r}).then(n=>n.data)}patch(e,t,r={}){return this.client.patch(e,t,{headers:r}).then(n=>n.data)}get(e,t={}){return this.client.get(e,{headers:t}).then(r=>r.data)}};import{ulid as I}from"ulid";var y=class{constructor(e,t,r){this.http=e;this.partnerId=t;this.apiKey=r}createJwtToken(e){let t={...e,partner_id:this.partnerId,api_key:this.apiKey};return this.http.post("/morambacrypto/create/jwt_token",t)}createJwtTokenForPublic(){let t={userid:`public_user_${I()}@morambacrypto.moramba.io`,partner_id:this.partnerId};return this.http.post("/morambacrypto/create/jwt_token",t)}};var g=class{constructor(e){this.http=e}createCompany(e,t){return this.http.post("/morambacrypto/create/company",e,{Authorization:`Bearer ${t}`})}updateCompanyEmail(e,t){return this.http.patch("/morambacrypto/update/company/email",e,{Authorization:`Bearer ${t}`})}getCompaniesByPartner(e,t){let r=new URLSearchParams;return t.limit&&r.append("limit",String(t.limit)),t.direction&&r.append("direction",t.direction),t.cursor&&r.append("cursor",t.cursor),this.http.get(`/morambacrypto/companies/partner/${t.partner_id}?${r.toString()}`,{Authorization:`Bearer ${e}`})}updateCompanyPaymentMethod(e,t){return this.http.patch("/morambacrypto/update/company/payment",e,{Authorization:`Bearer ${t}`})}};var P=class{constructor(e){this.http=e}createMerchant(e,t){return this.http.post("/morambacrypto/create/merchant",e,{Authorization:`Bearer ${t}`})}updateMerchantPaymentMethod(e,t){return this.http.patch("/morambacrypto/update/merchant/payment",e,{Authorization:`Bearer ${t}`})}updateMerchantEmail(e,t){return this.http.patch("/morambacrypto/update/merchant/email",e,{Authorization:`Bearer ${t}`})}getMerchantList(e,t={}){let r=new URLSearchParams;return t.company_id&&r.append("company_id",String(t.company_id)),t.limit&&r.append("limit",String(t.limit)),t.cursor&&r.append("cursor",t.cursor),t.forward&&r.append("cursor",t.forward),t.backward&&r.append("cursor",t.backward),this.http.get(`/morambacrypto/merchants/all?${r.toString()}`,{Authorization:`Bearer ${e}`})}getSingleMerchant(e,t={}){let r=new URLSearchParams;return t.merchant_id&&r.append("merchant_id",String(t.merchant_id)),this.http.get(`/morambacrypto/merchants?${r.toString()}`,{Authorization:`Bearer ${e}`})}};var f=class{constructor(e){this.http=e}createUser(e,t){return this.http.post("/morambacrypto/create/user",e,{Authorization:`Bearer ${t}`})}updateUserPaymentMethod(e,t){return this.http.patch("/morambacrypto/update/user/payment",e,{Authorization:`Bearer ${t}`})}updateUserEmail(e,t){return this.http.patch("/morambacrypto/update/user/email",e,{Authorization:`Bearer ${t}`})}getUserList(e,t={}){let r=new URLSearchParams;return t.company_id&&r.append("company_id",String(t.company_id)),t.limit&&r.append("limit",String(t.limit)),t.cursor&&r.append("cursor",t.cursor),t.forward&&r.append("cursor",t.forward),t.backward&&r.append("cursor",t.backward),this.http.get(`/morambacrypto/users/all?${r.toString()}`,{Authorization:`Bearer ${e}`})}getSingleUser(e,t={}){let r=new URLSearchParams;return t.merchant_id&&r.append("merchant_id",String(t.merchant_id)),this.http.get(`/morambacrypto/users?${r.toString()}`,{Authorization:`Bearer ${e}`})}};var _=class{constructor(e){this.http=e}createPayoutDestinationUser(e,t){return this.http.post(`/morambacrypto/create/payout-destination/for/${e.user_type}`,e,{Authorization:`Bearer ${t}`})}getPayoutDestinationUser(e,t){return this.http.get(`/morambacrypto/payout-destination/for/${e.user_type}/details?payout_destination_id=${e.payout_destination_id}`,{Authorization:`Bearer ${t}`})}};var b=class{constructor(e){this.http=e}createPayinUser(e,t){return this.http.post(`/morambacrypto/create/payin/for/${e.user_type}`,e,{Authorization:`Bearer ${t}`})}getPayinUser(e,t){return this.http.get(`/morambacrypto/payin/for/${e.user_type}/details?payin_id=${e.payin_id}`,{Authorization:`Bearer ${t}`})}};var C=class{constructor(e){this.http=e}initPayment(e,t){return this.http.get(`/morambacrypto/payrequest/init/${e.payin_id}/nt/monad/address/${e.address}`,{Authorization:`Bearer ${t}`})}Pay(e,t){return this.http.post(`/morambacrypto/payrequest/pay/${e.payin_id}/nt/monad/tnxid/${e.transaction_id}/relay`,e,{Authorization:`Bearer ${t}`})}};var U=class{constructor(e){this.http=e}createPayoutDestinationMerchant(e,t){return this.http.post("/morambacrypto/create/payout-destination/merchant",e,{Authorization:`Bearer ${t}`})}getPayoutDestinationMerchant(e,t){return this.http.get(`/morambacrypto/payout-destination/merchant?payout_destination_id=${e.payout_destination_id}`,{Authorization:`Bearer ${t}`})}};var x=class{constructor(e){this.http=e}getPayoutDestination(e,t){return this.http.get(`/morambacrypto/payout-destination/check/both/by-id?payout_destination_id=${e.payout_destination_id}`,{Authorization:`Bearer ${t}`})}};var R=class{constructor(e){this.http=e}createPayinButton(e,t){return this.http.post("/morambacrypto/payin/create/button",e,{Authorization:`Bearer ${t}`})}};var A=class{constructor(e){this.http=e}createPayButton(e,t){return this.http.post("/morambacrypto/pay/create/button",e,{Authorization:`Bearer ${t}`})}activatePayButton(e,t){return this.http.post("/morambacrypto/paybutton/active",e,{Authorization:`Bearer ${t}`})}deactivatePayButton(e,t){return this.http.post("/morambacrypto/paybutton/deactivate",e,{Authorization:`Bearer ${t}`})}getPayButtonList(e,t={}){let r=new URLSearchParams;return t.limit&&r.append("limit",String(t.limit)),t.forward&&r.append("cursor",t.forward),t.backward&&r.append("cursor",t.backward),this.http.get(`/morambacrypto/paybutton/all?${r.toString()}`,{Authorization:`Bearer ${e}`})}};var w=class{constructor(e){this.http=e}createPayButton(e,t){return this.http.post("/morambacrypto/pay/create/button/wdcommission",e,{Authorization:`Bearer ${t}`})}activatePayButton(e,t){return this.http.post("/morambacrypto/paybutton/active",e,{Authorization:`Bearer ${t}`})}deactivatePayButton(e,t){return this.http.post("/morambacrypto/paybutton/deactivate",e,{Authorization:`Bearer ${t}`})}getPayButtonList(e,t={}){let r=new URLSearchParams;return t.limit&&r.append("limit",String(t.limit)),t.forward&&r.append("cursor",t.forward),t.backward&&r.append("cursor",t.backward),this.http.get(`/morambacrypto/paybutton/all?${r.toString()}`,{Authorization:`Bearer ${e}`})}};var v=class{constructor(e){this.http=new l(e.baseURL,{"Content-Type":"application/json"}),this.auth=new y(this.http,e.partnerId,e.apiKey),this.company=new g(this.http),this.merchant=new P(this.http),this.user=new f(this.http),this.payoutDestinationUser=new _(this.http),this.payinUser=new b(this.http),this.pay=new C(this.http),this.payoutDestinationMerchant=new U(this.http),this.payoutDestination=new x(this.http),this.payinButton=new R(this.http),this.payButton=new A(this.http),this.payButtonCommission=new w(this.http)}};var S=(o=>(o.CUSTOMER="customer",o.VENDOR="vendor",o.AI_AGENT="AI_agent",o.DEVICE="device",o.OTHER="other",o))(S||{});var T=(e=>(e.COMMISSION="Commission",e))(T||{}),z=(r=>(r.FIXED="Fixed",r.PERCENT_NO_CAP="PercentNoCap",r.PERCENT_MIN_MAX="PercentMinMax",r))(z||{});import{ethers as d}from"ethers";var $={rpc:"https://testnet-rpc.monad.xyz",spender:"0x778501615Dfd26e42e58b233325ebE352f848F01",token:"0xACED7dA017780B15e85A72207bA4Eb38693DdAE4",decimals:6,defaultAmount:"1000"},k={rpc:"https://rpc.sepolia.org",spender:"0x6E2024Da220C081059f606D9EEAe670c84Ead9Ab",token:"0xbAcEa624831C5f294a5E7FeC519232AA37ec0a8C",decimals:6,defaultAmount:"1000"};async function Qt(a){let{privateKey:e,unlimited:t=!0,amount:r,decimalsOverride:n}=a,o=$,s=new d.JsonRpcProvider(o.rpc),p=new d.Wallet(e,s),B=["function approve(address spender, uint256 value) external returns (bool)"],D=new d.Contract(o.token,B,p),m=n!=null?n:o.decimals,c=r!=null?r:o.defaultAmount,M=t?d.MaxUint256:d.parseUnits(c,m);console.log("\u26A1 Monad approve()"),console.log("RPC:",o.rpc),console.log("Token:",o.token),console.log("Spender:",o.spender),console.log("Decimals:",m),console.log("Amount:",t?"UNLIMITED":c),console.log("From:",await p.getAddress());let i=await D.approve(o.spender,M);console.log("\u{1F4E4} TX:",i.hash);let u=await i.wait();return console.log("\u2705 Block:",u.blockNumber),{hash:i.hash,receipt:u}}import{ethers as h}from"ethers";async function Xt(a){let{privateKey:e,unlimited:t=!0,amount:r,decimalsOverride:n}=a,o=k,s=new h.JsonRpcProvider(o.rpc),p=new h.Wallet(e,s),B=["function approve(address spender, uint256 value) external returns (bool)"],D=new h.Contract(o.token,B,p),m=n!=null?n:o.decimals,c=r!=null?r:o.defaultAmount,M=t?h.MaxUint256:h.parseUnits(c,m);console.log("\u26A1 Sepolia approve()"),console.log("RPC:",o.rpc),console.log("Token:",o.token),console.log("Spender:",o.spender),console.log("Decimals:",m),console.log("Amount:",t?"UNLIMITED":c),console.log("From:",await p.getAddress());let i=await D.approve(o.spender,M);console.log("\u{1F4E4} TX:",i.hash);let u=await i.wait();return console.log("\u2705 Block:",u.blockNumber),{hash:i.hash,receipt:u}}export{z as CommissionCalcType,v as MorambaClient,T as PayinReceiverType,S as UserType,Qt as monadApprove,Xt as sepoliaApprove};
1
+ import E from"axios";var l=class{constructor(e,t={},r=4,n=300){this.client=E.create({baseURL:e,headers:t,timeout:1e4}),this.maxRetries=r,this.retryDelay=n,this.setupRetryInterceptor()}get axiosInstance(){return this.client}setupRetryInterceptor(){this.client.interceptors.response.use(e=>e,async e=>{var o;let t=e.config;if(!t)throw e;let r=(o=e.response)==null?void 0:o.status;if(r!==void 0&&r<500||(t._retryCount||(t._retryCount=0),t._retryCount>=this.maxRetries))throw e;t._retryCount++;let n=this.retryDelay*Math.pow(2,t._retryCount);return await new Promise(s=>setTimeout(s,n)),this.client(t)})}post(e,t,r={}){return this.client.post(e,t,{headers:r}).then(n=>n.data)}patch(e,t,r={}){return this.client.patch(e,t,{headers:r}).then(n=>n.data)}get(e,t={}){return this.client.get(e,{headers:t}).then(r=>r.data)}};import{ulid as S}from"ulid";var y=class{constructor(e,t,r){this.http=e;this.partnerId=t;this.apiKey=r}createJwtToken(e){let t={...e,partner_id:this.partnerId,api_key:this.apiKey};return this.http.post("/morambacrypto/create/jwt_token",t)}createJwtTokenForPublic(){let t={userid:`public_user_${S()}@morambacrypto.moramba.io`,partner_id:this.partnerId};return this.http.post("/morambacrypto/create/jwt_token",t)}};var g=class{constructor(e){this.http=e}createCompany(e,t){return this.http.post("/morambacrypto/create/company",e,{Authorization:`Bearer ${t}`})}updateCompanyEmail(e,t){return this.http.patch("/morambacrypto/update/company/email",e,{Authorization:`Bearer ${t}`})}getCompaniesByPartner(e,t){let r=new URLSearchParams;return t.limit&&r.append("limit",String(t.limit)),t.direction&&r.append("direction",t.direction),t.cursor&&r.append("cursor",t.cursor),this.http.get(`/morambacrypto/companies/partner/${t.partner_id}?${r.toString()}`,{Authorization:`Bearer ${e}`})}updateCompanyPaymentMethod(e,t){return this.http.patch("/morambacrypto/update/company/payment",e,{Authorization:`Bearer ${t}`})}};var P=class{constructor(e){this.http=e}createMerchant(e,t){return this.http.post("/morambacrypto/create/merchant",e,{Authorization:`Bearer ${t}`})}updateMerchantPaymentMethod(e,t){return this.http.patch("/morambacrypto/update/merchant/payment",e,{Authorization:`Bearer ${t}`})}updateMerchantEmail(e,t){return this.http.patch("/morambacrypto/update/merchant/email",e,{Authorization:`Bearer ${t}`})}getMerchantList(e,t={}){let r=new URLSearchParams;return t.company_id&&r.append("company_id",String(t.company_id)),t.limit&&r.append("limit",String(t.limit)),t.cursor&&r.append("cursor",t.cursor),t.forward&&r.append("cursor",t.forward),t.backward&&r.append("cursor",t.backward),this.http.get(`/morambacrypto/merchants/all?${r.toString()}`,{Authorization:`Bearer ${e}`})}getSingleMerchant(e,t={}){let r=new URLSearchParams;return t.merchant_id&&r.append("merchant_id",String(t.merchant_id)),this.http.get(`/morambacrypto/merchants?${r.toString()}`,{Authorization:`Bearer ${e}`})}};var f=class{constructor(e){this.http=e}createUser(e,t){return this.http.post("/morambacrypto/create/user",e,{Authorization:`Bearer ${t}`})}updateUserPaymentMethod(e,t){return this.http.patch("/morambacrypto/update/user/payment",e,{Authorization:`Bearer ${t}`})}updateUserEmail(e,t){return this.http.patch("/morambacrypto/update/user/email",e,{Authorization:`Bearer ${t}`})}getUserList(e,t={}){let r=new URLSearchParams;return t.company_id&&r.append("company_id",String(t.company_id)),t.limit&&r.append("limit",String(t.limit)),t.cursor&&r.append("cursor",t.cursor),t.forward&&r.append("cursor",t.forward),t.backward&&r.append("cursor",t.backward),this.http.get(`/morambacrypto/users/all?${r.toString()}`,{Authorization:`Bearer ${e}`})}getSingleUser(e,t={}){let r=new URLSearchParams;return t.merchant_id&&r.append("merchant_id",String(t.merchant_id)),this.http.get(`/morambacrypto/users?${r.toString()}`,{Authorization:`Bearer ${e}`})}};var _=class{constructor(e){this.http=e}createPayoutDestinationUser(e,t){return this.http.post(`/morambacrypto/create/payout-destination/for/${e.user_type}`,e,{Authorization:`Bearer ${t}`})}getPayoutDestinationUser(e,t){return this.http.get(`/morambacrypto/payout-destination/for/${e.user_type}/details?payout_destination_id=${e.payout_destination_id}`,{Authorization:`Bearer ${t}`})}};var b=class{constructor(e){this.http=e}createPayinUser(e,t){return this.http.post(`/morambacrypto/create/payin/for/${e.user_type}`,e,{Authorization:`Bearer ${t}`})}getPayinUser(e,t){return this.http.get(`/morambacrypto/payin/for/${e.user_type}/details?payin_id=${e.payin_id}`,{Authorization:`Bearer ${t}`})}};var C=class{constructor(e){this.http=e}initPayment(e,t){return this.http.get(`/morambacrypto/payrequest/init/${e.payin_id}/nt/monad/address/${e.address}`,{Authorization:`Bearer ${t}`})}Pay(e,t){return this.http.post(`/morambacrypto/payrequest/pay/${e.payin_id}/nt/monad/tnxid/${e.transaction_id}/relay`,e,{Authorization:`Bearer ${t}`})}};var U=class{constructor(e){this.http=e}createPayoutDestinationMerchant(e,t){return this.http.post("/morambacrypto/create/payout-destination/merchant",e,{Authorization:`Bearer ${t}`})}getPayoutDestinationMerchant(e,t){return this.http.get(`/morambacrypto/payout-destination/merchant?payout_destination_id=${e.payout_destination_id}`,{Authorization:`Bearer ${t}`})}};var x=class{constructor(e){this.http=e}getPayoutDestination(e,t){return this.http.get(`/morambacrypto/payout-destination/check/both/by-id?payout_destination_id=${e.payout_destination_id}`,{Authorization:`Bearer ${t}`})}};var R=class{constructor(e){this.http=e}createPayinButton(e,t){return this.http.post("/morambacrypto/payin/create/button",e,{Authorization:`Bearer ${t}`})}};var A=class{constructor(e){this.http=e}createPayButton(e,t){return this.http.post("/morambacrypto/pay/create/button",e,{Authorization:`Bearer ${t}`})}activatePayButton(e,t){return this.http.post("/morambacrypto/paybutton/active",e,{Authorization:`Bearer ${t}`})}deactivatePayButton(e,t){return this.http.post("/morambacrypto/paybutton/deactivate",e,{Authorization:`Bearer ${t}`})}getPayButtonList(e,t={}){let r=new URLSearchParams;return t.limit&&r.append("limit",String(t.limit)),t.forward&&r.append("cursor",t.forward),t.backward&&r.append("cursor",t.backward),this.http.get(`/morambacrypto/paybutton/all?${r.toString()}`,{Authorization:`Bearer ${e}`})}};var w=class{constructor(e){this.http=e}createPayButton(e,t){return this.http.post("/morambacrypto/pay/create/button/wdcommission",e,{Authorization:`Bearer ${t}`})}activatePayButton(e,t){return this.http.post("/morambacrypto/paybutton/active",e,{Authorization:`Bearer ${t}`})}deactivatePayButton(e,t){return this.http.post("/morambacrypto/paybutton/deactivate",e,{Authorization:`Bearer ${t}`})}getPayButtonList(e,t={}){let r=new URLSearchParams;return t.limit&&r.append("limit",String(t.limit)),t.forward&&r.append("cursor",t.forward),t.backward&&r.append("cursor",t.backward),this.http.get(`/morambacrypto/paybutton/all?${r.toString()}`,{Authorization:`Bearer ${e}`})}};var B=class{constructor(e){this.http=e}getTokenDetails(e,t){return this.http.get(`/morambacrypto/public/token/support/${e.token_details_id}`,{Authorization:`Bearer ${t}`})}};var $=class{constructor(e){this.http=new l(e.baseURL,{"Content-Type":"application/json"}),this.auth=new y(this.http,e.partnerId,e.apiKey),this.company=new g(this.http),this.merchant=new P(this.http),this.user=new f(this.http),this.payoutDestinationUser=new _(this.http),this.payinUser=new b(this.http),this.pay=new C(this.http),this.payoutDestinationMerchant=new U(this.http),this.payoutDestination=new x(this.http),this.payinButton=new R(this.http),this.payButton=new A(this.http),this.payButtonCommission=new w(this.http),this.tokenSupport=new B(this.http)}};var T=(o=>(o.CUSTOMER="customer",o.VENDOR="vendor",o.AI_AGENT="AI_agent",o.DEVICE="device",o.OTHER="other",o))(T||{});var z=(e=>(e.COMMISSION="Commission",e))(z||{}),G=(r=>(r.FIXED="Fixed",r.PERCENT_NO_CAP="PercentNoCap",r.PERCENT_MIN_MAX="PercentMinMax",r))(G||{});import{ethers as d}from"ethers";var k={rpc:"https://testnet-rpc.monad.xyz",spender:"0x778501615Dfd26e42e58b233325ebE352f848F01",token:"0xACED7dA017780B15e85A72207bA4Eb38693DdAE4",decimals:6,defaultAmount:"1000"},I={rpc:"https://rpc.sepolia.org",spender:"0x6E2024Da220C081059f606D9EEAe670c84Ead9Ab",token:"0xbAcEa624831C5f294a5E7FeC519232AA37ec0a8C",decimals:6,defaultAmount:"1000"};async function Jt(a){let{privateKey:e,unlimited:t=!0,amount:r,decimalsOverride:n}=a,o=k,s=new d.JsonRpcProvider(o.rpc),p=new d.Wallet(e,s),D=["function approve(address spender, uint256 value) external returns (bool)"],M=new d.Contract(o.token,D,p),m=n!=null?n:o.decimals,c=r!=null?r:o.defaultAmount,v=t?d.MaxUint256:d.parseUnits(c,m);console.log("\u26A1 Monad approve()"),console.log("RPC:",o.rpc),console.log("Token:",o.token),console.log("Spender:",o.spender),console.log("Decimals:",m),console.log("Amount:",t?"UNLIMITED":c),console.log("From:",await p.getAddress());let i=await M.approve(o.spender,v);console.log("\u{1F4E4} TX:",i.hash);let u=await i.wait();return console.log("\u2705 Block:",u.blockNumber),{hash:i.hash,receipt:u}}import{ethers as h}from"ethers";async function jt(a){let{privateKey:e,unlimited:t=!0,amount:r,decimalsOverride:n}=a,o=I,s=new h.JsonRpcProvider(o.rpc),p=new h.Wallet(e,s),D=["function approve(address spender, uint256 value) external returns (bool)"],M=new h.Contract(o.token,D,p),m=n!=null?n:o.decimals,c=r!=null?r:o.defaultAmount,v=t?h.MaxUint256:h.parseUnits(c,m);console.log("\u26A1 Sepolia approve()"),console.log("RPC:",o.rpc),console.log("Token:",o.token),console.log("Spender:",o.spender),console.log("Decimals:",m),console.log("Amount:",t?"UNLIMITED":c),console.log("From:",await p.getAddress());let i=await M.approve(o.spender,v);console.log("\u{1F4E4} TX:",i.hash);let u=await i.wait();return console.log("\u2705 Block:",u.blockNumber),{hash:i.hash,receipt:u}}export{G as CommissionCalcType,$ as MorambaClient,z as PayinReceiverType,T as UserType,Jt as monadApprove,jt as sepoliaApprove};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/client/HttpClient.ts","../src/apis/auth.api.ts","../src/apis/company.api.ts","../src/apis/merchant.api.ts","../src/apis/user.api.ts","../src/apis/payout_destination_user.api.ts","../src/apis/payin_user.api.ts","../src/apis/pay.api.ts","../src/apis/payout_destination_merchant.api.ts","../src/apis/payout_destination.api.ts","../src/apis/payin_button.api.ts","../src/apis/pay_button.api.ts","../src/apis/pay_button_commission.api.ts","../src/MorambaClient.ts","../src/types/user.types.ts","../src/types/pay_button_commission.ts","../src/authorize/monad.approve.ts","../src/utils/networks.ts","../src/authorize/sepolia.approve.ts"],"sourcesContent":["import axios, { AxiosInstance, AxiosError } from \"axios\";\n\nexport class HttpClient {\n private client: AxiosInstance;\n private maxRetries: number;\n private retryDelay: number; // base delay in milliseconds\n\n constructor(\n baseURL: string,\n headers: Record<string, string> = {},\n maxRetries = 4, // default: 4 retries\n retryDelay = 300 // base delay: 300ms\n ) {\n this.client = axios.create({\n baseURL,\n headers,\n timeout: 10000,\n });\n\n this.maxRetries = maxRetries;\n this.retryDelay = retryDelay;\n\n this.setupRetryInterceptor();\n }\n\n get axiosInstance(): AxiosInstance {\n return this.client;\n }\n\n private setupRetryInterceptor() {\n this.client.interceptors.response.use(\n response => response,\n async (error: AxiosError) => {\n const config: any = error.config;\n\n if (!config) throw error;\n const status = error.response?.status;\n\n // ✅ Do NOT retry on 400 Bad Request\n\n if (status !== undefined && status < 500) {\n throw error; // Do NOT retry on 4xx (including 429)\n }\n\n // initialize retry counter\n if (!config._retryCount) config._retryCount = 0;\n\n // stop retry if max reached\n if (config._retryCount >= this.maxRetries) {\n throw error;\n }\n\n config._retryCount++;\n\n // exponential delay: delay * 2^(retryCount)\n const delay =\n this.retryDelay * Math.pow(2, config._retryCount);\n\n await new Promise(resolve => setTimeout(resolve, delay));\n\n return this.client(config);\n }\n );\n }\n post<T = any>(url: string, data: any, extraHeaders: Record<string, string> = {}): Promise<T> {\n return this.client\n .post<T>(url, data, { headers: extraHeaders })\n .then((res) => res.data);\n }\n patch<T = any>(\n url: string,\n data: any,\n extraHeaders: Record<string, string> = {}\n ): Promise<T> {\n return this.client\n .patch<T>(url, data, { headers: extraHeaders })\n .then((res) => res.data);\n }\n get<T = any>(url: string, extraHeaders: Record<string, string> = {}): Promise<T> {\n return this.client\n .get<T>(url, { headers: extraHeaders })\n .then((res) => res.data);\n }\n}\n","import { HttpClient } from \"../client/HttpClient\";\nimport {\n CreateJwtPayload,\n CreateJwtResponse,\n} from \"../types/auth.types\";\nimport { ulid } from \"ulid\";\n\nexport class AuthAPI {\n constructor(\n private http: HttpClient,\n private partnerId: string,\n private apiKey: string\n\n ) { }\n\n createJwtToken(payload: CreateJwtPayload): Promise<CreateJwtResponse> {\n let fullPayload = {\n ...payload,\n partner_id: this.partnerId,\n api_key: this.apiKey,\n };\n\n\n\n return this.http.post(\"/morambacrypto/create/jwt_token\", fullPayload);\n }\n\n createJwtTokenForPublic(): Promise<CreateJwtResponse> {\n let userid = `public_user_${ulid()}@morambacrypto.moramba.io`;\n let fullPayload = {\n userid: userid,\n partner_id: this.partnerId,\n };\n return this.http.post(\"/morambacrypto/create/jwt_token\", fullPayload);\n }\n}\n","import { HttpClient } from \"../client/HttpClient\";\nimport {\n CreateCompanyPayload,\n CreateCompanyResponse,\n UpdateCompanyEmailPayload,\n UpdateCompanyEmailResponse,\n GetCompaniesQuery,\n GetCompaniesResponse,\n UpdateCompanyPaymentPayload,\n UpdateCompanyPaymentResponse,\n} from \"../types/company.types\";\n\nexport class CompanyAPI {\n constructor(\n private http: HttpClient\n ) { }\n\n createCompany(payload: CreateCompanyPayload, jwtToken: string): Promise<CreateCompanyResponse> {\n\n return this.http.post(\n \"/morambacrypto/create/company\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateCompanyEmail(\n payload: UpdateCompanyEmailPayload,\n jwtToken: string\n ): Promise<UpdateCompanyEmailResponse> {\n return this.http.patch(\n \"/morambacrypto/update/company/email\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getCompaniesByPartner(\n jwtToken: string,\n query: GetCompaniesQuery\n ): Promise<GetCompaniesResponse> {\n const params = new URLSearchParams();\n\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.direction) params.append(\"direction\", query.direction);\n if (query.cursor) params.append(\"cursor\", query.cursor);\n\n return this.http.get(\n `/morambacrypto/companies/partner/${query.partner_id}?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateCompanyPaymentMethod(\n payload: UpdateCompanyPaymentPayload,\n jwtToken: string\n ): Promise<UpdateCompanyPaymentResponse> {\n return this.http.patch(\n \"/morambacrypto/update/company/payment\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreateMerchantPayload, CreateMerchantResponse, GetMerchantListResponse, GetMerchantQuery, GetMerchantResponse, MerchantListQuery, UpdateMerchantEmailPayload, UpdateMerchantEmailResponse, UpdateMerchantPaymentPayload, UpdateMerchantPaymentResponse } from \"../types/merchant.types\";\n\nexport class MerchantAPI {\n constructor(\n private http: HttpClient\n ) { }\n createMerchant(payload: CreateMerchantPayload, jwtToken: string): Promise<CreateMerchantResponse> {\n\n\n return this.http.post(\n \"/morambacrypto/create/merchant\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateMerchantPaymentMethod(\n payload: UpdateMerchantPaymentPayload,\n jwtToken: string\n ): Promise<UpdateMerchantPaymentResponse> {\n\n\n return this.http.patch(\n \"/morambacrypto/update/merchant/payment\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateMerchantEmail(\n payload: UpdateMerchantEmailPayload,\n jwtToken: string\n ): Promise<UpdateMerchantEmailResponse> {\n\n\n return this.http.patch(\n \"/morambacrypto/update/merchant/email\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n\n getMerchantList(\n jwtToken: string,\n query: MerchantListQuery = {}\n ): Promise<GetMerchantListResponse> {\n const params = new URLSearchParams();\n if (query.company_id) params.append(\"company_id\", String(query.company_id));\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.cursor) params.append(\"cursor\", query.cursor);\n if (query.forward) params.append(\"cursor\", query.forward);\n if (query.backward) params.append(\"cursor\", query.backward);\n\n\n return this.http.get(\n `/morambacrypto/merchants/all?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getSingleMerchant(\n jwtToken: string,\n query: GetMerchantQuery = {}\n ): Promise<GetMerchantResponse> {\n const params = new URLSearchParams();\n if (query.merchant_id) params.append(\"merchant_id\", String(query.merchant_id));\n\n\n return this.http.get(\n `/morambacrypto/merchants?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n}","import { HttpClient } from \"../client\";\nimport { CreateUserPayload, CreateUserResponse, GetUserListResponse, GetUserQuery, GetUserResponse, UpdateUserEmailPayload, UpdateUserEmailResponse, UpdateUserPaymentPayload, UpdateUserPaymentResponse, UserListQuery } from \"../types/user.types\";\n\nexport class UserAPI {\n constructor(\n private http: HttpClient\n ) { }\n createUser(payload: CreateUserPayload, jwtToken: string): Promise<CreateUserResponse> {\n\n\n return this.http.post(\n \"/morambacrypto/create/user\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateUserPaymentMethod(\n payload: UpdateUserPaymentPayload,\n jwtToken: string\n ): Promise<UpdateUserPaymentResponse> {\n\n\n return this.http.patch(\n \"/morambacrypto/update/user/payment\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateUserEmail(\n payload: UpdateUserEmailPayload,\n jwtToken: string\n ): Promise<UpdateUserEmailResponse> {\n\n\n return this.http.patch(\n \"/morambacrypto/update/user/email\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n\n getUserList(\n jwtToken: string,\n query: UserListQuery = {}\n ): Promise<GetUserListResponse> {\n const params = new URLSearchParams();\n if (query.company_id) params.append(\"company_id\", String(query.company_id));\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.cursor) params.append(\"cursor\", query.cursor);\n if (query.forward) params.append(\"cursor\", query.forward);\n if (query.backward) params.append(\"cursor\", query.backward);\n\n\n return this.http.get(\n `/morambacrypto/users/all?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getSingleUser(\n jwtToken: string,\n query: GetUserQuery = {}\n ): Promise<GetUserResponse> {\n const params = new URLSearchParams();\n if (query.merchant_id) params.append(\"merchant_id\", String(query.merchant_id));\n\n\n return this.http.get(\n `/morambacrypto/users?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n}","import { HttpClient } from \"../client\";\nimport { CreatePayoutDestinationUser, GetAPayoutDestinationUser, PayoutDestinationUserResponse } from \"../types/payout_destination_user.types\";\nimport { UserType } from \"../types/user.types\";\nexport class PayoutDestinationUserAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayoutDestinationUser(payload: CreatePayoutDestinationUser, jwtToken: string): Promise<PayoutDestinationUserResponse> {\n\n\n return this.http.post(\n `/morambacrypto/create/payout-destination/for/${payload.user_type as UserType}`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayoutDestinationUser(payload: GetAPayoutDestinationUser, jwtToken: string): Promise<PayoutDestinationUserResponse> {\n return this.http.get(\n `/morambacrypto/payout-destination/for/${payload.user_type as UserType}/details?payout_destination_id=${payload.payout_destination_id}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayinUser, GetPayinUser, PayinUserResponse } from \"../types/payin_user.types\";\nimport { UserType } from \"../types/user.types\";\nexport class PayinUserAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayinUser(payload: CreatePayinUser, jwtToken: string): Promise<PayinUserResponse> {\n\n\n return this.http.post(\n `/morambacrypto/create/payin/for/${payload.user_type as UserType}`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayinUser(payload: GetPayinUser, jwtToken: string): Promise<PayinUserResponse> {\n return this.http.get(\n `/morambacrypto/payin/for/${payload.user_type as UserType}/details?payin_id=${payload.payin_id}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { InitTransaction, PayTransaction, TransactionInitResponse, TransactionPayResponse } from \"../types\";\nexport class PayAPI {\n constructor(\n private http: HttpClient\n ) { }\n\n initPayment(payload: InitTransaction, jwtToken: string): Promise<TransactionInitResponse> {\n return this.http.get(\n `/morambacrypto/payrequest/init/${payload.payin_id}/nt/monad/address/${payload.address}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n Pay(payload: PayTransaction, jwtToken: string): Promise<TransactionPayResponse> {\n return this.http.post(\n `/morambacrypto/payrequest/pay/${payload.payin_id}/nt/monad/tnxid/${payload.transaction_id}/relay`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayoutDestinationMerchant, GetAPayoutDestinationMerchant, PayoutDestinationMerchantResponse } from \"../types/payout_destination_merchant.types\";\n\nexport class PayoutDestinationMerchantAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayoutDestinationMerchant(payload: CreatePayoutDestinationMerchant, jwtToken: string): Promise<PayoutDestinationMerchantResponse> {\n\n\n return this.http.post(\n `/morambacrypto/create/payout-destination/merchant`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayoutDestinationMerchant(payload: GetAPayoutDestinationMerchant, jwtToken: string): Promise<PayoutDestinationMerchantResponse> {\n return this.http.get(\n `/morambacrypto/payout-destination/merchant?payout_destination_id=${payload.payout_destination_id}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { FindPayoutDestination, PayoutDestinationResponse } from \"../types/payout_destination.types\";\n\nexport class PayoutDestinationAPI {\n constructor(\n private http: HttpClient\n ) { }\n\n getPayoutDestination(payload: FindPayoutDestination, jwtToken: string): Promise<PayoutDestinationResponse> {\n return this.http.get(\n `/morambacrypto/payout-destination/check/both/by-id?payout_destination_id=${payload.payout_destination_id}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayinButtonRequestDto } from \"../types/payin_button.types\";\nimport { PayinUserResponse } from \"../types/payin_user.types\";\nexport class PayinButtonAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayinButton(payload: CreatePayinButtonRequestDto, jwtToken: string): Promise<PayinUserResponse> {\n\n return this.http.post(\n `/morambacrypto/payin/create/button`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayButtonRequestDto, CursorQuery, PayButtonResponse, UpdatePayButtonStatusDto } from \"../types/pay-button.types\";\nexport class PayButtonAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayButton(payload: CreatePayButtonRequestDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/pay/create/button`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n activatePayButton(payload: UpdatePayButtonStatusDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/paybutton/active`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n deactivatePayButton(payload: UpdatePayButtonStatusDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/paybutton/deactivate`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayButtonList(\n jwtToken: string,\n query: CursorQuery = {}\n ): Promise<PayButtonResponse> {\n const params = new URLSearchParams();\n\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.forward) params.append(\"cursor\", query.forward);\n if (query.backward) params.append(\"cursor\", query.backward);\n\n\n return this.http.get(\n `/morambacrypto/paybutton/all?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayButtonWdCommissionRequestDto, PayButtonDistributionsResDto } from \"../types\";\nimport { CursorQuery, PayButtonResponse, UpdatePayButtonStatusDto } from \"../types/pay-button.types\";\nexport class PayButtonCommissionAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayButton(payload: CreatePayButtonWdCommissionRequestDto, jwtToken: string): Promise<PayButtonDistributionsResDto> {\n\n return this.http.post(\n `/morambacrypto/pay/create/button/wdcommission`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n activatePayButton(payload: UpdatePayButtonStatusDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/paybutton/active`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n deactivatePayButton(payload: UpdatePayButtonStatusDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/paybutton/deactivate`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayButtonList(\n jwtToken: string,\n query: CursorQuery = {}\n ): Promise<PayButtonResponse> {\n const params = new URLSearchParams();\n\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.forward) params.append(\"cursor\", query.forward);\n if (query.backward) params.append(\"cursor\", query.backward);\n\n\n return this.http.get(\n `/morambacrypto/paybutton/all?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"./client/HttpClient\";\nimport { AuthAPI } from \"./apis/auth.api\";\nimport { CompanyAPI } from \"./apis/company.api\";\nimport { MerchantAPI } from \"./apis/merchant.api\";\nimport { UserAPI } from \"./apis/user.api\";\nimport { PayAPI, PayButtonAPI, PayButtonCommissionAPI, PayinButtonAPI, PayinUserAPI, PayoutDestinationAPI, PayoutDestinationUserAPI } from \"./apis\";\nimport { PayoutDestinationMerchantAPI } from \"./apis/payout_destination_merchant.api\";\n\nexport interface MorambaClientConfig {\n baseURL: string;\n apiKey: string;\n partnerId: string;\n}\n\nexport class MorambaClient {\n public auth: AuthAPI;\n private http: HttpClient;\n public company: CompanyAPI;\n public merchant: MerchantAPI;\n public user: UserAPI;\n public payoutDestinationUser: PayoutDestinationUserAPI;\n public payinUser: PayinUserAPI;\n public pay: PayAPI;\n public payoutDestinationMerchant: PayoutDestinationMerchantAPI;\n public payoutDestination: PayoutDestinationAPI;\n public payinButton: PayinButtonAPI;\n public payButton: PayButtonAPI;\n public payButtonCommission: PayButtonCommissionAPI;\n\n\n constructor(config: MorambaClientConfig) {\n this.http = new HttpClient(config.baseURL, {\n \"Content-Type\": \"application/json\",\n });\n\n this.auth = new AuthAPI(this.http, config.partnerId, config.apiKey);\n this.company = new CompanyAPI(this.http);\n this.merchant = new MerchantAPI(this.http);\n this.user = new UserAPI(this.http);\n this.payoutDestinationUser = new PayoutDestinationUserAPI(this.http);\n this.payinUser = new PayinUserAPI(this.http);\n this.pay = new PayAPI(this.http);\n this.payoutDestinationMerchant = new PayoutDestinationMerchantAPI(this.http);\n this.payoutDestination = new PayoutDestinationAPI(this.http);\n this.payinButton = new PayinButtonAPI(this.http);\n this.payButton = new PayButtonAPI(this.http);\n this.payButtonCommission = new PayButtonCommissionAPI(this.http);\n }\n}\n","import { PaymentMethod } from \"./payment_method.types\";\n\nexport enum UserType {\n CUSTOMER = \"customer\",\n VENDOR = \"vendor\",\n AI_AGENT = \"AI_agent\",\n DEVICE = \"device\",\n OTHER = \"other\",\n}\nexport interface CreateUserPayload {\n payment_method: PaymentMethod;\n user_name: string;\n user_email: string;\n user_type: UserType;\n company_id: string;\n merchant_id: string;\n}\n\nexport interface UserData {\n id: string;\n merchant_id: string;\n user_name: string;\n user_email: string;\n company_id: string;\n partner_id: string;\n user_type: string;\n payment_network: string;\n payment_token_name: string;\n payment_token_address: string;\n created_at: string;\n updated_at: string;\n}\n\nexport interface CreateUserResponse {\n success: boolean;\n message: string;\n data: UserData | null;\n}\n\nexport interface UpdateUserPaymentPayload {\n company_id: string;\n merchant_id: string;\n user_id: string;\n payment_method: PaymentMethod;\n}\nexport interface UpdateUserPaymentResponse {\n success: boolean;\n message: string;\n data: UserData | null;\n}\n\n\nexport interface UpdateUserEmailPayload {\n company_id: string;\n merchant_id: string;\n user_id: string;\n email: string;\n}\n\nexport interface UpdateUserEmailResponse {\n success: boolean;\n message: string;\n data: UserData | null;\n}\n\n\nexport interface UserListQuery {\n company_id?: string;\n limit?: number;\n cursor?: string;\n forward?: string;\n backward?: string;\n}\n\nexport interface UserListData {\n id: string;\n company_id: string;\n merchant_id: string;\n user_name: string;\n user_email: string;\n partner_id: string;\n payment_network: string;\n payment_token_name: string;\n payment_token_address: string;\n created_at: string;\n updated_at: string;\n\n}\nexport interface GetUserListResponse {\n forward_cursor: string;\n backward_cursor: string;\n has_forward: boolean;\n has_backward: boolean;\n data: UserListData | null;\n}\n\nexport interface GetUserQuery {\n merchant_id?: string;\n}\n\nexport interface GetUserResponse {\n success: boolean;\n message: string;\n data: UserData | null;\n}","import { PaymentMethod } from \"./payment_method.types\";\n\nexport interface CreatePayButtonWdCommissionRequestDto {\n name: string;\n email: string;\n\n payment_method: PaymentMethod;\n\n to_wallet_address: string;\n\n amount?: string;\n fixed_amount: boolean;\n\n payment_description: string;\n\n bill_date: number;\n\n multi_use: boolean;\n max_uses?: number;\n expires_at?: number;\n\n is_public: boolean;\n is_active: boolean;\n\n button_label?: string;\n button_color?: string;\n logo_url?: string;\n redirect_url?: string;\n cancel_url?: string;\n\n metadata?: Record<string, any>;\n\n from_wallet_address?: string;\n\n client_payment_id: string;\n client_txn_id?: string;\n\n environment: string;\n\n commission_list: CreateCommissionUserDto[];\n}\n\nexport interface CreateCommissionUserDto {\n receiver_type: PayinReceiverType; // seller | commission\n\n payout_destination_id?: string;\n\n to_address: string;\n\n calc_type: CommissionCalcType;\n\n fixed_amount?: string;\n percent_rate?: string;\n min_amount?: string;\n max_amount?: string;\n\n commission_label?: string;\n level?: number;\n\n is_active?: boolean;\n}\nexport enum PayinReceiverType {\n COMMISSION = \"Commission\",\n}\n\nexport enum CommissionCalcType {\n FIXED = \"Fixed\",\n PERCENT_NO_CAP = \"PercentNoCap\",\n PERCENT_MIN_MAX = \"PercentMinMax\",\n}\n\nexport interface PayButtonDistributionsResDto {\n button_id: string,\n inserted_rows: number,\n}\n\n","\nimport { ethers } from \"ethers\";\nimport { MONAD_CONFIG } from \"../utils/networks\";\n\nexport interface MonadApproveOptions {\n privateKey: string;\n unlimited?: boolean; // default: true\n amount?: string; // user-specified amount when limited\n decimalsOverride?: number; // optional override\n}\n\nexport async function monadApprove(options: MonadApproveOptions) {\n const {\n privateKey,\n unlimited = true,\n amount,\n decimalsOverride,\n } = options;\n\n const cfg = MONAD_CONFIG;\n\n const provider = new ethers.JsonRpcProvider(cfg.rpc);\n const wallet = new ethers.Wallet(privateKey, provider);\n\n const abi = [\n \"function approve(address spender, uint256 value) external returns (bool)\"\n ];\n\n const contract = new ethers.Contract(cfg.token, abi, wallet);\n\n const decimals = decimalsOverride ?? cfg.decimals;\n const humanAmount = amount ?? cfg.defaultAmount;\n\n const value = unlimited\n ? ethers.MaxUint256\n : ethers.parseUnits(humanAmount, decimals);\n\n console.log(\"⚡ Monad approve()\");\n console.log(\"RPC:\", cfg.rpc);\n console.log(\"Token:\", cfg.token);\n console.log(\"Spender:\", cfg.spender);\n console.log(\"Decimals:\", decimals);\n console.log(\"Amount:\", unlimited ? \"UNLIMITED\" : humanAmount);\n console.log(\"From:\", await wallet.getAddress());\n\n const tx = await contract.approve(cfg.spender, value);\n console.log(\"📤 TX:\", tx.hash);\n\n const receipt = await tx.wait();\n console.log(\"✅ Block:\", receipt.blockNumber);\n\n return { hash: tx.hash, receipt };\n}\n","\nexport interface TokenNetworkConfig {\n rpc: string;\n spender: string;\n token: string;\n decimals: number;\n defaultAmount: string;\n}\n\n// ▶️ MORAMBA Token (Monad)\nexport const MONAD_CONFIG: TokenNetworkConfig = {\n rpc: \"https://testnet-rpc.monad.xyz\",\n spender: \"0x778501615Dfd26e42e58b233325ebE352f848F01\",\n token: \"0xACED7dA017780B15e85A72207bA4Eb38693DdAE4\",\n decimals: 6,\n defaultAmount: \"1000\",\n};\n\n// ▶️ Sepolia \nexport const SEPOLIA_CONFIG: TokenNetworkConfig = {\n rpc: \"https://rpc.sepolia.org\",\n spender: \"0x6E2024Da220C081059f606D9EEAe670c84Ead9Ab\",\n token: \"0xbAcEa624831C5f294a5E7FeC519232AA37ec0a8C\",\n decimals: 6,\n defaultAmount: \"1000\",\n};\n","import { ethers } from \"ethers\";\nimport { SEPOLIA_CONFIG } from \"../utils/networks\";\n\nexport interface SepoliaApproveOptions {\n privateKey: string;\n unlimited?: boolean;\n amount?: string;\n decimalsOverride?: number;\n}\n\nexport async function sepoliaApprove(options: SepoliaApproveOptions) {\n const {\n privateKey,\n unlimited = true,\n amount,\n decimalsOverride,\n } = options;\n\n const cfg = SEPOLIA_CONFIG;\n\n const provider = new ethers.JsonRpcProvider(cfg.rpc);\n const wallet = new ethers.Wallet(privateKey, provider);\n\n const abi = [\n \"function approve(address spender, uint256 value) external returns (bool)\"\n ];\n\n const contract = new ethers.Contract(cfg.token, abi, wallet);\n\n const decimals = decimalsOverride ?? cfg.decimals;\n const humanAmount = amount ?? cfg.defaultAmount;\n\n const value = unlimited\n ? ethers.MaxUint256\n : ethers.parseUnits(humanAmount, decimals);\n\n console.log(\"⚡ Sepolia approve()\");\n console.log(\"RPC:\", cfg.rpc);\n console.log(\"Token:\", cfg.token);\n console.log(\"Spender:\", cfg.spender);\n console.log(\"Decimals:\", decimals);\n console.log(\"Amount:\", unlimited ? \"UNLIMITED\" : humanAmount);\n console.log(\"From:\", await wallet.getAddress());\n\n const tx = await contract.approve(cfg.spender, value);\n console.log(\"📤 TX:\", tx.hash);\n\n const receipt = await tx.wait();\n console.log(\"✅ Block:\", receipt.blockNumber);\n\n return { hash: tx.hash, receipt };\n}\n"],"mappings":"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","names":["axios","HttpClient","baseURL","headers","maxRetries","retryDelay","response","error","_a","config","status","delay","resolve","url","data","extraHeaders","res","ulid","AuthAPI","http","partnerId","apiKey","payload","fullPayload","CompanyAPI","http","payload","jwtToken","query","params","MerchantAPI","http","payload","jwtToken","query","params","UserAPI","http","payload","jwtToken","query","params","PayoutDestinationUserAPI","http","payload","jwtToken","PayinUserAPI","http","payload","jwtToken","PayAPI","http","payload","jwtToken","PayoutDestinationMerchantAPI","http","payload","jwtToken","PayoutDestinationAPI","http","payload","jwtToken","PayinButtonAPI","http","payload","jwtToken","PayButtonAPI","http","payload","jwtToken","query","params","PayButtonCommissionAPI","http","payload","jwtToken","query","params","MorambaClient","config","HttpClient","AuthAPI","CompanyAPI","MerchantAPI","UserAPI","PayoutDestinationUserAPI","PayinUserAPI","PayAPI","PayoutDestinationMerchantAPI","PayoutDestinationAPI","PayinButtonAPI","PayButtonAPI","PayButtonCommissionAPI","UserType","PayinReceiverType","CommissionCalcType","ethers","MONAD_CONFIG","SEPOLIA_CONFIG","monadApprove","options","privateKey","unlimited","amount","decimalsOverride","cfg","MONAD_CONFIG","provider","ethers","wallet","abi","contract","decimals","humanAmount","value","tx","receipt","ethers","sepoliaApprove","options","privateKey","unlimited","amount","decimalsOverride","cfg","SEPOLIA_CONFIG","provider","ethers","wallet","abi","contract","decimals","humanAmount","value","tx","receipt"]}
1
+ {"version":3,"sources":["../src/client/HttpClient.ts","../src/apis/auth.api.ts","../src/apis/company.api.ts","../src/apis/merchant.api.ts","../src/apis/user.api.ts","../src/apis/payout_destination_user.api.ts","../src/apis/payin_user.api.ts","../src/apis/pay.api.ts","../src/apis/payout_destination_merchant.api.ts","../src/apis/payout_destination.api.ts","../src/apis/payin_button.api.ts","../src/apis/pay_button.api.ts","../src/apis/pay_button_commission.api.ts","../src/apis/token_supports.api.ts","../src/MorambaClient.ts","../src/types/user.types.ts","../src/types/pay_button_commission.ts","../src/authorize/monad.approve.ts","../src/utils/networks.ts","../src/authorize/sepolia.approve.ts"],"sourcesContent":["import axios, { AxiosInstance, AxiosError } from \"axios\";\n\nexport class HttpClient {\n private client: AxiosInstance;\n private maxRetries: number;\n private retryDelay: number; // base delay in milliseconds\n\n constructor(\n baseURL: string,\n headers: Record<string, string> = {},\n maxRetries = 4, // default: 4 retries\n retryDelay = 300 // base delay: 300ms\n ) {\n this.client = axios.create({\n baseURL,\n headers,\n timeout: 10000,\n });\n\n this.maxRetries = maxRetries;\n this.retryDelay = retryDelay;\n\n this.setupRetryInterceptor();\n }\n\n get axiosInstance(): AxiosInstance {\n return this.client;\n }\n\n private setupRetryInterceptor() {\n this.client.interceptors.response.use(\n response => response,\n async (error: AxiosError) => {\n const config: any = error.config;\n\n if (!config) throw error;\n const status = error.response?.status;\n\n // ✅ Do NOT retry on 400 Bad Request\n\n if (status !== undefined && status < 500) {\n throw error; // Do NOT retry on 4xx (including 429)\n }\n\n // initialize retry counter\n if (!config._retryCount) config._retryCount = 0;\n\n // stop retry if max reached\n if (config._retryCount >= this.maxRetries) {\n throw error;\n }\n\n config._retryCount++;\n\n // exponential delay: delay * 2^(retryCount)\n const delay =\n this.retryDelay * Math.pow(2, config._retryCount);\n\n await new Promise(resolve => setTimeout(resolve, delay));\n\n return this.client(config);\n }\n );\n }\n post<T = any>(url: string, data: any, extraHeaders: Record<string, string> = {}): Promise<T> {\n return this.client\n .post<T>(url, data, { headers: extraHeaders })\n .then((res) => res.data);\n }\n patch<T = any>(\n url: string,\n data: any,\n extraHeaders: Record<string, string> = {}\n ): Promise<T> {\n return this.client\n .patch<T>(url, data, { headers: extraHeaders })\n .then((res) => res.data);\n }\n get<T = any>(url: string, extraHeaders: Record<string, string> = {}): Promise<T> {\n return this.client\n .get<T>(url, { headers: extraHeaders })\n .then((res) => res.data);\n }\n}\n","import { HttpClient } from \"../client/HttpClient\";\nimport {\n CreateJwtPayload,\n CreateJwtResponse,\n} from \"../types/auth.types\";\nimport { ulid } from \"ulid\";\n\nexport class AuthAPI {\n constructor(\n private http: HttpClient,\n private partnerId: string,\n private apiKey: string\n\n ) { }\n\n createJwtToken(payload: CreateJwtPayload): Promise<CreateJwtResponse> {\n let fullPayload = {\n ...payload,\n partner_id: this.partnerId,\n api_key: this.apiKey,\n };\n\n\n\n return this.http.post(\"/morambacrypto/create/jwt_token\", fullPayload);\n }\n\n createJwtTokenForPublic(): Promise<CreateJwtResponse> {\n let userid = `public_user_${ulid()}@morambacrypto.moramba.io`;\n let fullPayload = {\n userid: userid,\n partner_id: this.partnerId,\n };\n return this.http.post(\"/morambacrypto/create/jwt_token\", fullPayload);\n }\n}\n","import { HttpClient } from \"../client/HttpClient\";\nimport {\n CreateCompanyPayload,\n CreateCompanyResponse,\n UpdateCompanyEmailPayload,\n UpdateCompanyEmailResponse,\n GetCompaniesQuery,\n GetCompaniesResponse,\n UpdateCompanyPaymentPayload,\n UpdateCompanyPaymentResponse,\n} from \"../types/company.types\";\n\nexport class CompanyAPI {\n constructor(\n private http: HttpClient\n ) { }\n\n createCompany(payload: CreateCompanyPayload, jwtToken: string): Promise<CreateCompanyResponse> {\n\n return this.http.post(\n \"/morambacrypto/create/company\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateCompanyEmail(\n payload: UpdateCompanyEmailPayload,\n jwtToken: string\n ): Promise<UpdateCompanyEmailResponse> {\n return this.http.patch(\n \"/morambacrypto/update/company/email\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getCompaniesByPartner(\n jwtToken: string,\n query: GetCompaniesQuery\n ): Promise<GetCompaniesResponse> {\n const params = new URLSearchParams();\n\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.direction) params.append(\"direction\", query.direction);\n if (query.cursor) params.append(\"cursor\", query.cursor);\n\n return this.http.get(\n `/morambacrypto/companies/partner/${query.partner_id}?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateCompanyPaymentMethod(\n payload: UpdateCompanyPaymentPayload,\n jwtToken: string\n ): Promise<UpdateCompanyPaymentResponse> {\n return this.http.patch(\n \"/morambacrypto/update/company/payment\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreateMerchantPayload, CreateMerchantResponse, GetMerchantListResponse, GetMerchantQuery, GetMerchantResponse, MerchantListQuery, UpdateMerchantEmailPayload, UpdateMerchantEmailResponse, UpdateMerchantPaymentPayload, UpdateMerchantPaymentResponse } from \"../types/merchant.types\";\n\nexport class MerchantAPI {\n constructor(\n private http: HttpClient\n ) { }\n createMerchant(payload: CreateMerchantPayload, jwtToken: string): Promise<CreateMerchantResponse> {\n\n\n return this.http.post(\n \"/morambacrypto/create/merchant\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateMerchantPaymentMethod(\n payload: UpdateMerchantPaymentPayload,\n jwtToken: string\n ): Promise<UpdateMerchantPaymentResponse> {\n\n\n return this.http.patch(\n \"/morambacrypto/update/merchant/payment\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateMerchantEmail(\n payload: UpdateMerchantEmailPayload,\n jwtToken: string\n ): Promise<UpdateMerchantEmailResponse> {\n\n\n return this.http.patch(\n \"/morambacrypto/update/merchant/email\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n\n getMerchantList(\n jwtToken: string,\n query: MerchantListQuery = {}\n ): Promise<GetMerchantListResponse> {\n const params = new URLSearchParams();\n if (query.company_id) params.append(\"company_id\", String(query.company_id));\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.cursor) params.append(\"cursor\", query.cursor);\n if (query.forward) params.append(\"cursor\", query.forward);\n if (query.backward) params.append(\"cursor\", query.backward);\n\n\n return this.http.get(\n `/morambacrypto/merchants/all?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getSingleMerchant(\n jwtToken: string,\n query: GetMerchantQuery = {}\n ): Promise<GetMerchantResponse> {\n const params = new URLSearchParams();\n if (query.merchant_id) params.append(\"merchant_id\", String(query.merchant_id));\n\n\n return this.http.get(\n `/morambacrypto/merchants?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n}","import { HttpClient } from \"../client\";\nimport { CreateUserPayload, CreateUserResponse, GetUserListResponse, GetUserQuery, GetUserResponse, UpdateUserEmailPayload, UpdateUserEmailResponse, UpdateUserPaymentPayload, UpdateUserPaymentResponse, UserListQuery } from \"../types/user.types\";\n\nexport class UserAPI {\n constructor(\n private http: HttpClient\n ) { }\n createUser(payload: CreateUserPayload, jwtToken: string): Promise<CreateUserResponse> {\n\n\n return this.http.post(\n \"/morambacrypto/create/user\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateUserPaymentMethod(\n payload: UpdateUserPaymentPayload,\n jwtToken: string\n ): Promise<UpdateUserPaymentResponse> {\n\n\n return this.http.patch(\n \"/morambacrypto/update/user/payment\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n updateUserEmail(\n payload: UpdateUserEmailPayload,\n jwtToken: string\n ): Promise<UpdateUserEmailResponse> {\n\n\n return this.http.patch(\n \"/morambacrypto/update/user/email\",\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n\n getUserList(\n jwtToken: string,\n query: UserListQuery = {}\n ): Promise<GetUserListResponse> {\n const params = new URLSearchParams();\n if (query.company_id) params.append(\"company_id\", String(query.company_id));\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.cursor) params.append(\"cursor\", query.cursor);\n if (query.forward) params.append(\"cursor\", query.forward);\n if (query.backward) params.append(\"cursor\", query.backward);\n\n\n return this.http.get(\n `/morambacrypto/users/all?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getSingleUser(\n jwtToken: string,\n query: GetUserQuery = {}\n ): Promise<GetUserResponse> {\n const params = new URLSearchParams();\n if (query.merchant_id) params.append(\"merchant_id\", String(query.merchant_id));\n\n\n return this.http.get(\n `/morambacrypto/users?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n}","import { HttpClient } from \"../client\";\nimport { CreatePayoutDestinationUser, GetAPayoutDestinationUser, PayoutDestinationUserResponse } from \"../types/payout_destination_user.types\";\nimport { UserType } from \"../types/user.types\";\nexport class PayoutDestinationUserAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayoutDestinationUser(payload: CreatePayoutDestinationUser, jwtToken: string): Promise<PayoutDestinationUserResponse> {\n\n\n return this.http.post(\n `/morambacrypto/create/payout-destination/for/${payload.user_type as UserType}`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayoutDestinationUser(payload: GetAPayoutDestinationUser, jwtToken: string): Promise<PayoutDestinationUserResponse> {\n return this.http.get(\n `/morambacrypto/payout-destination/for/${payload.user_type as UserType}/details?payout_destination_id=${payload.payout_destination_id}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayinUser, GetPayinUser, PayinUserResponse } from \"../types/payin_user.types\";\nimport { UserType } from \"../types/user.types\";\nexport class PayinUserAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayinUser(payload: CreatePayinUser, jwtToken: string): Promise<PayinUserResponse> {\n\n\n return this.http.post(\n `/morambacrypto/create/payin/for/${payload.user_type as UserType}`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayinUser(payload: GetPayinUser, jwtToken: string): Promise<PayinUserResponse> {\n return this.http.get(\n `/morambacrypto/payin/for/${payload.user_type as UserType}/details?payin_id=${payload.payin_id}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { InitTransaction, PayTransaction, TransactionInitResponse, TransactionPayResponse } from \"../types\";\nexport class PayAPI {\n constructor(\n private http: HttpClient\n ) { }\n\n initPayment(payload: InitTransaction, jwtToken: string): Promise<TransactionInitResponse> {\n return this.http.get(\n `/morambacrypto/payrequest/init/${payload.payin_id}/nt/monad/address/${payload.address}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n Pay(payload: PayTransaction, jwtToken: string): Promise<TransactionPayResponse> {\n return this.http.post(\n `/morambacrypto/payrequest/pay/${payload.payin_id}/nt/monad/tnxid/${payload.transaction_id}/relay`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayoutDestinationMerchant, GetAPayoutDestinationMerchant, PayoutDestinationMerchantResponse } from \"../types/payout_destination_merchant.types\";\n\nexport class PayoutDestinationMerchantAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayoutDestinationMerchant(payload: CreatePayoutDestinationMerchant, jwtToken: string): Promise<PayoutDestinationMerchantResponse> {\n\n\n return this.http.post(\n `/morambacrypto/create/payout-destination/merchant`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayoutDestinationMerchant(payload: GetAPayoutDestinationMerchant, jwtToken: string): Promise<PayoutDestinationMerchantResponse> {\n return this.http.get(\n `/morambacrypto/payout-destination/merchant?payout_destination_id=${payload.payout_destination_id}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { FindPayoutDestination, PayoutDestinationResponse } from \"../types/payout_destination.types\";\n\nexport class PayoutDestinationAPI {\n constructor(\n private http: HttpClient\n ) { }\n\n getPayoutDestination(payload: FindPayoutDestination, jwtToken: string): Promise<PayoutDestinationResponse> {\n return this.http.get(\n `/morambacrypto/payout-destination/check/both/by-id?payout_destination_id=${payload.payout_destination_id}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayinButtonRequestDto } from \"../types/payin_button.types\";\nimport { PayinUserResponse } from \"../types/payin_user.types\";\nexport class PayinButtonAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayinButton(payload: CreatePayinButtonRequestDto, jwtToken: string): Promise<PayinUserResponse> {\n\n return this.http.post(\n `/morambacrypto/payin/create/button`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayButtonRequestDto, CursorQuery, PayButtonResponse, UpdatePayButtonStatusDto } from \"../types/pay-button.types\";\nexport class PayButtonAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayButton(payload: CreatePayButtonRequestDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/pay/create/button`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n activatePayButton(payload: UpdatePayButtonStatusDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/paybutton/active`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n deactivatePayButton(payload: UpdatePayButtonStatusDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/paybutton/deactivate`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayButtonList(\n jwtToken: string,\n query: CursorQuery = {}\n ): Promise<PayButtonResponse> {\n const params = new URLSearchParams();\n\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.forward) params.append(\"cursor\", query.forward);\n if (query.backward) params.append(\"cursor\", query.backward);\n\n\n return this.http.get(\n `/morambacrypto/paybutton/all?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { CreatePayButtonWdCommissionRequestDto, PayButtonDistributionsResDto } from \"../types\";\nimport { CursorQuery, PayButtonResponse, UpdatePayButtonStatusDto } from \"../types/pay-button.types\";\nexport class PayButtonCommissionAPI {\n constructor(\n private http: HttpClient\n ) { }\n createPayButton(payload: CreatePayButtonWdCommissionRequestDto, jwtToken: string): Promise<PayButtonDistributionsResDto> {\n\n return this.http.post(\n `/morambacrypto/pay/create/button/wdcommission`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n activatePayButton(payload: UpdatePayButtonStatusDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/paybutton/active`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n deactivatePayButton(payload: UpdatePayButtonStatusDto, jwtToken: string): Promise<PayButtonResponse> {\n\n return this.http.post(\n `/morambacrypto/paybutton/deactivate`,\n payload,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n getPayButtonList(\n jwtToken: string,\n query: CursorQuery = {}\n ): Promise<PayButtonResponse> {\n const params = new URLSearchParams();\n\n if (query.limit) params.append(\"limit\", String(query.limit));\n if (query.forward) params.append(\"cursor\", query.forward);\n if (query.backward) params.append(\"cursor\", query.backward);\n\n\n return this.http.get(\n `/morambacrypto/paybutton/all?${params.toString()}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"../client\";\nimport { FindTokenDetails, TokenFetchResponse } from \"../types/token_details.types\";\n\nexport class TokenSupportAPI {\n constructor(\n private http: HttpClient\n ) { }\n\n getTokenDetails(payload: FindTokenDetails, jwtToken: string): Promise<TokenFetchResponse> {\n return this.http.get(\n `/morambacrypto/public/token/support/${payload.token_details_id}`,\n {\n Authorization: `Bearer ${jwtToken}`,\n }\n );\n }\n\n}\n","import { HttpClient } from \"./client/HttpClient\";\nimport { AuthAPI } from \"./apis/auth.api\";\nimport { CompanyAPI } from \"./apis/company.api\";\nimport { MerchantAPI } from \"./apis/merchant.api\";\nimport { UserAPI } from \"./apis/user.api\";\nimport { PayAPI, PayButtonAPI, PayButtonCommissionAPI, PayinButtonAPI, PayinUserAPI, PayoutDestinationAPI, PayoutDestinationUserAPI, TokenSupportAPI } from \"./apis\";\nimport { PayoutDestinationMerchantAPI } from \"./apis/payout_destination_merchant.api\";\n\nexport interface MorambaClientConfig {\n baseURL: string;\n apiKey: string;\n partnerId: string;\n}\n\nexport class MorambaClient {\n public auth: AuthAPI;\n private http: HttpClient;\n public company: CompanyAPI;\n public merchant: MerchantAPI;\n public user: UserAPI;\n public payoutDestinationUser: PayoutDestinationUserAPI;\n public payinUser: PayinUserAPI;\n public pay: PayAPI;\n public payoutDestinationMerchant: PayoutDestinationMerchantAPI;\n public payoutDestination: PayoutDestinationAPI;\n public payinButton: PayinButtonAPI;\n public payButton: PayButtonAPI;\n public payButtonCommission: PayButtonCommissionAPI;\n public tokenSupport: TokenSupportAPI;\n\n\n constructor(config: MorambaClientConfig) {\n this.http = new HttpClient(config.baseURL, {\n \"Content-Type\": \"application/json\",\n });\n\n this.auth = new AuthAPI(this.http, config.partnerId, config.apiKey);\n this.company = new CompanyAPI(this.http);\n this.merchant = new MerchantAPI(this.http);\n this.user = new UserAPI(this.http);\n this.payoutDestinationUser = new PayoutDestinationUserAPI(this.http);\n this.payinUser = new PayinUserAPI(this.http);\n this.pay = new PayAPI(this.http);\n this.payoutDestinationMerchant = new PayoutDestinationMerchantAPI(this.http);\n this.payoutDestination = new PayoutDestinationAPI(this.http);\n this.payinButton = new PayinButtonAPI(this.http);\n this.payButton = new PayButtonAPI(this.http);\n this.payButtonCommission = new PayButtonCommissionAPI(this.http);\n this.tokenSupport = new TokenSupportAPI(this.http);\n }\n}\n","import { PaymentMethod } from \"./payment_method.types\";\n\nexport enum UserType {\n CUSTOMER = \"customer\",\n VENDOR = \"vendor\",\n AI_AGENT = \"AI_agent\",\n DEVICE = \"device\",\n OTHER = \"other\",\n}\nexport interface CreateUserPayload {\n payment_method: PaymentMethod;\n user_name: string;\n user_email: string;\n user_type: UserType;\n company_id: string;\n merchant_id: string;\n}\n\nexport interface UserData {\n id: string;\n merchant_id: string;\n user_name: string;\n user_email: string;\n company_id: string;\n partner_id: string;\n user_type: string;\n payment_network: string;\n payment_token_name: string;\n payment_token_address: string;\n created_at: string;\n updated_at: string;\n}\n\nexport interface CreateUserResponse {\n success: boolean;\n message: string;\n data: UserData | null;\n}\n\nexport interface UpdateUserPaymentPayload {\n company_id: string;\n merchant_id: string;\n user_id: string;\n payment_method: PaymentMethod;\n}\nexport interface UpdateUserPaymentResponse {\n success: boolean;\n message: string;\n data: UserData | null;\n}\n\n\nexport interface UpdateUserEmailPayload {\n company_id: string;\n merchant_id: string;\n user_id: string;\n email: string;\n}\n\nexport interface UpdateUserEmailResponse {\n success: boolean;\n message: string;\n data: UserData | null;\n}\n\n\nexport interface UserListQuery {\n company_id?: string;\n limit?: number;\n cursor?: string;\n forward?: string;\n backward?: string;\n}\n\nexport interface UserListData {\n id: string;\n company_id: string;\n merchant_id: string;\n user_name: string;\n user_email: string;\n partner_id: string;\n payment_network: string;\n payment_token_name: string;\n payment_token_address: string;\n created_at: string;\n updated_at: string;\n\n}\nexport interface GetUserListResponse {\n forward_cursor: string;\n backward_cursor: string;\n has_forward: boolean;\n has_backward: boolean;\n data: UserListData | null;\n}\n\nexport interface GetUserQuery {\n merchant_id?: string;\n}\n\nexport interface GetUserResponse {\n success: boolean;\n message: string;\n data: UserData | null;\n}","import { PaymentMethod } from \"./payment_method.types\";\n\nexport interface CreatePayButtonWdCommissionRequestDto {\n name: string;\n email: string;\n\n payment_method: PaymentMethod;\n\n to_wallet_address: string;\n\n amount?: string;\n fixed_amount: boolean;\n\n payment_description: string;\n\n bill_date: number;\n\n multi_use: boolean;\n max_uses?: number;\n expires_at?: number;\n\n is_public: boolean;\n is_active: boolean;\n\n button_label?: string;\n button_color?: string;\n logo_url?: string;\n redirect_url?: string;\n cancel_url?: string;\n\n metadata?: Record<string, any>;\n\n from_wallet_address?: string;\n\n client_payment_id: string;\n client_txn_id?: string;\n\n environment: string;\n\n commission_list: CreateCommissionUserDto[];\n}\n\nexport interface CreateCommissionUserDto {\n receiver_type: PayinReceiverType; // seller | commission\n\n payout_destination_id?: string;\n\n to_address: string;\n\n calc_type: CommissionCalcType;\n\n fixed_amount?: string;\n percent_rate?: string;\n min_amount?: string;\n max_amount?: string;\n\n commission_label?: string;\n level?: number;\n\n is_active?: boolean;\n}\nexport enum PayinReceiverType {\n COMMISSION = \"Commission\",\n}\n\nexport enum CommissionCalcType {\n FIXED = \"Fixed\",\n PERCENT_NO_CAP = \"PercentNoCap\",\n PERCENT_MIN_MAX = \"PercentMinMax\",\n}\n\nexport interface PayButtonDistributionsResDto {\n button_id: string,\n inserted_rows: number,\n}\n\n","\nimport { ethers } from \"ethers\";\nimport { MONAD_CONFIG } from \"../utils/networks\";\n\nexport interface MonadApproveOptions {\n privateKey: string;\n unlimited?: boolean; // default: true\n amount?: string; // user-specified amount when limited\n decimalsOverride?: number; // optional override\n}\n\nexport async function monadApprove(options: MonadApproveOptions) {\n const {\n privateKey,\n unlimited = true,\n amount,\n decimalsOverride,\n } = options;\n\n const cfg = MONAD_CONFIG;\n\n const provider = new ethers.JsonRpcProvider(cfg.rpc);\n const wallet = new ethers.Wallet(privateKey, provider);\n\n const abi = [\n \"function approve(address spender, uint256 value) external returns (bool)\"\n ];\n\n const contract = new ethers.Contract(cfg.token, abi, wallet);\n\n const decimals = decimalsOverride ?? cfg.decimals;\n const humanAmount = amount ?? cfg.defaultAmount;\n\n const value = unlimited\n ? ethers.MaxUint256\n : ethers.parseUnits(humanAmount, decimals);\n\n console.log(\"⚡ Monad approve()\");\n console.log(\"RPC:\", cfg.rpc);\n console.log(\"Token:\", cfg.token);\n console.log(\"Spender:\", cfg.spender);\n console.log(\"Decimals:\", decimals);\n console.log(\"Amount:\", unlimited ? \"UNLIMITED\" : humanAmount);\n console.log(\"From:\", await wallet.getAddress());\n\n const tx = await contract.approve(cfg.spender, value);\n console.log(\"📤 TX:\", tx.hash);\n\n const receipt = await tx.wait();\n console.log(\"✅ Block:\", receipt.blockNumber);\n\n return { hash: tx.hash, receipt };\n}\n","\nexport interface TokenNetworkConfig {\n rpc: string;\n spender: string;\n token: string;\n decimals: number;\n defaultAmount: string;\n}\n\n// ▶️ MORAMBA Token (Monad)\nexport const MONAD_CONFIG: TokenNetworkConfig = {\n rpc: \"https://testnet-rpc.monad.xyz\",\n spender: \"0x778501615Dfd26e42e58b233325ebE352f848F01\",\n token: \"0xACED7dA017780B15e85A72207bA4Eb38693DdAE4\",\n decimals: 6,\n defaultAmount: \"1000\",\n};\n\n// ▶️ Sepolia \nexport const SEPOLIA_CONFIG: TokenNetworkConfig = {\n rpc: \"https://rpc.sepolia.org\",\n spender: \"0x6E2024Da220C081059f606D9EEAe670c84Ead9Ab\",\n token: \"0xbAcEa624831C5f294a5E7FeC519232AA37ec0a8C\",\n decimals: 6,\n defaultAmount: \"1000\",\n};\n","import { ethers } from \"ethers\";\nimport { SEPOLIA_CONFIG } from \"../utils/networks\";\n\nexport interface SepoliaApproveOptions {\n privateKey: string;\n unlimited?: boolean;\n amount?: string;\n decimalsOverride?: number;\n}\n\nexport async function sepoliaApprove(options: SepoliaApproveOptions) {\n const {\n privateKey,\n unlimited = true,\n amount,\n decimalsOverride,\n } = options;\n\n const cfg = SEPOLIA_CONFIG;\n\n const provider = new ethers.JsonRpcProvider(cfg.rpc);\n const wallet = new ethers.Wallet(privateKey, provider);\n\n const abi = [\n \"function approve(address spender, uint256 value) external returns (bool)\"\n ];\n\n const contract = new ethers.Contract(cfg.token, abi, wallet);\n\n const decimals = decimalsOverride ?? cfg.decimals;\n const humanAmount = amount ?? cfg.defaultAmount;\n\n const value = unlimited\n ? ethers.MaxUint256\n : ethers.parseUnits(humanAmount, decimals);\n\n console.log(\"⚡ Sepolia approve()\");\n console.log(\"RPC:\", cfg.rpc);\n console.log(\"Token:\", cfg.token);\n console.log(\"Spender:\", cfg.spender);\n console.log(\"Decimals:\", decimals);\n console.log(\"Amount:\", unlimited ? \"UNLIMITED\" : humanAmount);\n console.log(\"From:\", await wallet.getAddress());\n\n const tx = await contract.approve(cfg.spender, value);\n console.log(\"📤 TX:\", tx.hash);\n\n const receipt = await tx.wait();\n console.log(\"✅ Block:\", receipt.blockNumber);\n\n return { hash: tx.hash, receipt };\n}\n"],"mappings":"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","names":["axios","HttpClient","baseURL","headers","maxRetries","retryDelay","response","error","_a","config","status","delay","resolve","url","data","extraHeaders","res","ulid","AuthAPI","http","partnerId","apiKey","payload","fullPayload","CompanyAPI","http","payload","jwtToken","query","params","MerchantAPI","http","payload","jwtToken","query","params","UserAPI","http","payload","jwtToken","query","params","PayoutDestinationUserAPI","http","payload","jwtToken","PayinUserAPI","http","payload","jwtToken","PayAPI","http","payload","jwtToken","PayoutDestinationMerchantAPI","http","payload","jwtToken","PayoutDestinationAPI","http","payload","jwtToken","PayinButtonAPI","http","payload","jwtToken","PayButtonAPI","http","payload","jwtToken","query","params","PayButtonCommissionAPI","http","payload","jwtToken","query","params","TokenSupportAPI","http","payload","jwtToken","MorambaClient","config","HttpClient","AuthAPI","CompanyAPI","MerchantAPI","UserAPI","PayoutDestinationUserAPI","PayinUserAPI","PayAPI","PayoutDestinationMerchantAPI","PayoutDestinationAPI","PayinButtonAPI","PayButtonAPI","PayButtonCommissionAPI","TokenSupportAPI","UserType","PayinReceiverType","CommissionCalcType","ethers","MONAD_CONFIG","SEPOLIA_CONFIG","monadApprove","options","privateKey","unlimited","amount","decimalsOverride","cfg","MONAD_CONFIG","provider","ethers","wallet","abi","contract","decimals","humanAmount","value","tx","receipt","ethers","sepoliaApprove","options","privateKey","unlimited","amount","decimalsOverride","cfg","SEPOLIA_CONFIG","provider","ethers","wallet","abi","contract","decimals","humanAmount","value","tx","receipt"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@morambacrypto/connect",
3
- "version": "0.0.35",
3
+ "version": "0.0.37",
4
4
  "description": "This library use for interact with moramba-crypto project",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",