UNPKG

test-rrr-sdk

Version:

An SDK for building applications on top of Raydium.

2 lines 2.81 kB
var h=Object.defineProperty,N=Object.defineProperties;var b=Object.getOwnPropertyDescriptors;var T=Object.getOwnPropertySymbols;var g=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable;var B=(n,e,r)=>e in n?h(n,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[e]=r,l=(n,e)=>{for(var r in e||(e={}))g.call(e,r)&&B(n,r,e[r]);if(T)for(var r of T(e))P.call(e,r)&&B(n,r,e[r]);return n},p=(n,e)=>N(n,b(e));import s from"bn.js";var f=1e4;function M(n,e,r,d){if(e===void 0)return{amount:n,fee:void 0,expirationTime:void 0};let t=r.epoch<e.newerTransferFee.epoch?e.olderTransferFee:e.newerTransferFee,i=new s(t.maximumFee.toString()),u=r.epoch<e.newerTransferFee.epoch?(Number(e.newerTransferFee.epoch)*r.slotsInEpoch-r.absoluteSlot)*400/1e3:void 0;if(d)if(t.transferFeeBasisPoints===f){let a=new s(t.maximumFee.toString());return{amount:n.add(a),fee:a,expirationTime:u}}else{let a=F(n.mul(new s(f)),new s(f-t.transferFeeBasisPoints)),o=new s(t.maximumFee.toString()),m=a.sub(n).gt(o)?n.add(o):a,c=F(m.mul(new s(t.transferFeeBasisPoints)),new s(f)),w=c.gt(i)?i:c;return{amount:m,fee:w,expirationTime:u}}else{let a=F(n.mul(new s(t.transferFeeBasisPoints)),new s(f)),o=a.gt(i)?i:a;return{amount:n,fee:o,expirationTime:u}}}function D(n,e,r,d){if(e===void 0)return{amount:n,fee:void 0,expirationTime:void 0};let t=p(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<t.newerTransferFee.epoch?t.olderTransferFee:t.newerTransferFee,u=new s(i.maximumFee.toString()),a=r.epoch<t.newerTransferFee.epoch?(Number(t.newerTransferFee.epoch)*r.slotsInEpoch-r.absoluteSlot)*400/1e3:void 0;if(d)if(i.transferFeeBasisPoints===f){let o=new s(i.maximumFee.toString());return{amount:n.add(o),fee:o,expirationTime:a}}else{let o=F(n.mul(new s(f)),new s(f-i.transferFeeBasisPoints)),m=new s(i.maximumFee.toString()),c=o.sub(n).gt(m)?n.add(m):o,w=F(c.mul(new s(i.transferFeeBasisPoints)),new s(f)),x=w.gt(u)?u:w;return{amount:c,fee:x,expirationTime:a}}else{let o=F(n.mul(new s(i.transferFeeBasisPoints)),new s(f)),m=o.gt(u)?u:o;return{amount:n,fee:m,expirationTime:a}}}function I(n,e){return n===void 0?e:e===void 0?n:Math.min(n,e)}function F(n,e){let{div:r,mod:d}=n.divmod(e);return d.gt(new s(0))?r.add(new s(1)):r}function G(n,e){if(n.isZero())return new s(0);let r=n.div(e);return r.isZero()?new s(1):n.mod(e).gt(new s(0))?r.add(new s(1)):r}export{F as BNDivCeil,G as ceilDivBN,M as getTransferAmountFee,D as getTransferAmountFeeV2,I as minExpirationTime}; //# sourceMappingURL=transfer.mjs.map