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