@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
2 lines • 4.86 kB
JavaScript
var N=Object.create;var T=Object.defineProperty,g=Object.defineProperties,A=Object.getOwnPropertyDescriptor,S=Object.getOwnPropertyDescriptors,M=Object.getOwnPropertyNames,p=Object.getOwnPropertySymbols,E=Object.getPrototypeOf,B=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable;var x=(n,e,r)=>e in n?T(n,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[e]=r,l=(n,e)=>{for(var r in e||(e={}))B.call(e,r)&&x(n,r,e[r]);if(p)for(var r of p(e))v.call(e,r)&&x(n,r,e[r]);return n},h=(n,e)=>g(n,S(e));var G=(n,e)=>{for(var r in e)T(n,r,{get:e[r],enumerable:!0})},b=(n,e,r,f)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of M(e))!B.call(n,s)&&s!==r&&T(n,s,{get:()=>e[s],enumerable:!(f=A(e,s))||f.enumerable});return n};var D=(n,e,r)=>(r=n!=null?N(E(n)):{},b(e||!n||!n.__esModule?T(r,"default",{value:n,enumerable:!0}):r,n)),I=n=>b(T({},"__esModule",{value:!0}),n);var j={};G(j,{BNDivCeil:()=>d,ceilDivBN:()=>q,getTransferAmountFee:()=>_,getTransferAmountFeeFromPost:()=>V,getTransferAmountFeeFromPre:()=>O,getTransferAmountFeeV2:()=>y,minExpirationTime:()=>Z});module.exports=I(j);var t=D(require("bn.js")),u=1e4;function _(n,e,r,f){if(e===void 0)return{amount:n,fee:void 0,expirationTime:void 0};let s=r.epoch<e.newerTransferFee.epoch?e.olderTransferFee:e.newerTransferFee,i=new t.default(s.maximumFee.toString()),F=r.epoch<e.newerTransferFee.epoch?(Number(e.newerTransferFee.epoch)*r.slotsInEpoch-r.absoluteSlot)*400/1e3:void 0;if(f)if(s.transferFeeBasisPoints===u){let o=new t.default(s.maximumFee.toString());return{amount:n.add(o),fee:o,expirationTime:F}}else{let o=d(n.mul(new t.default(u)),new t.default(u-s.transferFeeBasisPoints)),a=new t.default(s.maximumFee.toString()),m=o.sub(n).gt(a)?n.add(a):o,c=d(m.mul(new t.default(s.transferFeeBasisPoints)),new t.default(u)),w=c.gt(i)?i:c;return{amount:m,fee:w,expirationTime:F}}else{let o=d(n.mul(new t.default(s.transferFeeBasisPoints)),new t.default(u)),a=o.gt(i)?i:o;return{amount:n,fee:a,expirationTime:F}}}function y(n,e,r,f){if(e===void 0)return{amount:n,fee:void 0,expirationTime:void 0};let s=h(l({},e),{olderTransferFee:{epoch:BigInt(e.olderTransferFee.epoch),maximumFee:BigInt(e.olderTransferFee.maximumFee),transferFeeBasisPoints:e.olderTransferFee.transferFeeBasisPoints},newerTransferFee:{epoch:BigInt(e.newerTransferFee.epoch),maximumFee:BigInt(e.newerTransferFee.maximumFee),transferFeeBasisPoints:e.newerTransferFee.transferFeeBasisPoints}}),i=r.epoch<s.newerTransferFee.epoch?s.olderTransferFee:s.newerTransferFee,F=new t.default(i.maximumFee.toString()),o=r.epoch<s.newerTransferFee.epoch?(Number(s.newerTransferFee.epoch)*r.slotsInEpoch-r.absoluteSlot)*400/1e3:void 0;if(f)if(i.transferFeeBasisPoints===u){let a=new t.default(i.maximumFee.toString());return{amount:n.add(a),fee:a,expirationTime:o}}else{let a=d(n.mul(new t.default(u)),new t.default(u-i.transferFeeBasisPoints)),m=new t.default(i.maximumFee.toString()),c=a.sub(n).gt(m)?n.add(m):a,w=d(c.mul(new t.default(i.transferFeeBasisPoints)),new t.default(u)),P=w.gt(F)?F:w;return{amount:c,fee:P,expirationTime:o}}else{let a=d(n.mul(new t.default(i.transferFeeBasisPoints)),new t.default(u)),m=a.gt(F)?F:a;return{amount:n,fee:m,expirationTime:o}}}function Z(n,e){return n===void 0?e:e===void 0?n:Math.min(n,e)}function d(n,e){let{div:r,mod:f}=n.divmod(e);return f.gt(new t.default(0))?r.add(new t.default(1)):r}function q(n,e){if(n.isZero())return new t.default(0);let r=n.div(e);return r.isZero()?new t.default(1):n.mod(e).gt(new t.default(0))?r.add(new t.default(1)):r}function O(n,e,r){if(e===void 0)return{amount:n,fee:void 0,expirationTime:void 0};let f=Math.floor(r/432e3),s=f<e.newerTransferFee.epoch?e.olderTransferFee:e.newerTransferFee,i=new t.default(s.maximumFee.toString()),F=f<e.newerTransferFee.epoch?(Number(e.newerTransferFee.epoch)*432e3-r)*400/1e3:void 0,o=d(n.mul(new t.default(s.transferFeeBasisPoints)),new t.default(u)),a=o.gt(i)?i:o;return{amount:n,fee:a,expirationTime:F}}function V(n,e,r){if(e===void 0)return{amount:n,fee:void 0,expirationTime:void 0};let f=Math.floor(r/432e3),s=f<e.newerTransferFee.epoch?e.olderTransferFee:e.newerTransferFee,i=new t.default(s.maximumFee.toString()),F=f<e.newerTransferFee.epoch?(Number(e.newerTransferFee.epoch)*432e3-r)*400/1e3:void 0;if(s.transferFeeBasisPoints===u){let o=new t.default(s.maximumFee.toString());return{amount:n.add(o),fee:o,expirationTime:F}}else{let o=d(n.mul(new t.default(u)),new t.default(u-s.transferFeeBasisPoints)),a=new t.default(s.maximumFee.toString()),m=o.sub(n).gt(a)?n.add(a):o,c=d(m.mul(new t.default(s.transferFeeBasisPoints)),new t.default(u)),w=c.gt(i)?i:c;return{amount:m,fee:w,expirationTime:F}}}0&&(module.exports={BNDivCeil,ceilDivBN,getTransferAmountFee,getTransferAmountFeeFromPost,getTransferAmountFeeFromPre,getTransferAmountFeeV2,minExpirationTime});
//# sourceMappingURL=transfer.js.map