@minswap/noodles-sdk 0.1.2-beta.0 → 0.2.0
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/0~rslib-runtime.js +1 -1
- package/dist/263.js +1 -0
- package/dist/806.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +60 -381
- package/dist/index.js +1 -1
- package/dist/pay.cjs +1 -1
- package/dist/pay.d.ts +3 -16
- package/dist/pay.js +1 -1
- package/dist/portfolio.cjs +1 -0
- package/dist/portfolio.d.ts +704 -0
- package/dist/portfolio.js +1 -0
- package/package.json +16 -3
- package/dist/832.js +0 -1
package/dist/0~rslib-runtime.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={};e.d=(o,
|
|
1
|
+
var e={};e.d=(r,o,t)=>{var a=(o,t)=>{for(var a in o)e.o(o,a)&&!e.o(r,a)&&Object.defineProperty(r,a,{enumerable:!0,[t]:o[a]})};a(o,"get"),a(t,"value")},e.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};export{e as __webpack_require__};
|
package/dist/263.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Transaction as e}from"@mysten/sui/transactions";import{normalizeStructTag as t}from"@mysten/sui/utils";import i from"@minswap/tiny-invariant";import{SUI_FULL_TYPE as n}from"./806.js";function s(e,t){let i=BigInt(e),n=BigInt(1e4*Number(t));if(n===BigInt(0))return[i.toString()];let s=i*n/BigInt(1e4);return[(i-s).toString(),s.toString()]}function a(e,t){if(!t||0>=Number(t))return BigInt(e);let i=BigInt(e),n=BigInt(1e4*Number(t));if(n===BigInt(0))return i;let s=i*n/BigInt(1e4);return i-s}async function r(e,t,i,n){t.setSenderIfNotSet(i);let s=await e.simulateTransaction({transaction:t,include:{effects:!0},checksEnabled:!1}),{gasUsed:a,status:r}=("Transaction"===s.$kind?s.Transaction:s.FailedTransaction).effects;if(!r.success)throw Error(`Transaction failed during simulation: ${r.error?.message??""}`);let o=BigInt(a.computationCost)+BigInt(a.storageCost)-BigInt(a.storageRebate),d=BigInt(1e4*Number(n));return o*(BigInt(1e4)+d)/BigInt(1e4)}let o=async(e,t,i,n)=>{let s,a=[],r=!0;for(;r;)try{let i=await e.listCoins({owner:t,coinType:n,cursor:s});a=[...a,...i.objects.map(e=>({coinObjectId:e.objectId,version:e.version,digest:e.digest,balance:e.balance}))],r=i.hasNextPage,s=i.cursor}catch(e){console.error("Error fetching data:",e),r=!1}let o=((e,t,i)=>{let n;if(e?.length){do{n=!1;for(let s=0;s<e.length-1;s++){let a=BigInt(e[s][t]),r=BigInt(e[s+1][t]);if("desc"===i?a<r:a>r){let t=e[s];e[s]=e[s+1],e[s+1]=t,n=!0}}}while(n);return e}})(a.map(e=>({...e,balance:e.balance})),"balance","desc")??[],d="0",u=[],c=[];for(let e of o)if(d=(BigInt(e.balance)+BigInt(d)).toString(10),u.push(e.coinObjectId),c.push(e),BigInt(d)>=BigInt(i))break;return{objectIds:u,balance:d,objectCoins:c}};async function d(i,s){let{account:a,amount:r,splits:d,coinType:u,inheritTx:c,inspecTransaction:l,isSponsored:g=!1}=i,f=c??new e,{objectIds:p,balance:b}=await o(s,a,r,u);if(BigInt(b)<BigInt(r))throw Error(`Insufficient balance for type ${u}. Required: ${r}, Available: ${b}`);if(0===p.length)throw Error(`No coins found for type ${u} with sufficient balance. Required: ${r}`);let m=p[0];if(t(u)===t(n)&&!g){let e;return l?(p.length>1&&f.mergeCoins(f.object(m),p.slice(1).map(e=>f.object(e))),e=f.splitCoins(f.object(m),d)):e=f.splitCoins(f.gas,d),{tx:f,coinData:e}}p.length>1&&f.mergeCoins(f.object(m),p.slice(1).map(e=>f.object(e)));let h=f.splitCoins(f.object(m),d);return{tx:f,coinData:h}}async function u(t,i){let{inheritTx:s,sender:a,feeAmount:r,suiInputAmount:d}=t,u=s||new e;r>BigInt(0)&&u.setGasBudget(r);let{objectCoins:c}=await o(i,a,(BigInt(d||"0")+r).toString(),n);return u.setGasPayment(c.map(e=>({objectId:e.coinObjectId,version:e.version,digest:e.digest}))),u}let c="0x25fa0eb553dd69fa6a8028f73a38f1df7f289fa88a58ed3d7dc5a5360155bb19",l="0x8b1a8ac6e34688cd8f8f8e5fefa9d5fb9e1ff74d2f132f8e208ae5ac9cc530bb",g="0x13d101f44a0710a5475bec5f492a87b80e03d92d1cf540f26096f65850b23d26",f=e=>e?.fields??e,p=(e,t,n)=>{let s=f(e),a=s?.[t];return i(null!=a,`${n} missing ${t}`),a};class b{sdk;constructor(e){this.sdk=e}async getConfig(){var e;let t,n,s=await this.sdk.suiClient.getObject({objectId:l,include:{json:!0}});i(s.object,"Config object not found"),i(s.object.json,"Config object has no content");let a=s.object.json,r="string"==typeof(e=a.id)?e:(i("string"==typeof e?.id,"Boosting config id is missing"),e.id),o=a.fee_receiver;i("string"==typeof o,"Boosting config fee_receiver is missing");let d=(t=f(a.tiers),i(Array.isArray(n=t?.contents),"Boosting config tiers contents are missing"),n),u={};for(let e of d){let t=p(e,"key","Boosting tier"),i=p(e,"value","Boosting tier"),n=p(i,"duration",`Boosting tier ${t}`),s=p(i,"amount",`Boosting tier ${t}`),a=p(i,"point",`Boosting tier ${t}`),r=p(i,"original_amount",`Boosting tier ${t}`);u[t]={duration:BigInt(n),amount:BigInt(s),point:BigInt(a),originalAmount:BigInt(r)}}return{id:r,receiverAddress:o,tiers:u}}async buildPayBoostingTx({walletAddress:n,tierId:s,boostingCoinType:a,currentTx:o}){let d=await this.getConfig();i(s in d.tiers,"Invalid tier ID");let g=d.tiers[s].amount,f=o||new e,p=f.splitCoins(f.gas,[f.pure.u64(g)]);f.moveCall({target:`${c}::boosting::pay`,typeArguments:[t(a)],arguments:[f.object(l),f.pure.u64(s),p]}),f.setSender(n);let b=await r(this.sdk.suiClient,f,n,0);return u({inheritTx:f,sender:n,feeAmount:b},this.sdk.suiClient)}async buildAddTierTx({adminAddress:t,tierId:i,duration:n,point:s,originalAmount:a,amount:o,currentTx:d}){let f=d||new e;f.moveCall({target:`${c}::config::add_tier`,typeArguments:[],arguments:[f.object(l),f.object(g),f.pure.u64(i),f.pure.u64(s),f.pure.u64(n),f.pure.u64(a),f.pure.u64(o)]}),f.setSender(t);let p=await r(this.sdk.suiClient,f,t,0);return u({inheritTx:f,sender:t,feeAmount:p},this.sdk.suiClient)}async buildUpdateTierTx({adminAddress:t,tierId:i,duration:n,amount:s,originalAmount:a,point:o,currentTx:d}){let f=d||new e;f.moveCall({target:`${c}::config::update_tier`,typeArguments:[],arguments:[f.object(l),f.object(g),f.pure.u64(i),f.pure.u64(n),f.pure.u64(s),f.pure.u64(o),f.pure.u64(a)]}),f.setSender(t);let p=await r(this.sdk.suiClient,f,t,0);return u({inheritTx:f,sender:t,feeAmount:p},this.sdk.suiClient)}async buildRemoveTierTx({adminAddress:t,tierId:i,currentTx:n}){let s=n||new e;s.moveCall({target:`${c}::config::remove_tier`,typeArguments:[],arguments:[s.object(l),s.object(g),s.pure.u64(i)]}),s.setSender(t);let a=await r(this.sdk.suiClient,s,t,0);return u({inheritTx:s,sender:t,feeAmount:a},this.sdk.suiClient)}async buildUpdateFeeReceiver({adminAddress:t,newReceiverAddress:i,currentTx:n}){let s=n||new e;s.moveCall({target:`${c}::config::update_fee_receiver`,typeArguments:[],arguments:[s.object(l),s.object(g),s.pure.address(i)]}),s.setSender(t);let a=await r(this.sdk.suiClient,s,t,0);return u({inheritTx:s,sender:t,feeAmount:a},this.sdk.suiClient)}async buildPayBoostingWithAdminTx({walletAddress:i,tierId:n,customAmount:s,boostingCoinType:a,currentTx:o}){let d=o||new e,f=d.splitCoins(d.gas,[d.pure.u64(s)]);d.moveCall({target:`${c}::boosting::pay_with_admin`,typeArguments:[t(a)],arguments:[d.object(g),d.object(l),d.pure.u64(n),d.pure.u64(s),f]}),d.setSender(i);let p=await r(this.sdk.suiClient,d,i,0);return u({inheritTx:d,sender:i,feeAmount:p},this.sdk.suiClient)}}let m={prod:{packageId:"0x3dd678c250a667f1551bc4b9e35fd070896f4775dd2900d5cb2910d2aea0b068",configId:"0x3eb7bd15f61b7cc1a9fd36151e9c3d05aa37bfadb0a58c3a26a6c02c2e99f3ca",adminCapId:"0xf375fcb3d95934143766cab2028ab49441fa04ef2ce27c08c01004c455bcbad4",paymentCoinType:"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC"},staging:{packageId:"0xa83cd093ce5142649adae10d21fe87d55fa2df4e52a4292c77ba039bb12bfe67",configId:"0x19fb8f91946e58c068fa4238bdd7a531216a0c4dcfaa279a8a02c60cb02f6711",adminCapId:"0xd8139544d054702dfab6de4e9c55f162c8a6f30465935af56cffed99c5e1c2bd",paymentCoinType:"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC"}};class h{sdk;constructor(e){this.sdk=e}async getConfig(){let e=await this.sdk.suiClient.getObject({objectId:m[this.sdk.env].configId,include:{json:!0}});i(e.object,"Config object not found"),i(e.object.json,"Config object has no content");let t=e.object.json,n=t.id.id,s=t.fee_receiver,a=t.paused,r=t.accepted_payment_type,o=t.plans.fields.contents,d={};for(let e of o){let t=e.fields.key,i=e.fields.value.fields.id,n=e.fields.value.fields.price,s=e.fields.value.fields.month_interval,a=e.fields.value.fields.ptype;d[t]={id:BigInt(i),price:BigInt(n),monthInterval:s,planType:a}}return{id:n,plans:d,feeReceiverWallet:s,paused:a,acceptedPaymentType:r}}async buildSubscribeCyclePlanTx({walletAddress:e,planId:t,reference:n,paymentCoinType:s=m[this.sdk.env].paymentCoinType,currentTx:a}){let o=await this.getConfig();i(!o.paused,"Contract is paused"),i(t in o.plans,"Invalid plan ID");let c=o.plans[t],l=c.price*BigInt(c.monthInterval),{tx:g,coinData:f}=await d({account:e,amount:l.toString(),splits:[l.toString()],coinType:s,inheritTx:a},this.sdk.suiClient);g.moveCall({target:`${m[this.sdk.env].packageId}::subscription::subscribe_cycle_plan`,typeArguments:[s],arguments:[g.object(m[this.sdk.env].configId),g.pure.u64(t),g.pure.string(n),f]}),g.setSender(e);let p=await r(this.sdk.suiClient,g,e,0);return u({inheritTx:g,sender:e,feeAmount:p},this.sdk.suiClient)}async buildBuyMoreCUPlanTx({walletAddress:e,planId:t,reference:n,paidAmount:s,paymentCoinType:a=m[this.sdk.env].paymentCoinType,currentTx:o}){let c=await this.getConfig();i(!c.paused,"Contract is paused"),i(t in c.plans,"Invalid plan ID");let{tx:l,coinData:g}=await d({account:e,amount:s.toString(),splits:[s.toString()],coinType:a,inheritTx:o},this.sdk.suiClient);l.moveCall({target:`${m[this.sdk.env].packageId}::subscription::buy_more_cu`,typeArguments:[a],arguments:[l.object(m[this.sdk.env].configId),l.pure.u64(t),l.pure.string(n),l.pure.u64(s),g]}),l.setSender(e);let f=await r(this.sdk.suiClient,l,e,0);return u({inheritTx:l,sender:e,feeAmount:f},this.sdk.suiClient)}async buildSubscribePlanWithAdminTx({walletAddress:e,planId:t,reference:n,customAmount:s,paymentCoinType:a=m[this.sdk.env].paymentCoinType,currentTx:o}){i(!(await this.getConfig()).paused,"Contract is paused");let{tx:c,coinData:l}=await d({account:e,amount:s.toString(),splits:[s.toString()],coinType:a,inheritTx:o},this.sdk.suiClient);c.moveCall({target:`${m[this.sdk.env].packageId}::subscription::subscribe_plan_with_admin`,typeArguments:[a],arguments:[c.object(m[this.sdk.env].adminCapId),c.object(m[this.sdk.env].configId),c.pure.u64(t),c.pure.string(n),c.pure.u64(s),l]}),c.setSender(e);let g=await r(this.sdk.suiClient,c,e,0);return u({inheritTx:c,sender:e,feeAmount:g},this.sdk.suiClient)}async buildAddPlanTx({adminAddress:t,planId:i,planType:n,monthInterval:s,price:a,currentTx:o}){let d=o||new e;d.moveCall({target:`${m[this.sdk.env].packageId}::config::add_plan`,typeArguments:[],arguments:[d.object(m[this.sdk.env].configId),d.object(m[this.sdk.env].adminCapId),d.pure.u64(i),d.pure.u8(n),d.pure.u8(s),d.pure.u64(a)]}),d.setSender(t);let c=await r(this.sdk.suiClient,d,t,0);return u({inheritTx:d,sender:t,feeAmount:c},this.sdk.suiClient)}async buildUpdatePlanTx({adminAddress:t,planId:i,planType:n,monthInterval:s,price:a,currentTx:o}){let d=o||new e;d.moveCall({target:`${m[this.sdk.env].packageId}::config::update_plan`,typeArguments:[],arguments:[d.object(m[this.sdk.env].configId),d.object(m[this.sdk.env].adminCapId),d.pure.u64(BigInt(i)),d.pure.u8(n),d.pure.u8(s),d.pure.u64(a)]}),d.setSender(t);let c=await r(this.sdk.suiClient,d,t,0);return u({inheritTx:d,sender:t,feeAmount:c},this.sdk.suiClient)}async buildRemovePlanTx({adminAddress:t,planId:i,currentTx:n}){let s=n||new e;s.moveCall({target:`${m[this.sdk.env].packageId}::config::remove_plan`,typeArguments:[],arguments:[s.object(m[this.sdk.env].configId),s.object(m[this.sdk.env].adminCapId),s.pure.u64(BigInt(i))]}),s.setSender(t);let a=await r(this.sdk.suiClient,s,t,0);return u({inheritTx:s,sender:t,feeAmount:a},this.sdk.suiClient)}async buildUpdateFeeReceiverWalletTx({adminAddress:t,newFeeReceiverWallet:i,currentTx:n}){let s=n||new e;s.moveCall({target:`${m[this.sdk.env].packageId}::config::update_fee_receiver`,typeArguments:[],arguments:[s.object(m[this.sdk.env].configId),s.object(m[this.sdk.env].adminCapId),s.pure.address(i)]}),s.setSender(t);let a=await r(this.sdk.suiClient,s,t,0);return u({inheritTx:s,sender:t,feeAmount:a},this.sdk.suiClient)}async buildSetPausedTx({adminAddress:t,paused:i,currentTx:n}){let s=n||new e;s.moveCall({target:`${m[this.sdk.env].packageId}::config::set_paused`,typeArguments:[],arguments:[s.object(m[this.sdk.env].configId),s.object(m[this.sdk.env].adminCapId),s.pure.bool(i)]}),s.setSender(t);let a=await r(this.sdk.suiClient,s,t,0);return u({inheritTx:s,sender:t,feeAmount:a},this.sdk.suiClient)}async buildSetAcceptedPaymentTypeTx({adminAddress:t,paymentCoinType:i,currentTx:n}){let s=n||new e;s.moveCall({target:`${m[this.sdk.env].packageId}::config::set_accepted_payment_type`,typeArguments:[i],arguments:[s.object(m[this.sdk.env].configId),s.object(m[this.sdk.env].adminCapId)]}),s.setSender(t);let a=await r(this.sdk.suiClient,s,t,0);return u({inheritTx:s,sender:t,feeAmount:a},this.sdk.suiClient)}}class C{network;env;_suiClient;boostingModule;subscriptionModule;constructor(e,t="mainnet",i="prod"){this.network=t,this.env=i,this._suiClient=e,this.subscriptionModule=new h(this),this.boostingModule=new b(this)}get suiClient(){return this._suiClient}}export{g as ADMIN_CAP_ID,c as BOOSTING_PACKAGE_ID,b as BoostingModule,l as CONFIG_ID,C as NoodlesPaySdk,m as SUBSCRIPTION_CONFIG,h as SubscriptionModule,u as addGasFee,a as getAmountAfterFee,o as getCoinObjectIdsByAmount,r as getNeededGasFee,d as getSplitCoinForTx,s as getSplitCoinsAfterFee};
|
package/dist/806.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let _="0x2::sui::SUI",e="0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",d="0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN",f="0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",a="0x9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3",b="0x0000000000000000000000000000000000000000000000000000000000000006",S="0x0000000000000000000000000000000000000000000000000000000000000000";function U(d){return d===_||d===e}let c="https://fullnode.mainnet.sui.io:443",i="https://graphql.mainnet.sui.io/graphql";export{b as CLOCK_OBJECT_ID,f as NATIVE_USDC_TOKEN_TYPE,S as SUI_ADDRESS_ZERO,e as SUI_FULL_TYPE,i as SUI_GRAPHQL_URL,a as SUI_METADATA_OBJECT_ID,c as SUI_RPC_URL,_ as SUI_TYPE,d as USDC_TOKEN_TYPE,U as isSuiCoinType};
|