tronzap-sdk
Version:
Official Node.js SDK for the TronZap API. TronZap is a platform for renting energy on the TRON blockchain. Buy TRON energy for cheap USDT transfers on TronZap.com
3 lines • 2.47 kB
JavaScript
import u from'crypto';var p=(e=>(e[e.AUTH_ERROR=1]="AUTH_ERROR",e[e.INVALID_SERVICE_OR_PARAMS=2]="INVALID_SERVICE_OR_PARAMS",e[e.WALLET_NOT_FOUND=5]="WALLET_NOT_FOUND",e[e.INSUFFICIENT_FUNDS=6]="INSUFFICIENT_FUNDS",e[e.INVALID_TRON_ADDRESS=10]="INVALID_TRON_ADDRESS",e[e.INVALID_ENERGY_AMOUNT=11]="INVALID_ENERGY_AMOUNT",e[e.INVALID_DURATION=12]="INVALID_DURATION",e[e.TRANSACTION_NOT_FOUND=20]="TRANSACTION_NOT_FOUND",e[e.ADDRESS_NOT_ACTIVATED=24]="ADDRESS_NOT_ACTIVATED",e[e.ADDRESS_ALREADY_ACTIVATED=25]="ADDRESS_ALREADY_ACTIVATED",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.UNKNOWN_ERROR=999]="UNKNOWN_ERROR",e))(p||{}),r=class extends Error{constructor(n,t){super(t);this.code=n;this.name="TronZapError";}};var o=class{constructor(s){if(this.baseUrl=s.baseUrl||"https://api.tronzap.com",this.apiToken=s.apiToken,this.apiSecret=s.apiSecret,!this.apiToken||!this.apiSecret)throw new Error("apiToken and apiSecret are required")}async request(s,n={}){let t={Authorization:`Bearer ${this.apiToken}`,"Content-Type":"application/json"},a=JSON.stringify(n);t["X-Signature"]=u.createHash("sha256").update(a+this.apiSecret).digest("hex");let c=await fetch(`${this.baseUrl}${s}`,{method:"POST",headers:t,body:a}),i=await c.json();if(!c.ok||i.code!==0)throw new r(i.code||500,i.error||"Request failed");return i.result}async getServices(){return this.request("/v1/services")}async getBalance(){return this.request("/v1/balance")}async estimateEnergy(s,n,t){let a={from_address:s,to_address:n,contract_address:t};return this.request("/v1/estimate-energy",a)}async calculate(s,n,t=1){let a={address:s,energy:n,duration:t};return this.request("/v1/calculate",a)}async createEnergyTransaction(s,n,t=1,a,c=false){let i={service:"energy",params:{address:s,energy_amount:n,duration:t}};return c&&(i.params.activate_address=true),a&&(i.external_id=a),this.request("/v1/transaction/new",i)}async createAddressActivationTransaction(s,n){let t={service:"activate_address",params:{address:s}};return n&&(t.external_id=n),this.request("/v1/transaction/new",t)}async checkTransaction(s,n){let t={};if(s&&(t.id=s),n&&(t.external_id=n),Object.keys(t).length===0)throw new r(2,"Either id or externalId is required");return this.request("/v1/transaction/check",t)}async getDirectRechargeInfo(){return this.request("/v1/direct-recharge-info")}};
export{p as ErrorCode,o as TronZapClient,r as TronZapError};//# sourceMappingURL=index.mjs.map
//# sourceMappingURL=index.mjs.map