@dfinity/utils
Advanced tools
Comparing version
@@ -1,2 +0,2 @@ | ||
"use strict";var y=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var $=(e,t)=>{for(var r in t)y(e,r,{get:t[r],enumerable:!0})},j=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Y(t))!H.call(e,i)&&i!==r&&y(e,i,{get:()=>t[i],enumerable:!(n=K(t,i))||n.enumerable});return e};var v=e=>j(y({},"__esModule",{value:!0}),e);var _t={};$(_t,{AgentManager:()=>I,Canister:()=>N,FromStringToTokenError:()=>A,ICPToken:()=>z,InvalidPercentageError:()=>l,NullishError:()=>p,TokenAmount:()=>h,TokenAmountV2:()=>T,arrayBufferToUint8Array:()=>rt,arrayOfNumberToUint8Array:()=>it,asNonNullish:()=>W,asciiStringToByteArray:()=>ot,assertNonNullish:()=>x,assertPercentageNumber:()=>X,bigEndianCrc32:()=>ut,bigIntToUint8Array:()=>tt,candidNumberArrayToBigInt:()=>st,convertStringToE8s:()=>O,createAgent:()=>R,createServices:()=>G,debounce:()=>yt,decodeBase32:()=>dt,defaultAgent:()=>U,encodeBase32:()=>xt,fromDefinedNullable:()=>ht,fromNullable:()=>C,hexStringToUint8Array:()=>at,isEmptyString:()=>Q,isNullish:()=>f,jsonReplacer:()=>Tt,jsonReviver:()=>Nt,nonNullish:()=>c,notEmptyString:()=>P,nowInBigIntNanoSeconds:()=>gt,numberToUint8Array:()=>et,principalToSubAccount:()=>It,secondsToDuration:()=>pt,smallerVersion:()=>Ut,toNullable:()=>At,uint8ArrayToArrayOfNumber:()=>nt,uint8ArrayToBigInt:()=>Z,uint8ArrayToHexString:()=>ct});module.exports=v(_t);var A=(n=>(n[n.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",n[n.InvalidFormat=1]="InvalidFormat",n[n.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",n))(A||{});var k=BigInt(1e8);var q=8,O=e=>{let t=e.includes("e")?Number(e).toLocaleString("en",{useGrouping:!1,maximumFractionDigits:20}):e;t=t.trim().replace(/[,']/g,"");let r=t.match(/\d*(\.\d*)?/);if(!r||r[0]!==t)return 1;let[n,i]=t.split("."),o=BigInt(0);if(n)try{o+=BigInt(n)*k}catch{return 1}if(i){if(i.length>8)return 0;try{o+=BigInt(i.padEnd(8,"0"))}catch{return 1}}return o},J=({amount:e,decimals:t})=>{e=e.trim().replace(/[,']/g,"");let r=e.match(/\d*(\.\d*)?/);if(!r||r[0]!==e)return 1;let[n,i]=e.split("."),o=0n,s=10n**BigInt(t);if(n)try{o+=BigInt(n)*s}catch{return 1}if(i){if(i.length>t)return 2;try{o+=BigInt(i.padEnd(t,"0"))}catch{return 1}}return o},z={symbol:"ICP",name:"Internet Computer",decimals:8},h=class e{constructor(t,r){this.e8s=t;this.token=r;if(r.decimals!==8)throw new Error("Use TokenAmountV2 for number of decimals other than 8")}static fromE8s({amount:t,token:r}){return new e(t,r)}static fromString({amount:t,token:r}){if(r.decimals!==8)throw new Error("Use TokenAmountV2 for number of decimals other than 8");let n=O(t);return typeof n=="bigint"?new e(n,r):n}static fromNumber({amount:t,token:r}){let n=e.fromString({amount:t.toString(),token:r});if(n instanceof e)return n;throw n===0?new Error(`Number ${t} has more than 8 decimals`):new Error(`Invalid number ${t}`)}toE8s(){return this.e8s}},T=class e{constructor(t,r){this.ulps=t;this.token=r}static fromUlps({amount:t,token:r}){return new e(t,r)}static fromString({amount:t,token:r}){let n=J({amount:t,decimals:r.decimals});return typeof n=="bigint"?new e(n,r):n}static fromNumber({amount:t,token:r}){let n=e.fromString({amount:t.toFixed(Math.min(q,r.decimals)),token:r});if(n instanceof e)return n;throw n===2?new Error(`Number ${t} has more than ${r.decimals} decimals`):new Error(`Invalid number ${t}`)}toUlps(){return this.ulps}toE8s(){return this.token.decimals<8?this.ulps*10n**BigInt(8-this.token.decimals):this.token.decimals===8?this.ulps:this.ulps/10n**BigInt(this.token.decimals-8)}};var N=class{constructor(t,r,n){this.id=t;this.service=r;this.certifiedService=n;this.caller=({certified:t=!0})=>t?this.certifiedService:this.service}get canisterId(){return this.id}};var _=require("@dfinity/agent");var b=require("@dfinity/agent");var f=e=>e==null,c=e=>!f(e),P=e=>c(e)&&e!=="",Q=e=>!P(e);var U=()=>b.HttpAgent.createSync({host:"https://icp-api.io",identity:new b.AnonymousIdentity}),R=async({identity:e,host:t,fetchRootKey:r=!1,verifyQuerySignatures:n=!1,retryTimes:i})=>await b.HttpAgent.create({identity:e,...c(t)&&{host:t},verifyQuerySignatures:n,...c(i)&&{retryTimes:i},shouldFetchRootKey:r}),I=class e{constructor(t){this.config=t;this.agents=void 0}static create(t){return new e(t)}async getAgent({identity:t}){let r=t.getPrincipal().toText();if(f(this.agents)||f(this.agents[r])){let n=await R({identity:t,fetchRootKey:this.config.fetchRootKey,host:this.config.host,verifyQuerySignatures:!0});return this.agents={...this.agents??{},[r]:n},n}return this.agents[r]}clearAgents(){this.agents=null}};var G=({options:{canisterId:e,serviceOverride:t,certifiedServiceOverride:r,agent:n,callTransform:i,queryTransform:o},idlFactory:s,certifiedIdlFactory:a})=>{let g=n??U(),L=t??_.Actor.createActor(s,{agent:g,canisterId:e,callTransform:i,queryTransform:o}),V=r??_.Actor.createActor(a,{agent:g,canisterId:e,callTransform:i,queryTransform:o});return{service:L,certifiedService:V,agent:g,canisterId:e}};var l=class extends Error{},p=class extends Error{},x=(e,t)=>{if(e==null)throw new p(t)},W=(e,t)=>(x(e,t),e),X=e=>{if(e<0||e>100)throw new l(`${e} is not a valid percentage number.`)};var Z=e=>{let t=new DataView(e.buffer,e.byteOffset,e.byteLength);if(typeof t.getBigUint64=="function")return t.getBigUint64(0);{let r=BigInt(t.getUint32(0)),n=BigInt(t.getUint32(4));return(r<<BigInt(32))+n}},tt=e=>{let t=new ArrayBuffer(8),r=new DataView(t);if(typeof r.setBigUint64=="function")r.setBigUint64(0,e);else{let n=Number(e>>BigInt(32)),i=Number(e&BigInt(4294967295));r.setUint32(0,n),r.setUint32(4,i)}return new Uint8Array(t)},et=e=>{let t=new DataView(new ArrayBuffer(8));for(let r=7;r>=0;--r)t.setUint8(r,e%256),e=e>>8;return new Uint8Array(t.buffer)},rt=e=>new Uint8Array(e),nt=e=>Array.from(e),it=e=>new Uint8Array(e),ot=e=>Array.from(e).map(t=>t.charCodeAt(0)),at=e=>{let t=e.match(/.{1,2}/g);return x(t,"Invalid hex string."),Uint8Array.from(t.map(r=>parseInt(r,16)))},ct=e=>(e instanceof Uint8Array||(e=Uint8Array.from(e)),e.reduce((t,r)=>t+r.toString(16).padStart(2,"0"),"")),st=e=>{let t=0n;for(let r=e.length-1;r>=0;r--)t=(t<<32n)+BigInt(e[r]);return t};var m="abcdefghijklmnopqrstuvwxyz234567",d=Object.create(null);for(let e=0;e<m.length;e++)d[m[e]]=e;d[0]=d.o;d[1]=d.i;var xt=e=>{let t=0,r=0,n="";function i(o){return t<0?r|=o>>-t:r=o<<t&248,t>3?(t-=8,1):(t<4&&(n+=m[r>>3],t+=5),0)}for(let o=0;o<e.length;)o+=i(e[o]);return n+(t<0?m[r>>3]:"")};function dt(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),i=0;function o(s){let a=d[s.toLowerCase()];x(a,`Invalid character: ${JSON.stringify(s)}`),a<<=3,r|=a>>>t,t+=5,t>=8&&(n[i++]=r,t-=8,t>0?r=a<<5-t&255:r=0)}for(let s of e)o(s);return n.slice(0,i)}var ft=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]),bt=e=>{let t=-1;for(let r=0;r<e.length;r++){let i=(e[r]^t)&255;t=ft[i]^t>>>8}return(t^-1)>>>0},ut=e=>{let t=new ArrayBuffer(4);return new DataView(t).setUint32(0,bt(e),!1),new Uint8Array(t)};var lt={year:"year",year_plural:"years",month:"month",month_plural:"months",day:"day",day_plural:"days",hour:"hour",hour_plural:"hours",minute:"minute",minute_plural:"minutes",second:"second",second_plural:"seconds"},pt=({seconds:e,i18n:t=lt})=>{let r=e/BigInt(60),n=r/BigInt(60);r-=n*BigInt(60);let i=n/BigInt(24);n-=i*BigInt(24);let o=mt(i);return i-=D(o),[u("year",o),u("day",i),u("hour",n),u("minute",r),...e>BigInt(0)&&e<BigInt(60)?[u("second",e)]:[]].filter(({amount:a})=>a>0).slice(0,2).map(a=>`${a.amount} ${a.amount===1?t[a.labelKey]:t[`${a.labelKey}_plural`]}`).join(", ")},mt=e=>{let t=e/BigInt(365);for(;D(t)>e;)t--;return t},D=e=>{let t=e/BigInt(4);return e*BigInt(365)+t},u=(e,t)=>({labelKey:e,amount:Number(t)}),gt=()=>BigInt(Date.now())*BigInt(1e6);var yt=(e,t)=>{let r;return(...n)=>{let i=()=>e(...n);r&&clearTimeout(r),r=setTimeout(i,t!==void 0&&t>0?t:300)}};var At=e=>c(e)?[e]:[],C=e=>e==null?void 0:e[0],ht=e=>{let t=C(e);return x(t),t};var E=require("@dfinity/principal");var S="__bigint__",w="__principal__",B="__uint8array__",Tt=(e,t)=>typeof t=="bigint"?{[S]:`${t}`}:c(t)&&t instanceof E.Principal?{[w]:t.toText()}:c(t)&&t instanceof Uint8Array?{[B]:Array.from(t)}:t,Nt=(e,t)=>{let r=n=>t[n];return c(t)&&typeof t=="object"&&S in t?BigInt(r(S)):c(t)&&typeof t=="object"&&w in t?E.Principal.fromText(r(w)):c(t)&&typeof t=="object"&&B in t?Uint8Array.from(r(B)):t};var It=e=>{let t=e.toUint8Array(),r=new Uint8Array(32);return r[0]=t.length,r.set(t,1),r};var M=(e,t)=>t>e.length?[...e,...[...Array(t-e.length).keys()].map(()=>0)]:e,F=e=>{if(!Number.isNaN(Number(e)))return Number(e);let t=e.split("").reduce((r,n)=>Number.isNaN(Number(n))?r:r+n,"");return Number(t)},Ut=({minVersion:e,currentVersion:t})=>{let r=M(e.split(".").map(F),3).join(".");return M(t.split(".").map(F),3).join(".").localeCompare(r,void 0,{numeric:!0,sensitivity:"base"})<0};0&&(module.exports={AgentManager,Canister,FromStringToTokenError,ICPToken,InvalidPercentageError,NullishError,TokenAmount,TokenAmountV2,arrayBufferToUint8Array,arrayOfNumberToUint8Array,asNonNullish,asciiStringToByteArray,assertNonNullish,assertPercentageNumber,bigEndianCrc32,bigIntToUint8Array,candidNumberArrayToBigInt,convertStringToE8s,createAgent,createServices,debounce,decodeBase32,defaultAgent,encodeBase32,fromDefinedNullable,fromNullable,hexStringToUint8Array,isEmptyString,isNullish,jsonReplacer,jsonReviver,nonNullish,notEmptyString,nowInBigIntNanoSeconds,numberToUint8Array,principalToSubAccount,secondsToDuration,smallerVersion,toNullable,uint8ArrayToArrayOfNumber,uint8ArrayToBigInt,uint8ArrayToHexString}); | ||
"use strict";var y=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var $=(e,t)=>{for(var r in t)y(e,r,{get:t[r],enumerable:!0})},j=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Y(t))!H.call(e,i)&&i!==r&&y(e,i,{get:()=>t[i],enumerable:!(n=K(t,i))||n.enumerable});return e};var v=e=>j(y({},"__esModule",{value:!0}),e);var St={};$(St,{AgentManager:()=>I,Canister:()=>N,FromStringToTokenError:()=>A,ICPToken:()=>z,InvalidPercentageError:()=>l,NullishError:()=>p,TokenAmount:()=>T,TokenAmountV2:()=>h,arrayBufferToUint8Array:()=>rt,arrayOfNumberToUint8Array:()=>it,asNonNullish:()=>W,asciiStringToByteArray:()=>ot,assertNonNullish:()=>x,assertPercentageNumber:()=>X,bigEndianCrc32:()=>ut,bigIntToUint8Array:()=>tt,candidNumberArrayToBigInt:()=>st,convertStringToE8s:()=>P,createAgent:()=>D,createServices:()=>G,debounce:()=>yt,decodeBase32:()=>dt,defaultAgent:()=>U,encodeBase32:()=>xt,fromDefinedNullable:()=>Tt,fromNullable:()=>S,fromNullishNullable:()=>ht,hexStringToUint8Array:()=>at,isEmptyString:()=>Q,isNullish:()=>f,jsonReplacer:()=>Nt,jsonReviver:()=>It,nonNullish:()=>c,notEmptyString:()=>R,nowInBigIntNanoSeconds:()=>gt,numberToUint8Array:()=>et,principalToSubAccount:()=>Ut,secondsToDuration:()=>pt,smallerVersion:()=>_t,toNullable:()=>At,uint8ArrayToArrayOfNumber:()=>nt,uint8ArrayToBigInt:()=>Z,uint8ArrayToHexString:()=>ct});module.exports=v(St);var A=(n=>(n[n.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",n[n.InvalidFormat=1]="InvalidFormat",n[n.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",n))(A||{});var O=BigInt(1e8);var q=8,P=e=>{let t=e.includes("e")?Number(e).toLocaleString("en",{useGrouping:!1,maximumFractionDigits:20}):e;t=t.trim().replace(/[,']/g,"");let r=t.match(/\d*(\.\d*)?/);if(!r||r[0]!==t)return 1;let[n,i]=t.split("."),o=BigInt(0);if(n)try{o+=BigInt(n)*O}catch{return 1}if(i){if(i.length>8)return 0;try{o+=BigInt(i.padEnd(8,"0"))}catch{return 1}}return o},J=({amount:e,decimals:t})=>{e=e.trim().replace(/[,']/g,"");let r=e.match(/\d*(\.\d*)?/);if(!r||r[0]!==e)return 1;let[n,i]=e.split("."),o=0n,s=10n**BigInt(t);if(n)try{o+=BigInt(n)*s}catch{return 1}if(i){if(i.length>t)return 2;try{o+=BigInt(i.padEnd(t,"0"))}catch{return 1}}return o},z={symbol:"ICP",name:"Internet Computer",decimals:8},T=class e{constructor(t,r){this.e8s=t;this.token=r;if(r.decimals!==8)throw new Error("Use TokenAmountV2 for number of decimals other than 8")}static fromE8s({amount:t,token:r}){return new e(t,r)}static fromString({amount:t,token:r}){if(r.decimals!==8)throw new Error("Use TokenAmountV2 for number of decimals other than 8");let n=P(t);return typeof n=="bigint"?new e(n,r):n}static fromNumber({amount:t,token:r}){let n=e.fromString({amount:t.toString(),token:r});if(n instanceof e)return n;throw n===0?new Error(`Number ${t} has more than 8 decimals`):new Error(`Invalid number ${t}`)}toE8s(){return this.e8s}},h=class e{constructor(t,r){this.ulps=t;this.token=r}static fromUlps({amount:t,token:r}){return new e(t,r)}static fromString({amount:t,token:r}){let n=J({amount:t,decimals:r.decimals});return typeof n=="bigint"?new e(n,r):n}static fromNumber({amount:t,token:r}){let n=e.fromString({amount:t.toFixed(Math.min(q,r.decimals)),token:r});if(n instanceof e)return n;throw n===2?new Error(`Number ${t} has more than ${r.decimals} decimals`):new Error(`Invalid number ${t}`)}toUlps(){return this.ulps}toE8s(){return this.token.decimals<8?this.ulps*10n**BigInt(8-this.token.decimals):this.token.decimals===8?this.ulps:this.ulps/10n**BigInt(this.token.decimals-8)}};var N=class{constructor(t,r,n){this.id=t;this.service=r;this.certifiedService=n;this.caller=({certified:t=!0})=>t?this.certifiedService:this.service}get canisterId(){return this.id}};var _=require("@dfinity/agent");var b=require("@dfinity/agent");var f=e=>e==null,c=e=>!f(e),R=e=>c(e)&&e!=="",Q=e=>!R(e);var U=()=>b.HttpAgent.createSync({host:"https://icp-api.io",identity:new b.AnonymousIdentity}),D=async({identity:e,host:t,fetchRootKey:r=!1,verifyQuerySignatures:n=!1,retryTimes:i})=>await b.HttpAgent.create({identity:e,...c(t)&&{host:t},verifyQuerySignatures:n,...c(i)&&{retryTimes:i},shouldFetchRootKey:r}),I=class e{constructor(t){this.config=t;this.agents=void 0}static create(t){return new e(t)}async getAgent({identity:t}){let r=t.getPrincipal().toText();if(f(this.agents)||f(this.agents[r])){let n=await D({identity:t,fetchRootKey:this.config.fetchRootKey,host:this.config.host,verifyQuerySignatures:!0});return this.agents={...this.agents??{},[r]:n},n}return this.agents[r]}clearAgents(){this.agents=null}};var G=({options:{canisterId:e,serviceOverride:t,certifiedServiceOverride:r,agent:n,callTransform:i,queryTransform:o},idlFactory:s,certifiedIdlFactory:a})=>{let g=n??U(),L=t??_.Actor.createActor(s,{agent:g,canisterId:e,callTransform:i,queryTransform:o}),V=r??_.Actor.createActor(a,{agent:g,canisterId:e,callTransform:i,queryTransform:o});return{service:L,certifiedService:V,agent:g,canisterId:e}};var l=class extends Error{},p=class extends Error{},x=(e,t)=>{if(e==null)throw new p(t)},W=(e,t)=>(x(e,t),e),X=e=>{if(e<0||e>100)throw new l(`${e} is not a valid percentage number.`)};var Z=e=>{let t=new DataView(e.buffer,e.byteOffset,e.byteLength);if(typeof t.getBigUint64=="function")return t.getBigUint64(0);{let r=BigInt(t.getUint32(0)),n=BigInt(t.getUint32(4));return(r<<BigInt(32))+n}},tt=e=>{let t=new ArrayBuffer(8),r=new DataView(t);if(typeof r.setBigUint64=="function")r.setBigUint64(0,e);else{let n=Number(e>>BigInt(32)),i=Number(e&BigInt(4294967295));r.setUint32(0,n),r.setUint32(4,i)}return new Uint8Array(t)},et=e=>{let t=new DataView(new ArrayBuffer(8));for(let r=7;r>=0;--r)t.setUint8(r,e%256),e=e>>8;return new Uint8Array(t.buffer)},rt=e=>new Uint8Array(e),nt=e=>Array.from(e),it=e=>new Uint8Array(e),ot=e=>Array.from(e).map(t=>t.charCodeAt(0)),at=e=>{let t=e.match(/.{1,2}/g);return x(t,"Invalid hex string."),Uint8Array.from(t.map(r=>parseInt(r,16)))},ct=e=>(e instanceof Uint8Array||(e=Uint8Array.from(e)),e.reduce((t,r)=>t+r.toString(16).padStart(2,"0"),"")),st=e=>{let t=0n;for(let r=e.length-1;r>=0;r--)t=(t<<32n)+BigInt(e[r]);return t};var m="abcdefghijklmnopqrstuvwxyz234567",d=Object.create(null);for(let e=0;e<m.length;e++)d[m[e]]=e;d[0]=d.o;d[1]=d.i;var xt=e=>{let t=0,r=0,n="";function i(o){return t<0?r|=o>>-t:r=o<<t&248,t>3?(t-=8,1):(t<4&&(n+=m[r>>3],t+=5),0)}for(let o=0;o<e.length;)o+=i(e[o]);return n+(t<0?m[r>>3]:"")};function dt(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),i=0;function o(s){let a=d[s.toLowerCase()];x(a,`Invalid character: ${JSON.stringify(s)}`),a<<=3,r|=a>>>t,t+=5,t>=8&&(n[i++]=r,t-=8,t>0?r=a<<5-t&255:r=0)}for(let s of e)o(s);return n.slice(0,i)}var ft=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]),bt=e=>{let t=-1;for(let r=0;r<e.length;r++){let i=(e[r]^t)&255;t=ft[i]^t>>>8}return(t^-1)>>>0},ut=e=>{let t=new ArrayBuffer(4);return new DataView(t).setUint32(0,bt(e),!1),new Uint8Array(t)};var lt={year:"year",year_plural:"years",month:"month",month_plural:"months",day:"day",day_plural:"days",hour:"hour",hour_plural:"hours",minute:"minute",minute_plural:"minutes",second:"second",second_plural:"seconds"},pt=({seconds:e,i18n:t=lt})=>{let r=e/BigInt(60),n=r/BigInt(60);r-=n*BigInt(60);let i=n/BigInt(24);n-=i*BigInt(24);let o=mt(i);return i-=C(o),[u("year",o),u("day",i),u("hour",n),u("minute",r),...e>BigInt(0)&&e<BigInt(60)?[u("second",e)]:[]].filter(({amount:a})=>a>0).slice(0,2).map(a=>`${a.amount} ${a.amount===1?t[a.labelKey]:t[`${a.labelKey}_plural`]}`).join(", ")},mt=e=>{let t=e/BigInt(365);for(;C(t)>e;)t--;return t},C=e=>{let t=e/BigInt(4);return e*BigInt(365)+t},u=(e,t)=>({labelKey:e,amount:Number(t)}),gt=()=>BigInt(Date.now())*BigInt(1e6);var yt=(e,t)=>{let r;return(...n)=>{let i=()=>e(...n);r&&clearTimeout(r),r=setTimeout(i,t!==void 0&&t>0?t:300)}};var At=e=>c(e)?[e]:[],S=e=>e==null?void 0:e[0],Tt=e=>{let t=S(e);return x(t),t},ht=e=>S(e??[]);var k=require("@dfinity/principal");var w="__bigint__",B="__principal__",E="__uint8array__",Nt=(e,t)=>typeof t=="bigint"?{[w]:`${t}`}:c(t)&&t instanceof k.Principal?{[B]:t.toText()}:c(t)&&t instanceof Uint8Array?{[E]:Array.from(t)}:t,It=(e,t)=>{let r=n=>t[n];return c(t)&&typeof t=="object"&&w in t?BigInt(r(w)):c(t)&&typeof t=="object"&&B in t?k.Principal.fromText(r(B)):c(t)&&typeof t=="object"&&E in t?Uint8Array.from(r(E)):t};var Ut=e=>{let t=e.toUint8Array(),r=new Uint8Array(32);return r[0]=t.length,r.set(t,1),r};var M=(e,t)=>t>e.length?[...e,...[...Array(t-e.length).keys()].map(()=>0)]:e,F=e=>{if(!Number.isNaN(Number(e)))return Number(e);let t=e.split("").reduce((r,n)=>Number.isNaN(Number(n))?r:r+n,"");return Number(t)},_t=({minVersion:e,currentVersion:t})=>{let r=M(e.split(".").map(F),3).join(".");return M(t.split(".").map(F),3).join(".").localeCompare(r,void 0,{numeric:!0,sensitivity:"base"})<0};0&&(module.exports={AgentManager,Canister,FromStringToTokenError,ICPToken,InvalidPercentageError,NullishError,TokenAmount,TokenAmountV2,arrayBufferToUint8Array,arrayOfNumberToUint8Array,asNonNullish,asciiStringToByteArray,assertNonNullish,assertPercentageNumber,bigEndianCrc32,bigIntToUint8Array,candidNumberArrayToBigInt,convertStringToE8s,createAgent,createServices,debounce,decodeBase32,defaultAgent,encodeBase32,fromDefinedNullable,fromNullable,fromNullishNullable,hexStringToUint8Array,isEmptyString,isNullish,jsonReplacer,jsonReviver,nonNullish,notEmptyString,nowInBigIntNanoSeconds,numberToUint8Array,principalToSubAccount,secondsToDuration,smallerVersion,toNullable,uint8ArrayToArrayOfNumber,uint8ArrayToBigInt,uint8ArrayToHexString}); | ||
//# sourceMappingURL=index.cjs.js.map |
@@ -1,2 +0,2 @@ | ||
var h=(n=>(n[n.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",n[n.InvalidFormat=1]="InvalidFormat",n[n.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",n))(h||{});var T=BigInt(1e8);var C=8,M=e=>{let t=e.includes("e")?Number(e).toLocaleString("en",{useGrouping:!1,maximumFractionDigits:20}):e;t=t.trim().replace(/[,']/g,"");let r=t.match(/\d*(\.\d*)?/);if(!r||r[0]!==t)return 1;let[n,i]=t.split("."),o=BigInt(0);if(n)try{o+=BigInt(n)*T}catch{return 1}if(i){if(i.length>8)return 0;try{o+=BigInt(i.padEnd(8,"0"))}catch{return 1}}return o},F=({amount:e,decimals:t})=>{e=e.trim().replace(/[,']/g,"");let r=e.match(/\d*(\.\d*)?/);if(!r||r[0]!==e)return 1;let[n,i]=e.split("."),o=0n,s=10n**BigInt(t);if(n)try{o+=BigInt(n)*s}catch{return 1}if(i){if(i.length>t)return 2;try{o+=BigInt(i.padEnd(t,"0"))}catch{return 1}}return o},G={symbol:"ICP",name:"Internet Computer",decimals:8},N=class e{constructor(t,r){this.e8s=t;this.token=r;if(r.decimals!==8)throw new Error("Use TokenAmountV2 for number of decimals other than 8")}static fromE8s({amount:t,token:r}){return new e(t,r)}static fromString({amount:t,token:r}){if(r.decimals!==8)throw new Error("Use TokenAmountV2 for number of decimals other than 8");let n=M(t);return typeof n=="bigint"?new e(n,r):n}static fromNumber({amount:t,token:r}){let n=e.fromString({amount:t.toString(),token:r});if(n instanceof e)return n;throw n===0?new Error(`Number ${t} has more than 8 decimals`):new Error(`Invalid number ${t}`)}toE8s(){return this.e8s}},I=class e{constructor(t,r){this.ulps=t;this.token=r}static fromUlps({amount:t,token:r}){return new e(t,r)}static fromString({amount:t,token:r}){let n=F({amount:t,decimals:r.decimals});return typeof n=="bigint"?new e(n,r):n}static fromNumber({amount:t,token:r}){let n=e.fromString({amount:t.toFixed(Math.min(C,r.decimals)),token:r});if(n instanceof e)return n;throw n===2?new Error(`Number ${t} has more than ${r.decimals} decimals`):new Error(`Invalid number ${t}`)}toUlps(){return this.ulps}toE8s(){return this.token.decimals<8?this.ulps*10n**BigInt(8-this.token.decimals):this.token.decimals===8?this.ulps:this.ulps/10n**BigInt(this.token.decimals-8)}};var U=class{constructor(t,r,n){this.id=t;this.service=r;this.certifiedService=n;this.caller=({certified:t=!0})=>t?this.certifiedService:this.service}get canisterId(){return this.id}};import{Actor as B}from"@dfinity/agent";import{AnonymousIdentity as V,HttpAgent as S}from"@dfinity/agent";var b=e=>e==null,c=e=>!b(e),L=e=>c(e)&&e!=="",Z=e=>!L(e);var w=()=>S.createSync({host:"https://icp-api.io",identity:new V}),K=async({identity:e,host:t,fetchRootKey:r=!1,verifyQuerySignatures:n=!1,retryTimes:i})=>await S.create({identity:e,...c(t)&&{host:t},verifyQuerySignatures:n,...c(i)&&{retryTimes:i},shouldFetchRootKey:r}),_=class e{constructor(t){this.config=t;this.agents=void 0}static create(t){return new e(t)}async getAgent({identity:t}){let r=t.getPrincipal().toText();if(b(this.agents)||b(this.agents[r])){let n=await K({identity:t,fetchRootKey:this.config.fetchRootKey,host:this.config.host,verifyQuerySignatures:!0});return this.agents={...this.agents??{},[r]:n},n}return this.agents[r]}clearAgents(){this.agents=null}};var at=({options:{canisterId:e,serviceOverride:t,certifiedServiceOverride:r,agent:n,callTransform:i,queryTransform:o},idlFactory:s,certifiedIdlFactory:a})=>{let l=n??w(),R=t??B.createActor(s,{agent:l,canisterId:e,callTransform:i,queryTransform:o}),D=r??B.createActor(a,{agent:l,canisterId:e,callTransform:i,queryTransform:o});return{service:R,certifiedService:D,agent:l,canisterId:e}};var p=class extends Error{},m=class extends Error{},x=(e,t)=>{if(e==null)throw new m(t)},st=(e,t)=>(x(e,t),e),xt=e=>{if(e<0||e>100)throw new p(`${e} is not a valid percentage number.`)};var bt=e=>{let t=new DataView(e.buffer,e.byteOffset,e.byteLength);if(typeof t.getBigUint64=="function")return t.getBigUint64(0);{let r=BigInt(t.getUint32(0)),n=BigInt(t.getUint32(4));return(r<<BigInt(32))+n}},ut=e=>{let t=new ArrayBuffer(8),r=new DataView(t);if(typeof r.setBigUint64=="function")r.setBigUint64(0,e);else{let n=Number(e>>BigInt(32)),i=Number(e&BigInt(4294967295));r.setUint32(0,n),r.setUint32(4,i)}return new Uint8Array(t)},lt=e=>{let t=new DataView(new ArrayBuffer(8));for(let r=7;r>=0;--r)t.setUint8(r,e%256),e=e>>8;return new Uint8Array(t.buffer)},pt=e=>new Uint8Array(e),mt=e=>Array.from(e),gt=e=>new Uint8Array(e),yt=e=>Array.from(e).map(t=>t.charCodeAt(0)),At=e=>{let t=e.match(/.{1,2}/g);return x(t,"Invalid hex string."),Uint8Array.from(t.map(r=>parseInt(r,16)))},ht=e=>(e instanceof Uint8Array||(e=Uint8Array.from(e)),e.reduce((t,r)=>t+r.toString(16).padStart(2,"0"),"")),Tt=e=>{let t=0n;for(let r=e.length-1;r>=0;r--)t=(t<<32n)+BigInt(e[r]);return t};var u="abcdefghijklmnopqrstuvwxyz234567",d=Object.create(null);for(let e=0;e<u.length;e++)d[u[e]]=e;d[0]=d.o;d[1]=d.i;var Ut=e=>{let t=0,r=0,n="";function i(o){return t<0?r|=o>>-t:r=o<<t&248,t>3?(t-=8,1):(t<4&&(n+=u[r>>3],t+=5),0)}for(let o=0;o<e.length;)o+=i(e[o]);return n+(t<0?u[r>>3]:"")};function _t(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),i=0;function o(s){let a=d[s.toLowerCase()];x(a,`Invalid character: ${JSON.stringify(s)}`),a<<=3,r|=a>>>t,t+=5,t>=8&&(n[i++]=r,t-=8,t>0?r=a<<5-t&255:r=0)}for(let s of e)o(s);return n.slice(0,i)}var Y=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]),v=e=>{let t=-1;for(let r=0;r<e.length;r++){let i=(e[r]^t)&255;t=Y[i]^t>>>8}return(t^-1)>>>0},wt=e=>{let t=new ArrayBuffer(4);return new DataView(t).setUint32(0,v(e),!1),new Uint8Array(t)};var H={year:"year",year_plural:"years",month:"month",month_plural:"months",day:"day",day_plural:"days",hour:"hour",hour_plural:"hours",minute:"minute",minute_plural:"minutes",second:"second",second_plural:"seconds"},Et=({seconds:e,i18n:t=H})=>{let r=e/BigInt(60),n=r/BigInt(60);r-=n*BigInt(60);let i=n/BigInt(24);n-=i*BigInt(24);let o=$(i);return i-=E(o),[f("year",o),f("day",i),f("hour",n),f("minute",r),...e>BigInt(0)&&e<BigInt(60)?[f("second",e)]:[]].filter(({amount:a})=>a>0).slice(0,2).map(a=>`${a.amount} ${a.amount===1?t[a.labelKey]:t[`${a.labelKey}_plural`]}`).join(", ")},$=e=>{let t=e/BigInt(365);for(;E(t)>e;)t--;return t},E=e=>{let t=e/BigInt(4);return e*BigInt(365)+t},f=(e,t)=>({labelKey:e,amount:Number(t)}),kt=()=>BigInt(Date.now())*BigInt(1e6);var Pt=(e,t)=>{let r;return(...n)=>{let i=()=>e(...n);r&&clearTimeout(r),r=setTimeout(i,t!==void 0&&t>0?t:300)}};var Mt=e=>c(e)?[e]:[],j=e=>e?.[0],Ft=e=>{let t=j(e);return x(t),t};import{Principal as k}from"@dfinity/principal";var g="__bigint__",y="__principal__",A="__uint8array__",Yt=(e,t)=>typeof t=="bigint"?{[g]:`${t}`}:c(t)&&t instanceof k?{[y]:t.toText()}:c(t)&&t instanceof Uint8Array?{[A]:Array.from(t)}:t,vt=(e,t)=>{let r=n=>t[n];return c(t)&&typeof t=="object"&&g in t?BigInt(r(g)):c(t)&&typeof t=="object"&&y in t?k.fromText(r(y)):c(t)&&typeof t=="object"&&A in t?Uint8Array.from(r(A)):t};var $t=e=>{let t=e.toUint8Array(),r=new Uint8Array(32);return r[0]=t.length,r.set(t,1),r};var O=(e,t)=>t>e.length?[...e,...[...Array(t-e.length).keys()].map(()=>0)]:e,P=e=>{if(!Number.isNaN(Number(e)))return Number(e);let t=e.split("").reduce((r,n)=>Number.isNaN(Number(n))?r:r+n,"");return Number(t)},qt=({minVersion:e,currentVersion:t})=>{let r=O(e.split(".").map(P),3).join(".");return O(t.split(".").map(P),3).join(".").localeCompare(r,void 0,{numeric:!0,sensitivity:"base"})<0};export{_ as AgentManager,U as Canister,h as FromStringToTokenError,G as ICPToken,p as InvalidPercentageError,m as NullishError,N as TokenAmount,I as TokenAmountV2,pt as arrayBufferToUint8Array,gt as arrayOfNumberToUint8Array,st as asNonNullish,yt as asciiStringToByteArray,x as assertNonNullish,xt as assertPercentageNumber,wt as bigEndianCrc32,ut as bigIntToUint8Array,Tt as candidNumberArrayToBigInt,M as convertStringToE8s,K as createAgent,at as createServices,Pt as debounce,_t as decodeBase32,w as defaultAgent,Ut as encodeBase32,Ft as fromDefinedNullable,j as fromNullable,At as hexStringToUint8Array,Z as isEmptyString,b as isNullish,Yt as jsonReplacer,vt as jsonReviver,c as nonNullish,L as notEmptyString,kt as nowInBigIntNanoSeconds,lt as numberToUint8Array,$t as principalToSubAccount,Et as secondsToDuration,qt as smallerVersion,Mt as toNullable,mt as uint8ArrayToArrayOfNumber,bt as uint8ArrayToBigInt,ht as uint8ArrayToHexString}; | ||
var T=(n=>(n[n.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",n[n.InvalidFormat=1]="InvalidFormat",n[n.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",n))(T||{});var h=BigInt(1e8);var M=8,F=e=>{let t=e.includes("e")?Number(e).toLocaleString("en",{useGrouping:!1,maximumFractionDigits:20}):e;t=t.trim().replace(/[,']/g,"");let r=t.match(/\d*(\.\d*)?/);if(!r||r[0]!==t)return 1;let[n,i]=t.split("."),o=BigInt(0);if(n)try{o+=BigInt(n)*h}catch{return 1}if(i){if(i.length>8)return 0;try{o+=BigInt(i.padEnd(8,"0"))}catch{return 1}}return o},L=({amount:e,decimals:t})=>{e=e.trim().replace(/[,']/g,"");let r=e.match(/\d*(\.\d*)?/);if(!r||r[0]!==e)return 1;let[n,i]=e.split("."),o=0n,s=10n**BigInt(t);if(n)try{o+=BigInt(n)*s}catch{return 1}if(i){if(i.length>t)return 2;try{o+=BigInt(i.padEnd(t,"0"))}catch{return 1}}return o},G={symbol:"ICP",name:"Internet Computer",decimals:8},N=class e{constructor(t,r){this.e8s=t;this.token=r;if(r.decimals!==8)throw new Error("Use TokenAmountV2 for number of decimals other than 8")}static fromE8s({amount:t,token:r}){return new e(t,r)}static fromString({amount:t,token:r}){if(r.decimals!==8)throw new Error("Use TokenAmountV2 for number of decimals other than 8");let n=F(t);return typeof n=="bigint"?new e(n,r):n}static fromNumber({amount:t,token:r}){let n=e.fromString({amount:t.toString(),token:r});if(n instanceof e)return n;throw n===0?new Error(`Number ${t} has more than 8 decimals`):new Error(`Invalid number ${t}`)}toE8s(){return this.e8s}},I=class e{constructor(t,r){this.ulps=t;this.token=r}static fromUlps({amount:t,token:r}){return new e(t,r)}static fromString({amount:t,token:r}){let n=L({amount:t,decimals:r.decimals});return typeof n=="bigint"?new e(n,r):n}static fromNumber({amount:t,token:r}){let n=e.fromString({amount:t.toFixed(Math.min(M,r.decimals)),token:r});if(n instanceof e)return n;throw n===2?new Error(`Number ${t} has more than ${r.decimals} decimals`):new Error(`Invalid number ${t}`)}toUlps(){return this.ulps}toE8s(){return this.token.decimals<8?this.ulps*10n**BigInt(8-this.token.decimals):this.token.decimals===8?this.ulps:this.ulps/10n**BigInt(this.token.decimals-8)}};var U=class{constructor(t,r,n){this.id=t;this.service=r;this.certifiedService=n;this.caller=({certified:t=!0})=>t?this.certifiedService:this.service}get canisterId(){return this.id}};import{Actor as B}from"@dfinity/agent";import{AnonymousIdentity as K,HttpAgent as S}from"@dfinity/agent";var b=e=>e==null,c=e=>!b(e),V=e=>c(e)&&e!=="",Z=e=>!V(e);var w=()=>S.createSync({host:"https://icp-api.io",identity:new K}),Y=async({identity:e,host:t,fetchRootKey:r=!1,verifyQuerySignatures:n=!1,retryTimes:i})=>await S.create({identity:e,...c(t)&&{host:t},verifyQuerySignatures:n,...c(i)&&{retryTimes:i},shouldFetchRootKey:r}),_=class e{constructor(t){this.config=t;this.agents=void 0}static create(t){return new e(t)}async getAgent({identity:t}){let r=t.getPrincipal().toText();if(b(this.agents)||b(this.agents[r])){let n=await Y({identity:t,fetchRootKey:this.config.fetchRootKey,host:this.config.host,verifyQuerySignatures:!0});return this.agents={...this.agents??{},[r]:n},n}return this.agents[r]}clearAgents(){this.agents=null}};var at=({options:{canisterId:e,serviceOverride:t,certifiedServiceOverride:r,agent:n,callTransform:i,queryTransform:o},idlFactory:s,certifiedIdlFactory:a})=>{let l=n??w(),D=t??B.createActor(s,{agent:l,canisterId:e,callTransform:i,queryTransform:o}),C=r??B.createActor(a,{agent:l,canisterId:e,callTransform:i,queryTransform:o});return{service:D,certifiedService:C,agent:l,canisterId:e}};var p=class extends Error{},m=class extends Error{},x=(e,t)=>{if(e==null)throw new m(t)},st=(e,t)=>(x(e,t),e),xt=e=>{if(e<0||e>100)throw new p(`${e} is not a valid percentage number.`)};var bt=e=>{let t=new DataView(e.buffer,e.byteOffset,e.byteLength);if(typeof t.getBigUint64=="function")return t.getBigUint64(0);{let r=BigInt(t.getUint32(0)),n=BigInt(t.getUint32(4));return(r<<BigInt(32))+n}},ut=e=>{let t=new ArrayBuffer(8),r=new DataView(t);if(typeof r.setBigUint64=="function")r.setBigUint64(0,e);else{let n=Number(e>>BigInt(32)),i=Number(e&BigInt(4294967295));r.setUint32(0,n),r.setUint32(4,i)}return new Uint8Array(t)},lt=e=>{let t=new DataView(new ArrayBuffer(8));for(let r=7;r>=0;--r)t.setUint8(r,e%256),e=e>>8;return new Uint8Array(t.buffer)},pt=e=>new Uint8Array(e),mt=e=>Array.from(e),gt=e=>new Uint8Array(e),yt=e=>Array.from(e).map(t=>t.charCodeAt(0)),At=e=>{let t=e.match(/.{1,2}/g);return x(t,"Invalid hex string."),Uint8Array.from(t.map(r=>parseInt(r,16)))},Tt=e=>(e instanceof Uint8Array||(e=Uint8Array.from(e)),e.reduce((t,r)=>t+r.toString(16).padStart(2,"0"),"")),ht=e=>{let t=0n;for(let r=e.length-1;r>=0;r--)t=(t<<32n)+BigInt(e[r]);return t};var u="abcdefghijklmnopqrstuvwxyz234567",d=Object.create(null);for(let e=0;e<u.length;e++)d[u[e]]=e;d[0]=d.o;d[1]=d.i;var Ut=e=>{let t=0,r=0,n="";function i(o){return t<0?r|=o>>-t:r=o<<t&248,t>3?(t-=8,1):(t<4&&(n+=u[r>>3],t+=5),0)}for(let o=0;o<e.length;)o+=i(e[o]);return n+(t<0?u[r>>3]:"")};function _t(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),i=0;function o(s){let a=d[s.toLowerCase()];x(a,`Invalid character: ${JSON.stringify(s)}`),a<<=3,r|=a>>>t,t+=5,t>=8&&(n[i++]=r,t-=8,t>0?r=a<<5-t&255:r=0)}for(let s of e)o(s);return n.slice(0,i)}var v=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]),H=e=>{let t=-1;for(let r=0;r<e.length;r++){let i=(e[r]^t)&255;t=v[i]^t>>>8}return(t^-1)>>>0},wt=e=>{let t=new ArrayBuffer(4);return new DataView(t).setUint32(0,H(e),!1),new Uint8Array(t)};var $={year:"year",year_plural:"years",month:"month",month_plural:"months",day:"day",day_plural:"days",hour:"hour",hour_plural:"hours",minute:"minute",minute_plural:"minutes",second:"second",second_plural:"seconds"},Et=({seconds:e,i18n:t=$})=>{let r=e/BigInt(60),n=r/BigInt(60);r-=n*BigInt(60);let i=n/BigInt(24);n-=i*BigInt(24);let o=j(i);return i-=E(o),[f("year",o),f("day",i),f("hour",n),f("minute",r),...e>BigInt(0)&&e<BigInt(60)?[f("second",e)]:[]].filter(({amount:a})=>a>0).slice(0,2).map(a=>`${a.amount} ${a.amount===1?t[a.labelKey]:t[`${a.labelKey}_plural`]}`).join(", ")},j=e=>{let t=e/BigInt(365);for(;E(t)>e;)t--;return t},E=e=>{let t=e/BigInt(4);return e*BigInt(365)+t},f=(e,t)=>({labelKey:e,amount:Number(t)}),kt=()=>BigInt(Date.now())*BigInt(1e6);var Pt=(e,t)=>{let r;return(...n)=>{let i=()=>e(...n);r&&clearTimeout(r),r=setTimeout(i,t!==void 0&&t>0?t:300)}};var Mt=e=>c(e)?[e]:[],k=e=>e?.[0],Ft=e=>{let t=k(e);return x(t),t},Lt=e=>k(e??[]);import{Principal as O}from"@dfinity/principal";var g="__bigint__",y="__principal__",A="__uint8array__",vt=(e,t)=>typeof t=="bigint"?{[g]:`${t}`}:c(t)&&t instanceof O?{[y]:t.toText()}:c(t)&&t instanceof Uint8Array?{[A]:Array.from(t)}:t,Ht=(e,t)=>{let r=n=>t[n];return c(t)&&typeof t=="object"&&g in t?BigInt(r(g)):c(t)&&typeof t=="object"&&y in t?O.fromText(r(y)):c(t)&&typeof t=="object"&&A in t?Uint8Array.from(r(A)):t};var jt=e=>{let t=e.toUint8Array(),r=new Uint8Array(32);return r[0]=t.length,r.set(t,1),r};var P=(e,t)=>t>e.length?[...e,...[...Array(t-e.length).keys()].map(()=>0)]:e,R=e=>{if(!Number.isNaN(Number(e)))return Number(e);let t=e.split("").reduce((r,n)=>Number.isNaN(Number(n))?r:r+n,"");return Number(t)},Jt=({minVersion:e,currentVersion:t})=>{let r=P(e.split(".").map(R),3).join(".");return P(t.split(".").map(R),3).join(".").localeCompare(r,void 0,{numeric:!0,sensitivity:"base"})<0};export{_ as AgentManager,U as Canister,T as FromStringToTokenError,G as ICPToken,p as InvalidPercentageError,m as NullishError,N as TokenAmount,I as TokenAmountV2,pt as arrayBufferToUint8Array,gt as arrayOfNumberToUint8Array,st as asNonNullish,yt as asciiStringToByteArray,x as assertNonNullish,xt as assertPercentageNumber,wt as bigEndianCrc32,ut as bigIntToUint8Array,ht as candidNumberArrayToBigInt,F as convertStringToE8s,Y as createAgent,at as createServices,Pt as debounce,_t as decodeBase32,w as defaultAgent,Ut as encodeBase32,Ft as fromDefinedNullable,k as fromNullable,Lt as fromNullishNullable,At as hexStringToUint8Array,Z as isEmptyString,b as isNullish,vt as jsonReplacer,Ht as jsonReviver,c as nonNullish,V as notEmptyString,kt as nowInBigIntNanoSeconds,lt as numberToUint8Array,jt as principalToSubAccount,Et as secondsToDuration,Jt as smallerVersion,Mt as toNullable,mt as uint8ArrayToArrayOfNumber,bt as uint8ArrayToBigInt,Tt as uint8ArrayToHexString}; | ||
//# sourceMappingURL=index.js.map |
@@ -0,3 +1,34 @@ | ||
/** | ||
* Converts a value into a Candid-style variant representation of an optional value. | ||
* | ||
* @template T The type of the value. | ||
* @param {T | null | undefined} value - The value to convert into a Candid-style variant. | ||
* @returns {[] | [T]} A Candid-style variant representation: an empty array for `null` and `undefined` or an array with the value. | ||
*/ | ||
export declare const toNullable: <T>(value?: T | null) => [] | [T]; | ||
/** | ||
* Extracts the value from a Candid-style variant representation of an optional value. | ||
* | ||
* @template T The type of the value. | ||
* @param {[] | [T]} value - A Candid-style variant representing an optional value. | ||
* @returns {T | undefined} The extracted value, or `undefined` if the array is empty. | ||
*/ | ||
export declare const fromNullable: <T>(value: [] | [T]) => T | undefined; | ||
/** | ||
* Extracts the value from a Candid-style variant representation of an optional value, | ||
* ensuring the value is defined. Throws an error if the array is empty or the value is nullish. | ||
* | ||
* @template T The type of the value. | ||
* @param {[] | [T]} value - A Candid-style variant representing an optional value. | ||
* @returns {T} The extracted value. | ||
* @throws {Error} If the array is empty or the value is nullish. | ||
*/ | ||
export declare const fromDefinedNullable: <T>(value: [] | [T]) => T; | ||
/** | ||
* Extracts the value from a nullish Candid-style variant representation. | ||
* | ||
* @template T The type of the value. | ||
* @param {([] | [T]) | undefined} value - A Candid-style variant or `undefined`. | ||
* @returns {T | undefined} The extracted value, or `undefined` if the input is nullish or the array is empty. | ||
*/ | ||
export declare const fromNullishNullable: <T>(value: ([] | [T]) | undefined) => T | undefined; |
{ | ||
"name": "@dfinity/utils", | ||
"version": "2.8.0", | ||
"version": "2.9.0-next-2025-01-29", | ||
"description": "A collection of utilities and constants for NNS/SNS projects.", | ||
@@ -50,6 +50,6 @@ "license": "Apache-2.0", | ||
"peerDependencies": { | ||
"@dfinity/agent": "^2.0.0", | ||
"@dfinity/candid": "^2.0.0", | ||
"@dfinity/principal": "^2.0.0" | ||
"@dfinity/agent": "*", | ||
"@dfinity/candid": "*", | ||
"@dfinity/principal": "*" | ||
} | ||
} | ||
} |
@@ -64,2 +64,3 @@ # utils-js | ||
- [fromDefinedNullable](#gear-fromdefinednullable) | ||
- [fromNullishNullable](#gear-fromnullishnullable) | ||
- [jsonReplacer](#gear-jsonreplacer) | ||
@@ -354,2 +355,4 @@ - [jsonReviver](#gear-jsonreviver) | ||
Converts a value into a Candid-style variant representation of an optional value. | ||
| Function | Type | | ||
@@ -359,6 +362,12 @@ | ------------ | -------------------------------------------------- | | ||
[:link: Source](https://github.com/dfinity/ic-js/tree/main/packages/utils/src/utils/did.utils.ts#L4) | ||
Parameters: | ||
- `value`: - The value to convert into a Candid-style variant. | ||
[:link: Source](https://github.com/dfinity/ic-js/tree/main/packages/utils/src/utils/did.utils.ts#L11) | ||
#### :gear: fromNullable | ||
Extracts the value from a Candid-style variant representation of an optional value. | ||
| Function | Type | | ||
@@ -368,6 +377,13 @@ | -------------- | ----------------------------------------- | | ||
[:link: Source](https://github.com/dfinity/ic-js/tree/main/packages/utils/src/utils/did.utils.ts#L8) | ||
Parameters: | ||
- `value`: - A Candid-style variant representing an optional value. | ||
[:link: Source](https://github.com/dfinity/ic-js/tree/main/packages/utils/src/utils/did.utils.ts#L22) | ||
#### :gear: fromDefinedNullable | ||
Extracts the value from a Candid-style variant representation of an optional value, | ||
ensuring the value is defined. Throws an error if the array is empty or the value is nullish. | ||
| Function | Type | | ||
@@ -377,4 +393,22 @@ | --------------------- | ---------------------------- | | ||
[:link: Source](https://github.com/dfinity/ic-js/tree/main/packages/utils/src/utils/did.utils.ts#L12) | ||
Parameters: | ||
- `value`: - A Candid-style variant representing an optional value. | ||
[:link: Source](https://github.com/dfinity/ic-js/tree/main/packages/utils/src/utils/did.utils.ts#L35) | ||
#### :gear: fromNullishNullable | ||
Extracts the value from a nullish Candid-style variant representation. | ||
| Function | Type | | ||
| --------------------- | ------------------------------------------------------ | | ||
| `fromNullishNullable` | `<T>(value: [] or [T] or undefined) => T or undefined` | | ||
Parameters: | ||
- `value`: - A Candid-style variant or `undefined`. | ||
[:link: Source](https://github.com/dfinity/ic-js/tree/main/packages/utils/src/utils/did.utils.ts#L50) | ||
#### :gear: jsonReplacer | ||
@@ -381,0 +415,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
185453
3.36%518
6.58%725
4.92%3
50%