@permaweb/libs 0.0.23 → 0.0.24
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/index.cjs +7 -7
- package/dist/index.cjs.map +3 -3
- package/dist/index.esm.js +4 -4
- package/dist/index.esm.js.map +3 -3
- package/dist/index.js +7 -7
- package/dist/index.js.map +3 -3
- package/dist/types/helpers/config.d.ts +4 -2
- package/dist/types/helpers/types.d.ts +2 -2
- package/dist/types/services/profiles.d.ts +4 -0
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var Le=Object.create;var M=Object.defineProperty;var $e=Object.getOwnPropertyDescriptor;var We=Object.getOwnPropertyNames;var Ge=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty;var Oe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ue=(e,t)=>{for(var n in t)M(e,n,{get:t[n],enumerable:!0})},Y=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of We(t))!Me.call(e,o)&&o!==n&&M(e,o,{get:()=>t[o],enumerable:!(r=$e(t,o))||r.enumerable});return e};var c=(e,t,n)=>(n=e!=null?Le(Ge(e)):{},Y(t||!e||!e.__esModule?M(n,"default",{value:e,enumerable:!0}):n,e)),Be=e=>Y(M({},"__esModule",{value:!0}),e);var i=Oe((ct,te)=>{var y=te.exports={},w,v;function q(){throw new Error("setTimeout has not been defined")}function z(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?w=setTimeout:w=q}catch{w=q}try{typeof clearTimeout=="function"?v=clearTimeout:v=z}catch{v=z}})();function K(e){if(w===setTimeout)return setTimeout(e,0);if((w===q||!w)&&setTimeout)return w=setTimeout,setTimeout(e,0);try{return w(e,0)}catch{try{return w.call(null,e,0)}catch{return w.call(this,e,0)}}}function Qe(e){if(v===clearTimeout)return clearTimeout(e);if((v===z||!v)&&clearTimeout)return v=clearTimeout,clearTimeout(e);try{return v(e)}catch{try{return v.call(null,e)}catch{return v.call(this,e)}}}var C=[],N=!1,E,O=-1;function ke(){!N||!E||(N=!1,E.length?C=E.concat(C):O=-1,C.length&&X())}function X(){if(!N){var e=K(ke);N=!0;for(var t=C.length;t;){for(E=C,C=[];++O<t;)E&&E[O].run();O=-1,t=C.length}E=null,N=!1,Qe(e)}}y.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];C.push(new ee(e,t)),C.length===1&&!N&&K(X)};function ee(e,t){this.fun=e,this.array=t}ee.prototype.run=function(){this.fun.apply(null,this.array)};y.title="browser";y.browser=!0;y.env={};y.argv=[];y.version="";y.versions={};function P(){}y.on=P;y.addListener=P;y.once=P;y.off=P;y.removeListener=P;y.removeAllListeners=P;y.emit=P;y.prependListener=P;y.prependOnceListener=P;y.listeners=function(e){return[]};y.binding=function(e){throw new Error("process.binding is not supported")};y.cwd=function(){return"/"};y.chdir=function(e){throw new Error("process.chdir is not supported")};y.umask=function(){return 0}});var st={};Ue(st,{default:()=>at});module.exports=Be(st);var Cn=c(i(),1),Re=require("buffer");var ht=c(i(),1);var pt=c(i(),1),d={module:"Do_Uc2Sju_ffp6Ev0AnLVdPtot15rvMjP-a9VVaA5fM",scheduler:"_GQ33BkPtZrqxA84vM8Zk-N2aO0toNNu_C-l-rawrBA",mu:"fcoN_xJeisVsPXA-trzVAuIiqO3ydLQxM-L4XbrQKzY",src:{asset:"XYz8buLR5LQdhOOzWuCt9kBjoXHMowouWpXcGm9wdEE",collection:"2ZDuM2VUCN8WHoAKOOjiH4_7Apq0ZHKnTWdLppxCdGY",profile:"WBhJpPafkykqZZgTr7TAsz48RKG4vbOEAH4rZ3JxIQ8",zone:"M9G2B9Uvk8VK1pxloESeT4XScguRKSzLyd4as1HFOJ8"},collectionRegistry:"TFWDmf8a3_nw43GCm_CuYlYoylHAjCcFGbgHfDaGcsg",profileRegistry:"SNy4m-DrqxWl01YqGM4sxI8qCni-58re8uuJLvZPypY"},ne={"application/json":{type:"application/json",serialize:e=>JSON.stringify(e)}},f={arweave:"arweave.net",goldsky:"arweave-search.goldsky.com"};var p={keys:{access:"Access-Fee",ans110:{title:"Title",description:"Description",topic:"Topic:*",type:"Type",implements:"Implements",license:"License"},assetType:"Asset-Type",banner:"Banner",bootloader:"Bootloader",bootloaderInit:"On-Boot",collectionId:"Collection-Id",collectionName:"Collection-Name",commericalUse:"Commercial-Use",contentType:"Content-Type",creator:"Creator",currency:"Currency",dataModelTraining:"Data-Model-Training",dataProtocol:"Data-Protocol",dateCreated:"Date-Created",derivations:"Derivations",description:"Description",displayName:"Display-Name",handle:"Handle",implements:"Implements",initialOwner:"Initial-Owner",license:"License",name:"Name",paymentAddress:"Payment-Address",paymentMode:"Payment-Mode",profileCreator:"Profile-Creator",profileIndex:"Profile-Index",protocolName:"Protocol-Name",renderWith:"Render-With",thumbnail:"Thumbnail",title:"Title",topic:"Topic",type:"Type",zoneType:"Zone-Type"},values:{document:"Document"}},re={node1:"https://up.arweave.net",node2:"https://turbo.ardrive.io",batchSize:1,chunkSize:75e5,dispatchUploadSize:100*1024};var ft=c(i(),1);var dt=c(i(),1);function L(e){return e?/^[a-z0-9_-]{43}$/i.test(e):!1}function U(e,t){for(let n=0;n<e.length;n++)if(e[n]&&e[n].name===t)return e[n].value;return null}function oe(e){let t=e.match(/^data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+);base64,/);return t?t[1]:null}function ae(e){return e.split(",")[1]}function se(e){let t;if(Buffer.isBuffer(e))t=e.length;else if(typeof e=="string")t=Buffer.byteLength(e,"utf-8");else throw new Error("Input must be a string or a Buffer");return t}function F(e){let t;return t=e.replace(/\[|\]/g,""),`[[${t}]]`}function W(e){let t;return t=e.replace(/\[|\]/g,""),t}var m=(...e)=>{console.log("[@permaweb/libs]",...e)};function Ze(e){return e.replace(/^[a-z]/,t=>t.toUpperCase())}function R(e){return Array.isArray(e)?e.map(R):e&&typeof e=="object"?Object.entries(e).reduce((t,[n,r])=>{let o=Ze(n);return t[o]=L(r)?r:R(r),t},{}):e}function qe(e){return e.charAt(0).toLowerCase()+e.slice(1)}function A(e){return Array.isArray(e)?e.map(A):e&&typeof e=="object"?Object.entries(e).reduce((t,[n,r])=>{let o=qe(n);return t[o]=L(r)?r:A(r),t},{}):e}function T(e,t){let n=e.charAt(0).toUpperCase()+e.slice(1);return{name:`${p.keys.bootloader}-${n}`,value:t}}var ze="https://arweave.net";function $(e){return`${ze}/${e}`}var Tt=c(i(),1);var Mt=c(i(),1);var Rt=c(i(),1);var Ct=c(i(),1);var ie={p1:"P1",end:"END"},ce={default:100};async function x(e){let t=e.paginator?e.paginator:ce.default,n=[],r=0,o=null;if(e.ids&&!e.ids.length)return{data:n,count:r,nextCursor:o,previousCursor:null};try{let a=_e(e),s=await Ve({gateway:e.gateway,query:je(a)});return s.data.transactions.edges.length?(n=[...s.data.transactions.edges],r=s.data.transactions.count??0,n.length<t||!s.data.transactions.pageInfo.hasNextPage?o=ie.end:o=n[n.length-1].cursor,{data:n,count:r,nextCursor:o,previousCursor:null}):{data:n,count:r,nextCursor:o,previousCursor:null}}catch(a){return console.error(a),{data:n,count:r,nextCursor:o,previousCursor:null}}}function je(e){let t={query:`query { ${e} }`};return JSON.stringify(t)}function _e(e){let t=e.paginator?e.paginator:ce.default,n=e.ids?JSON.stringify(e.ids):null,r=null;e.minBlock!==void 0&&e.minBlock!==null&&(r={},r.min=e.minBlock);let o=r?JSON.stringify(r).replace(/"([^"]+)":/g,"$1:"):null,a=e.tags?JSON.stringify(e.tags).replace(/"(name)":/g,"$1:").replace(/"(values)":/g,"$1:").replace(/"FUZZY_OR"/g,"FUZZY_OR"):null,s=e.owners?JSON.stringify(e.owners):null,u=e.cursor&&e.cursor!==ie.end?`"${e.cursor}"`:null,l=`first: ${t}`,g="",b="data { size type } owner { address } block { height timestamp }",k="";switch(e.gateway){case f.arweave:break;case f.goldsky:g="count";break}let Z=`
|
|
2
2
|
transactions(
|
|
3
3
|
ids: ${n},
|
|
4
4
|
tags: ${a},
|
|
5
|
-
${
|
|
5
|
+
${l}
|
|
6
6
|
owners: ${s},
|
|
7
7
|
block: ${o},
|
|
8
|
-
after: ${
|
|
9
|
-
${
|
|
8
|
+
after: ${u},
|
|
9
|
+
${k}
|
|
10
10
|
|
|
11
11
|
){
|
|
12
|
-
${
|
|
12
|
+
${g}
|
|
13
13
|
pageInfo {
|
|
14
14
|
hasNextPage
|
|
15
15
|
}
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
name
|
|
22
22
|
value
|
|
23
23
|
}
|
|
24
|
-
${
|
|
24
|
+
${b}
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
}`;return e.queryKey&&(q=`${e.queryKey}: ${q}`),q}async function He(e){try{return await(await fetch(`https://${e.gateway}/graphql`,{method:"POST",headers:{"Content-Type":"application/json"},body:e.query})).json()}catch(t){throw t}}var _e=f.goldsky,Je=100;async function le(e,t){let n=[{name:"Authority",value:g.mu}];t.tags&&t.tags.length>0&&t.tags.forEach(r=>n.push(r));try{let r=await e.ao.spawn({module:t.module,scheduler:t.scheduler,signer:e.signer,tags:n,data:t.data});return T(`Process ID: ${r}`),r}catch(r){throw new Error(r.message??"Error spawning process")}}function pe(e){return async t=>await S(e,t)}async function S(e,t){try{let n=[{name:"Action",value:t.action}];t.tags&&n.push(...t.tags);let r=t.useRawData?t.data:JSON.stringify(t.data);return await e.ao.message({process:t.processId,signer:e.signer,tags:n,data:r})}catch(n){throw new Error(n)}}function ue(e){return async t=>await b(e,t)}async function b(e,t){try{let n=[{name:"Action",value:t.action}];t.tags&&n.push(...t.tags);let r;if(typeof t.data=="object")r=JSON.stringify(t.data||{});else if(typeof t.data=="string"){try{JSON.parse(t.data)}catch(a){throw console.error(a),new Error("Invalid JSON data")}r=t.data}let o=await e.ao.dryrun({process:t.processId,tags:n,data:r});if(o.Messages&&o.Messages.length){if(o.Messages[0].Data)return JSON.parse(o.Messages[0].Data);if(o.Messages[0].Tags)return o.Messages[0].Tags.reduce((a,s)=>(a[s.name]=s.value,a),{})}}catch(n){throw new Error(n.message??"Error dryrunning process")}}async function Ye(e,t){try{let{Messages:n}=await e.ao.result({message:t.messageId,process:t.processId});if(n&&n.length){let r={};return n.forEach(o=>{let a=k(o.Tags,"Action")||t.action,s=null,p=o.Data;if(p)try{s=JSON.parse(p)}catch{s=p}let u=k(o.Tags,"Status"),d=k(o.Tags,"Message");r[a]={id:t.messageId,status:u,message:d,data:s}}),r}else return null}catch(n){console.error(n)}}async function ye(e,t){let n=null;if(t.evalSrc?n=t.evalSrc:t.evalTxId&&(n=await Ke(t.evalTxId)),n)try{let r=await S(e,{processId:t.processId,action:"Eval",data:n,tags:t.evalTags||null,useRawData:!0});return T(`Eval: ${r}`),await Ye(e,{processId:t.processId,messageId:r,action:"Eval"})}catch(r){throw new Error(r.message??"Error sending process eval")}return null}function de(e){return async(t,n)=>{try{let r={module:t.module||g.module,scheduler:t.scheduler||g.scheduler};t.spawnData&&(r.data=t.spawnData),t.spawnTags&&(r.tags=t.spawnTags),n&&n("Spawning process...");let o=await le(e,r);if(t.evalTxId||t.evalSrc){n&&n("Retrieving process..."),await me(o,n),n&&n("Process retrieved!"),n&&n("Sending eval...");try{await ye(e,{processId:o,evalTxId:t.evalTxId||null,evalSrc:t.evalSrc||null,evalTags:t.evalTags})&&n&&n("Eval complete")}catch(a){throw new Error(a.message??"Error creating process")}}return o}catch(r){throw new Error(r.message??"Error creating process")}}}async function N(e,t,n){try{let r={module:t.module||g.module,scheduler:t.scheduler||g.scheduler};t.spawnData&&(r.data=t.spawnData),t.spawnTags&&(r.tags=t.spawnTags),n&&n("Spawning process...");let o=await le(e,r);if(n&&n("Retrieving process..."),await me(o,n),t.evalTxId||t.evalSrc){n&&n("Process retrieved!"),n&&n("Sending eval...");try{await ye(e,{processId:o,evalTxId:t.evalTxId||null,evalSrc:t.evalSrc||null,evalTags:t.evalTags})&&n&&n("Eval complete")}catch(a){throw new Error(a.message??"Error creating process")}}return o}catch(r){throw new Error(r.message??"Error creating process")}}async function me(e,t){let n=0;for(;n<Je;){await new Promise(o=>setTimeout(o,2e3));let r=await h({gateway:_e,ids:[e]});if(r?.data?.length){let o=r.data[0].node.id;return T(`Process found: ${o} (Try ${n+1})`),o}else T(`Process not found: ${e} (Try ${n+1})`),n++}throw new Error("Process not found, please try again")}async function Ke(e){try{return await(await fetch(L(e))).text()}catch(t){throw new Error(t)}}var Wt=c(i(),1);function ge(e){return async t=>{if(R(t))return t;if(!e.arweave)throw new Error("Must initialize with Arweave in order to create transactions");try{return await fe(e,{data:t})}catch(n){throw new Error(n.message??"Error resolving transaction")}}}async function P(e,t){if(R(t))return t;if(!e.arweave)throw new Error("Must initialize with Arweave in order to create transactions");try{return await fe(e,{data:t})}catch(n){throw new Error(n.message??"Error resolving transaction")}}async function fe(e,t){let n=null,r=null;try{typeof t.data=="string"&&t.data.startsWith("data:")&&(n=Buffer.from(ae(t.data),"base64"),r=oe(t.data))}catch(o){throw new Error(o)}if(n&&r){let o=se(n);if(T(`Content upload size: ${o}`),o<Number(re.dispatchUploadSize)){let a=await e.arweave.createTransaction({data:n},"use_wallet");return a.addTag(l.keys.contentType,r),t.tags&&t.tags.length>0&&t.tags.forEach(p=>a.addTag(p.name,p.value)),(await global.window.arweaveWallet.dispatch(a)).id}else throw new Error("Data exceeds max upload limit")}else throw new Error("Error preparing transaction data")}var wn=c(i(),1);var qt=c(i(),1);function Q(e){return async(t,n)=>{let r=tt(t);if(r)throw new Error(r);let o=ne[t.contentType]?.serialize(t.data)??t.data,a=et(t);try{return await N(e,{spawnTags:a,spawnData:o},n?p=>n(p):void 0)}catch(s){throw new Error(s.message??"Error creating asset")}}}async function _(e,t,n){try{let r=D(await b(e,{processId:t,action:"Info"}));if(n?.useGateway){let o=await h({gateway:f.goldsky,ids:[t],tags:null,owners:null,cursor:null});return{...o?.data?.[0]?B(o.data[0]):{},...r}}return{id:t,...r}}catch(r){throw new Error(r.message||"Error fetching atomic asset")}}function Te(e){return async(t,n)=>await _(e,t,n)}async function he(e){try{let t=await h({gateway:f.arweave,ids:e??null,tags:null,owners:null,cursor:null});return t&&t.data.length?t.data.map(n=>B(n)):null}catch(t){throw new Error(t)}}function B(e){let t={id:e.node.id,owner:e.node.owner.address};for(let n of e.node.tags){let r=n.name,a=(r.startsWith(`${l.keys.bootloader}-`)?r.slice(`${l.keys.bootloader}-`.length):r).split("-").map((p,u)=>u===0?p.toLowerCase():p.charAt(0).toUpperCase()+p.slice(1).toLowerCase()).join(""),s;try{s=JSON.parse(n.value)}catch{s=n.value.toString()}t[a]=s}return t}function et(e){let t=[{name:l.keys.bootloaderInit,value:e.src??g.src.asset},{name:l.keys.creator,value:e.creator},{name:l.keys.assetType,value:e.assetType},{name:l.keys.contentType,value:e.contentType},{name:l.keys.implements,value:"ANS-110"},{name:l.keys.dateCreated,value:new Date().getTime().toString()},m("Name",e.name),m("Description",e.description),m("Topics",JSON.stringify(e.topics)),m("Ticker","ATOMIC"),m("Denomination",e.denomination?.toString()??"1"),m("TotalSupply",e.supply?.toString()??"1"),m("Transferable",e.transferable?.toString()??"true"),m("Creator",e.creator)];if(e.metadata)for(let n in e.metadata)t.push(m(E(n),e.metadata[n].toString()));return e.tags&&e.tags.forEach(n=>t.push(n)),t}function tt(e){if(typeof e!="object"||e===null)return"The provided arguments are invalid or empty.";let t=["name","description","topics","creator","data","contentType","assetType"];for(let n of t)if(!(n in e))return`Missing field '${n}'`;return typeof e.name!="string"||e.name.trim()===""?"Name is required":typeof e.description!="string"?"The description must be a valid string":!Array.isArray(e.topics)||e.topics.length===0?"Topics are required":typeof e.creator!="string"||e.creator.trim()===""?"Creator is required":e.data===void 0||e.data===null?"Data field is required":typeof e.contentType!="string"||e.contentType.trim()===""?"Content type must be a non-empty string":typeof e.assetType!="string"||e.assetType.trim()===""?"Type must be a non-empty string":"supply"in e&&(typeof e.supply!="number"||e.supply<=0)?"Supply must be a positive number":"denomination"in e&&(typeof e.denomination!="number"||e.denomination<=0)?"Denomination must be a positive number":"transferable"in e&&typeof e.transferable!="boolean"?"Transferable must be a boolean value":"metadata"in e&&typeof e.metadata!="object"?"Metadata must be an object":"tags"in e&&(!Array.isArray(e.tags)||e.tags.some(n=>typeof n!="object"))?"Tags must be an array of objects":"src"in e&&typeof e.src!="string"?"Source must be a valid string":null}var Kt=c(i(),1);var nt="eXCtpVbcd_jZ0dmU2PZ8focaKxBGECBQ8wMib7sIVPo",W="lJovHqM9hwNjHV5JoY9NGWtt0WD-5D4gOqNL2VWW5jk";function we(e){return async(t,n)=>{if(!e.signer)throw new Error("No signer provided");let r=new Date().getTime().toString(),o=[{name:l.keys.contentType,value:"application/json"},{name:l.keys.creator,value:t.creator},{name:l.keys.ans110.title,value:G(t.title)},{name:l.keys.ans110.description,value:G(t.description)},{name:l.keys.ans110.type,value:l.values.document},{name:l.keys.dateCreated,value:r},{name:l.keys.name,value:G(t.title)},{name:"Action",value:"Add-Collection"}],a=null,s=null;try{a=t.banner?await P(e,t.thumbnail):W,s=t.banner?await P(e,t.banner):nt,t.thumbnail&&o.push({name:l.keys.thumbnail,value:a}),t.banner&&o.push({name:l.keys.banner,value:s})}catch(d){console.error(d)}let p=await fetch(L(g.src.collection));if(!p.ok)throw new Error("Unable to fetch process src");let u=await p.text();u=u.replace(/'<NAME>'/g,H(t.title)),u=u.replace(/'<DESCRIPTION>'/g,H(t.description)),u=u.replace(/<CREATOR>/g,t.creator),u=u.replace(/<THUMBNAIL>/g,a||W),u=u.replace(/<BANNER>/g,s||W),u=u.replace(/<DATECREATED>/g,r),u=u.replace(/<LASTUPDATE>/g,r);try{let d=await N(e,{spawnTags:o},n?Z=>n(Z):void 0);T("Sending eval message to collection..."),n&&n("Sending eval message to collection..."),await e.ao.message({process:d,signer:e.signer,tags:[{name:"Action",value:"Eval"}],data:u});let $=[{name:"Action",value:"Add-Collection"},{name:"CollectionId",value:d},{name:"Name",value:G(t.title)},{name:"Creator",value:t.creator},{name:"DateCreated",value:r}];return s&&$.push({name:"Banner",value:s}),a&&$.push({name:"Thumbnail",value:a}),t.skipRegistry||(T("Sending collection to registry..."),n&&n("Sending collection to registry..."),await e.ao.message({process:g.collectionsRegistry,signer:e.signer,tags:$})),T("Sending profile request..."),n&&n("Sending profile request..."),await e.ao.message({process:d,signer:e.signer,tags:[{name:"Action",value:"Add-Collection-To-Profile"},{name:"ProfileProcess",value:t.creator}]}),d}catch(d){throw new Error(d.message??"Error creating collection")}}}function ve(e){return async t=>await S(e,{processId:t.creator,action:"Run-Action",tags:[{name:"ForwardTo",value:t.collectionId},{name:"ForwardAction",value:"Update-Assets"}],data:{Target:t.collectionId,Action:"Update-Assets",Input:JSON.stringify({AssetIds:t.assetIds,UpdateType:t.updateType})}})}function Ae(e){return async t=>{let n=await b(e,{processId:t,action:"Info"});return{...{id:t,title:n.Name,description:n.Description,creator:n.Creator,dateCreated:n.DateCreated,thumbnail:n.Thumbnail??W,banner:n.Banner??W},assetIds:n.Assets}}}function xe(e){return async t=>{let n=t.creator?"Get-Collections-By-User":"Get-Collections",r=await b(e,{processId:g.collectionsRegistry,action:n,tags:t.creator?[{name:"Creator",value:t.creator}]:null});return r&&r.Collections&&r.Collections.length?r.Collections.map(a=>({id:a.Id,title:a.Name.replace(/\[|\]/g,""),description:a.Description,creator:a.Creator,dateCreated:a.DateCreated,banner:a.Banner,thumbnail:a.Thumbnail})):null}}var on=c(i(),1);function De(e){let t=Q(e);return async(n,r)=>{let o=n.tags?n.tags:[];o.push({name:"Data-Source",value:n.parentId}),o.push({name:"Root-Source",value:n.rootId??n.parentId});let a={name:`Comment on ${n.parentId}`,description:`Comment on ${n.parentId}`,topics:["comment"],creator:n.creator,data:n.content,contentType:"text/plain",assetType:"comment",tags:o};return t(a,r)}}function be(e){return async t=>{try{let n=await _(e,t,{useGateway:!0}),r=n?.dataSource,o=n?.rootSource;if(!r||!o)throw new Error("dataSource and rootSource must be present on a comment");return{content:await Se(t),parentId:r,rootId:o}}catch(n){throw new Error(n.message??"Error getting comment")}}}function Ce(e){return async t=>{if(!t.parentId&&!t.rootId)throw new Error("Must provide either parentId or rootId");let n=[];t.parentId&&n.push({name:"Data-Source",values:[t.parentId??""]}),t.rootId&&n.push({name:"Root-Source",values:[t.rootId??""]});let r=await h({gateway:f.goldsky,ids:null,tags:n,owners:null,cursor:null}),o=[];r&&r.data.length&&(o=r.data.map(s=>B(s)));let a=[];for(let s of o){let p=s?.dataSource,u=s?.rootSource;if(!p||!u)throw new Error("dataSource and rootSource must be present on a comment");a.push({id:s.id,content:await Se(s.id),parentId:p,rootId:u})}return a}}async function Se(e){try{return await(await fetch(L(e))).text()}catch(t){throw new Error(t.message??"Error getting comment data")}}var hn=c(i(),1);var pn=c(i(),1);function U(e){return async(t,n)=>{try{let r=[{name:l.keys.bootloaderInit,value:g.src.zone}];return t.tags&&t.tags.length&&t.tags.forEach(a=>r.push(a)),await N(e,{spawnTags:r},n?a=>n(a):void 0)}catch(r){throw new Error(r.message??"Error creating zone")}}}function z(e){return async(t,n)=>{try{let r=Object.entries(t).map(([a,s])=>({key:a,value:s}));return await S(e,{processId:n,action:"Zone-Update",data:r})}catch(r){throw new Error(r)}}}function Pe(e){return async(t,n)=>{try{return await S(e,{processId:n,action:"Zone-Append",tags:[{name:"Path",value:t.path}],data:t.data})}catch(r){throw new Error(r)}}}function F(e){return async t=>{try{let n=await b(e,{processId:t,action:"Info"});return D(n)}catch(n){throw new Error(n)}}}function Ie(e){let t=U(e);return async(n,r)=>{let o=null,a=[{name:l.keys.dataProtocol,value:"Zone"},{name:l.keys.zoneType,value:"User"}],s=async p=>{let u=p.toLowerCase();if(n[u])try{let d=await P(e,n[u]);a.push(m(p,d))}catch(d){r?r(`Failed to resolve ${p}: ${d.message}`):console.error(d)}};a.push(m("Username",n.username)),a.push(m("DisplayName",n.displayName)),a.push(m("Description",n.description)),await Promise.all([s("Thumbnail"),s("Banner")]);try{o=await t({tags:a},r)}catch(p){throw new Error(p.message??"Error creating profile")}return o}}function Ee(e){let t=z(e);return async(n,r,o)=>{if(r){let a={Username:n.username,DisplayName:n.displayName,Description:n.description};if(n.thumbnail)try{a.Thumbnail=await P(e,n.thumbnail)}catch(s){o&&o(`Failed to resolve thumbnail: ${s.message}`)}if(n.banner)try{a.Banner=await P(e,n.banner)}catch(s){o&&o(`Failed to resolve banner: ${s.message}`)}try{return await t(a,r)}catch(s){throw new Error(s.message??"Error creating profile")}}else throw new Error("No profile provided")}}function J(e){let t=F(e);return async n=>{try{let r=await t(n);return{id:n,...r.store,assets:r.assets}}catch(r){throw new Error(r.message??"Error fetching profile")}}}function Re(e){let t=J(e);return async n=>{try{let r=await h({gateway:f.goldsky,tags:[{name:l.keys.dataProtocol,values:["Zone"]},{name:l.keys.zoneType,values:["User"]}],owners:[n]});return r?.data?.length>0?(r.data.sort((o,a)=>{let s=o.node.block?.timestamp??0;return(a.node.block?.timestamp??0)-s}),await t(r.data[0].node.id)):{id:null}}catch(r){throw new Error(r.message??"Error fetching profile")}}}globalThis.Buffer||(globalThis.Buffer=Le.Buffer);function ot(e){return{createZone:U(e),updateZone:z(e),addToZone:Pe(e),getZone:F(e),createProfile:Ie(e),updateProfile:Ee(e),getProfileById:J(e),getProfileByWalletAddress:Re(e),createAtomicAsset:Q(e),getAtomicAsset:Te(e),getAtomicAssets:he,createComment:De(e),getComment:be(e),getComments:Ce(e),createCollection:we(e),updateCollectionAssets:ve(e),getCollection:Ae(e),getCollections:xe(e),resolveTransaction:ge(e),getGQLData:h,createProcess:de(e),readProcess:ue(e),sendMessage:pe(e),mapFromProcessCase:D,mapToProcessCase:E}}var at={init:ot};
|
|
27
|
+
}`;return e.queryKey&&(Z=`${e.queryKey}: ${Z}`),Z}async function Ve(e){try{return await(await fetch(`https://${e.gateway}/graphql`,{method:"POST",headers:{"Content-Type":"application/json"},body:e.query})).json()}catch(t){throw t}}var He=f.goldsky,Je=100;async function le(e,t){let n=[{name:"Authority",value:d.mu}];t.tags&&t.tags.length>0&&t.tags.forEach(r=>n.push(r));try{let r=await e.ao.spawn({module:t.module,scheduler:t.scheduler,signer:e.signer,tags:n,data:t.data});return m(`Process ID: ${r}`),r}catch(r){throw new Error(r.message??"Error spawning process")}}function pe(e){return async t=>await D(e,t)}async function D(e,t){try{let n=[{name:"Action",value:t.action}];t.tags&&n.push(...t.tags);let r=t.useRawData?t.data:JSON.stringify(t.data);return await e.ao.message({process:t.processId,signer:e.signer,tags:n,data:r})}catch(n){throw new Error(n)}}function ue(e){return async t=>await h(e,t)}async function h(e,t){try{let n=[{name:"Action",value:t.action}];t.tags&&n.push(...t.tags);let r;if(typeof t.data=="object")r=JSON.stringify(t.data||{});else if(typeof t.data=="string"){try{JSON.parse(t.data)}catch(a){throw console.error(a),new Error("Invalid JSON data")}r=t.data}let o=await e.ao.dryrun({process:t.processId,tags:n,data:r});if(o.Messages&&o.Messages.length){if(o.Messages[0].Data)return JSON.parse(o.Messages[0].Data);if(o.Messages[0].Tags)return o.Messages[0].Tags.reduce((a,s)=>(a[s.name]=s.value,a),{})}}catch(n){throw new Error(n.message??"Error dryrunning process")}}async function Ye(e,t){try{let{Messages:n}=await e.ao.result({message:t.messageId,process:t.processId});if(n&&n.length){let r={};return n.forEach(o=>{let a=U(o.Tags,"Action")||t.action,s=null,u=o.Data;if(u)try{s=JSON.parse(u)}catch{s=u}let l=U(o.Tags,"Status"),g=U(o.Tags,"Message");r[a]={id:t.messageId,status:l,message:g,data:s}}),r}else return null}catch(n){console.error(n)}}async function ye(e,t){let n=null;if(t.evalSrc?n=t.evalSrc:t.evalTxId&&(n=await Ke(t.evalTxId)),n)try{let r=await D(e,{processId:t.processId,action:"Eval",data:n,tags:t.evalTags||null,useRawData:!0});return m(`Eval: ${r}`),await Ye(e,{processId:t.processId,messageId:r,action:"Eval"})}catch(r){throw new Error(r.message??"Error sending process eval")}return null}function de(e){return async(t,n)=>{try{let r={module:t.module||d.module,scheduler:t.scheduler||d.scheduler};t.spawnData&&(r.data=t.spawnData),t.spawnTags&&(r.tags=t.spawnTags),n&&n("Spawning process...");let o=await le(e,r);if(t.evalTxId||t.evalSrc){n&&n("Retrieving process..."),await me(o,n),n&&n("Process retrieved!"),n&&n("Sending eval...");try{await ye(e,{processId:o,evalTxId:t.evalTxId||null,evalSrc:t.evalSrc||null,evalTags:t.evalTags})&&n&&n("Eval complete")}catch(a){throw new Error(a.message??"Error creating process")}}return o}catch(r){throw new Error(r.message??"Error creating process")}}}async function S(e,t,n){try{let r={module:t.module||d.module,scheduler:t.scheduler||d.scheduler};t.spawnData&&(r.data=t.spawnData),t.spawnTags&&(r.tags=t.spawnTags),n&&n("Spawning process...");let o=await le(e,r);if(n&&n("Retrieving process..."),await me(o,n),t.evalTxId||t.evalSrc){n&&n("Process retrieved!"),n&&n("Sending eval...");try{await ye(e,{processId:o,evalTxId:t.evalTxId||null,evalSrc:t.evalSrc||null,evalTags:t.evalTags})&&n&&n("Eval complete")}catch(a){throw new Error(a.message??"Error creating process")}}return o}catch(r){throw new Error(r.message??"Error creating process")}}async function me(e,t){let n=0;for(;n<Je;){await new Promise(o=>setTimeout(o,2e3));let r=await x({gateway:He,ids:[e]});if(r?.data?.length){let o=r.data[0].node.id;return m(`Process found: ${o} (Try ${n+1})`),o}else m(`Process not found: ${e} (Try ${n+1})`),n++}throw new Error("Process not found, please try again")}async function Ke(e){try{return await(await fetch($(e))).text()}catch(t){throw new Error(t)}}var Gt=c(i(),1);function ge(e){return async t=>{if(L(t))return t;if(!e.arweave)throw new Error("Must initialize with Arweave in order to create transactions");try{return await fe(e,{data:t})}catch(n){throw new Error(n.message??"Error resolving transaction")}}}async function I(e,t){if(L(t))return t;if(!e.arweave)throw new Error("Must initialize with Arweave in order to create transactions");try{return await fe(e,{data:t})}catch(n){throw new Error(n.message??"Error resolving transaction")}}async function fe(e,t){let n=null,r=null;try{typeof t.data=="string"&&t.data.startsWith("data:")&&(n=Buffer.from(ae(t.data),"base64"),r=oe(t.data))}catch(o){throw new Error(o)}if(n&&r){let o=se(n);if(m(`Content upload size: ${o}`),o<Number(re.dispatchUploadSize)){let a=await e.arweave.createTransaction({data:n},"use_wallet");return a.addTag(p.keys.contentType,r),t.tags&&t.tags.length>0&&t.tags.forEach(u=>a.addTag(u.name,u.value)),(await global.window.arweaveWallet.dispatch(a)).id}else throw new Error("Data exceeds max upload limit")}else throw new Error("Error preparing transaction data")}var wn=c(i(),1);var Ft=c(i(),1);function B(e){return async(t,n)=>{let r=tt(t);if(r)throw new Error(r);let o=ne[t.contentType]?.serialize(t.data)??t.data,a=et(t);try{return await S(e,{spawnTags:a,spawnData:o},n?u=>n(u):void 0)}catch(s){throw new Error(s.message??"Error creating asset")}}}async function j(e,t,n){try{let r=A(await h(e,{processId:t,action:"Info"}));if(n?.useGateway){let o=await x({gateway:f.goldsky,ids:[t],tags:null,owners:null,cursor:null});return{...o?.data?.[0]?Q(o.data[0]):{},...r}}return{id:t,...r}}catch(r){throw new Error(r.message||"Error fetching atomic asset")}}function Te(e){return async(t,n)=>await j(e,t,n)}async function he(e){try{let t=await x({gateway:f.arweave,ids:e??null,tags:null,owners:null,cursor:null});return t&&t.data.length?t.data.map(n=>Q(n)):null}catch(t){throw new Error(t)}}function Q(e){let t={id:e.node.id,owner:e.node.owner.address};for(let n of e.node.tags){let r=n.name,a=(r.startsWith(`${p.keys.bootloader}-`)?r.slice(`${p.keys.bootloader}-`.length):r).split("-").map((u,l)=>l===0?u.toLowerCase():u.charAt(0).toUpperCase()+u.slice(1).toLowerCase()).join(""),s;try{s=JSON.parse(n.value)}catch{s=n.value.toString()}t[a]=s}return t}function et(e){let t=[{name:p.keys.bootloaderInit,value:e.src??d.src.asset},{name:p.keys.creator,value:e.creator},{name:p.keys.assetType,value:e.assetType},{name:p.keys.contentType,value:e.contentType},{name:p.keys.implements,value:"ANS-110"},{name:p.keys.dateCreated,value:new Date().getTime().toString()},T("Name",e.name),T("Description",e.description),T("Topics",JSON.stringify(e.topics)),T("Ticker","ATOMIC"),T("Denomination",e.denomination?.toString()??"1"),T("TotalSupply",e.supply?.toString()??"1"),T("Transferable",e.transferable?.toString()??"true"),T("Creator",e.creator)];if(e.metadata)for(let n in e.metadata)t.push(T(R(n),e.metadata[n].toString()));return e.tags&&e.tags.forEach(n=>t.push(n)),t}function tt(e){if(typeof e!="object"||e===null)return"The provided arguments are invalid or empty.";let t=["name","description","topics","creator","data","contentType","assetType"];for(let n of t)if(!(n in e))return`Missing field '${n}'`;return typeof e.name!="string"||e.name.trim()===""?"Name is required":typeof e.description!="string"?"The description must be a valid string":!Array.isArray(e.topics)||e.topics.length===0?"Topics are required":typeof e.creator!="string"||e.creator.trim()===""?"Creator is required":e.data===void 0||e.data===null?"Data field is required":typeof e.contentType!="string"||e.contentType.trim()===""?"Content type must be a non-empty string":typeof e.assetType!="string"||e.assetType.trim()===""?"Type must be a non-empty string":"supply"in e&&(typeof e.supply!="number"||e.supply<=0)?"Supply must be a positive number":"denomination"in e&&(typeof e.denomination!="number"||e.denomination<=0)?"Denomination must be a positive number":"transferable"in e&&typeof e.transferable!="boolean"?"Transferable must be a boolean value":"metadata"in e&&typeof e.metadata!="object"?"Metadata must be an object":"tags"in e&&(!Array.isArray(e.tags)||e.tags.some(n=>typeof n!="object"))?"Tags must be an array of objects":"src"in e&&typeof e.src!="string"?"Source must be a valid string":null}var Kt=c(i(),1);var nt="eXCtpVbcd_jZ0dmU2PZ8focaKxBGECBQ8wMib7sIVPo",G="lJovHqM9hwNjHV5JoY9NGWtt0WD-5D4gOqNL2VWW5jk";function we(e){return async(t,n)=>{if(!e.signer)throw new Error("No signer provided");let r=new Date().getTime().toString(),o=[{name:p.keys.contentType,value:"application/json"},{name:p.keys.creator,value:t.creator},{name:p.keys.ans110.title,value:W(t.title)},{name:p.keys.ans110.description,value:W(t.description)},{name:p.keys.ans110.type,value:p.values.document},{name:p.keys.dateCreated,value:r},{name:p.keys.name,value:W(t.title)},{name:"Action",value:"Add-Collection"}],a=null,s=null;try{a=t.banner?await I(e,t.thumbnail):G,s=t.banner?await I(e,t.banner):nt,t.thumbnail&&o.push({name:p.keys.thumbnail,value:a}),t.banner&&o.push({name:p.keys.banner,value:s})}catch(g){console.error(g)}let u=await fetch($(d.src.collection));if(!u.ok)throw new Error("Unable to fetch process src");let l=await u.text();l=l.replace(/'<NAME>'/g,F(t.title)),l=l.replace(/'<DESCRIPTION>'/g,F(t.description)),l=l.replace(/<CREATOR>/g,t.creator),l=l.replace(/<THUMBNAIL>/g,a||G),l=l.replace(/<BANNER>/g,s||G),l=l.replace(/<DATECREATED>/g,r),l=l.replace(/<LASTUPDATE>/g,r);try{let g=await S(e,{spawnTags:o},n?k=>n(k):void 0);m("Sending eval message to collection..."),n&&n("Sending eval message to collection..."),await e.ao.message({process:g,signer:e.signer,tags:[{name:"Action",value:"Eval"}],data:l});let b=[{name:"Action",value:"Add-Collection"},{name:"CollectionId",value:g},{name:"Name",value:W(t.title)},{name:"Creator",value:t.creator},{name:"DateCreated",value:r}];return s&&b.push({name:"Banner",value:s}),a&&b.push({name:"Thumbnail",value:a}),t.skipRegistry||(m("Sending collection to registry..."),n&&n("Sending collection to registry..."),await e.ao.message({process:d.collectionRegistry,signer:e.signer,tags:b})),m("Sending profile request..."),n&&n("Sending profile request..."),await e.ao.message({process:g,signer:e.signer,tags:[{name:"Action",value:"Add-Collection-To-Profile"},{name:"ProfileProcess",value:t.creator}]}),g}catch(g){throw new Error(g.message??"Error creating collection")}}}function ve(e){return async t=>await D(e,{processId:t.creator,action:"Run-Action",tags:[{name:"ForwardTo",value:t.collectionId},{name:"ForwardAction",value:"Update-Assets"}],data:{Target:t.collectionId,Action:"Update-Assets",Input:JSON.stringify({AssetIds:t.assetIds,UpdateType:t.updateType})}})}function Ae(e){return async t=>{let n=await h(e,{processId:t,action:"Info"});return{...{id:t,title:n.Name,description:n.Description,creator:n.Creator,dateCreated:n.DateCreated,thumbnail:n.Thumbnail??G,banner:n.Banner??G},assetIds:n.Assets}}}function xe(e){return async t=>{let n=t.creator?"Get-Collections-By-User":"Get-Collections",r=await h(e,{processId:d.collectionRegistry,action:n,tags:t.creator?[{name:"Creator",value:t.creator}]:null});return r&&r.Collections&&r.Collections.length?r.Collections.map(a=>({id:a.Id,title:a.Name.replace(/\[|\]/g,""),description:a.Description,creator:a.Creator,dateCreated:a.DateCreated,banner:a.Banner,thumbnail:a.Thumbnail})):null}}var on=c(i(),1);function De(e){let t=B(e);return async(n,r)=>{let o=n.tags?n.tags:[];o.push({name:"Data-Source",value:n.parentId}),o.push({name:"Root-Source",value:n.rootId??n.parentId});let a={name:`Comment on ${n.parentId}`,description:`Comment on ${n.parentId}`,topics:["comment"],creator:n.creator,data:n.content,contentType:"text/plain",assetType:"comment",tags:o};return t(a,r)}}function be(e){return async t=>{try{let n=await j(e,t,{useGateway:!0}),r=n?.dataSource,o=n?.rootSource;if(!r||!o)throw new Error("dataSource and rootSource must be present on a comment");return{content:await Pe(t),parentId:r,rootId:o}}catch(n){throw new Error(n.message??"Error getting comment")}}}function Ce(e){return async t=>{if(!t.parentId&&!t.rootId)throw new Error("Must provide either parentId or rootId");let n=[];t.parentId&&n.push({name:"Data-Source",values:[t.parentId??""]}),t.rootId&&n.push({name:"Root-Source",values:[t.rootId??""]});let r=await x({gateway:f.goldsky,ids:null,tags:n,owners:null,cursor:null}),o=[];r&&r.data.length&&(o=r.data.map(s=>Q(s)));let a=[];for(let s of o){let u=s?.dataSource,l=s?.rootSource;if(!u||!l)throw new Error("dataSource and rootSource must be present on a comment");a.push({id:s.id,content:await Pe(s.id),parentId:u,rootId:l})}return a}}async function Pe(e){try{return await(await fetch($(e))).text()}catch(t){throw new Error(t.message??"Error getting comment data")}}var hn=c(i(),1);var pn=c(i(),1);function _(e){return async(t,n)=>{try{let r=[{name:p.keys.bootloaderInit,value:d.src.zone}];return t.tags&&t.tags.length&&t.tags.forEach(a=>r.push(a)),await S(e,{spawnTags:r},n?a=>n(a):void 0)}catch(r){throw new Error(r.message??"Error creating zone")}}}function V(e){return async(t,n)=>{try{let r=Object.entries(t).map(([a,s])=>({key:a,value:s}));return await D(e,{processId:n,action:"Zone-Update",data:r})}catch(r){throw new Error(r)}}}function Se(e){return async(t,n)=>{try{return await D(e,{processId:n,action:"Zone-Append",tags:[{name:"Path",value:t.path}],data:t.data})}catch(r){throw new Error(r)}}}function H(e){return async t=>{try{let n=await h(e,{processId:t,action:"Info"});return A(n)}catch(n){throw new Error(n)}}}function Ie(e){return async(t,n)=>{try{if(!e.signer)throw new Error("No signer provided");let o=[{name:"Date-Created",value:new Date().getTime().toString()},{name:"Action",value:"Create-Profile"}],a=null,s=null;try{t.thumbnail&&(a=await I(e,t.thumbnail)),t.banner&&(s=await I(e,t.banner))}catch(b){console.error(b)}let u=await S(e,{spawnTags:o,evalTxId:d.src.profile},b=>m(b)),l={UserName:t.userName,DisplayName:t.displayName,Description:t.description};a&&(l.ProfileImage=a),s&&(l.CoverImage=s),m("Updating profile..."),n&&n("Updating profile...");let g=await D(e,{processId:u,action:"Update-Profile",data:l});return m(`Profile update: ${g}`),u}catch(r){throw new Error(r.message??"Error creating profile")}}}function Ee(e){return async(t,n,r)=>{if(n){let o={UserName:t.userName,DisplayName:t.displayName,Description:t.description};if(t.thumbnail)try{o.Thumbnail=await I(e,t.thumbnail)}catch(a){r&&r(`Failed to resolve thumbnail: ${a.message}`)}if(t.banner)try{o.Banner=await I(e,t.banner)}catch(a){r&&r(`Failed to resolve banner: ${a.message}`)}try{m("Updating profile..."),r&&r("Updating profile...");let a=await D(e,{processId:n,action:"Update-Profile",data:o});return m(`Profile update: ${a}`),a}catch(a){throw new Error(a.message??"Error updating profile")}}else throw new Error("No profile provided")}}function J(e){return async t=>{try{let n=await h(e,{processId:t,action:"Info"}),{Profile:r={},...o}=n,a={...o,...r};return{id:t,...A(a)}}catch(n){throw new Error(n.message??"Error fetching profile")}}}function Ne(e){let t=J(e);return async n=>{try{let r=await h(e,{processId:d.profileRegistry,action:"Get-Profiles-By-Delegate",data:{Address:n}}),o;if(r&&r.length>0&&r[0].ProfileId)return o=r[0].ProfileId,await t(o)}catch(r){throw new Error(r.message??"Error fetching profile")}}}globalThis.Buffer||(globalThis.Buffer=Re.Buffer);function ot(e){return{createZone:_(e),updateZone:V(e),addToZone:Se(e),getZone:H(e),createProfile:Ie(e),updateProfile:Ee(e),getProfileById:J(e),getProfileByWalletAddress:Ne(e),createAtomicAsset:B(e),getAtomicAsset:Te(e),getAtomicAssets:he,createComment:De(e),getComment:be(e),getComments:Ce(e),createCollection:we(e),updateCollectionAssets:ve(e),getCollection:Ae(e),getCollections:xe(e),resolveTransaction:ge(e),getGQLData:x,createProcess:de(e),readProcess:ue(e),sendMessage:pe(e),mapFromProcessCase:A,mapToProcessCase:R}}var at={init:ot};
|
|
28
28
|
//# sourceMappingURL=index.cjs.map
|