@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.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
var
|
|
1
|
+
var Ne=Object.create;var J=Object.defineProperty;var Re=Object.getOwnPropertyDescriptor;var Le=Object.getOwnPropertyNames;var $e=Object.getPrototypeOf,We=Object.prototype.hasOwnProperty;var Ge=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Me=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Le(t))!We.call(e,o)&&o!==n&&J(e,o,{get:()=>t[o],enumerable:!(r=Re(t,o))||r.enumerable});return e};var c=(e,t,n)=>(n=e!=null?Ne($e(e)):{},Me(t||!e||!e.__esModule?J(n,"default",{value:e,enumerable:!0}):n,e));var i=Ge((ot,ee)=>{var y=ee.exports={},w,v;function Z(){throw new Error("setTimeout has not been defined")}function q(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?w=setTimeout:w=Z}catch{w=Z}try{typeof clearTimeout=="function"?v=clearTimeout:v=q}catch{v=q}})();function Y(e){if(w===setTimeout)return setTimeout(e,0);if((w===Z||!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 Oe(e){if(v===clearTimeout)return clearTimeout(e);if((v===q||!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,M=-1;function Ue(){!N||!E||(N=!1,E.length?C=E.concat(C):M=-1,C.length&&K())}function K(){if(!N){var e=Y(Ue);N=!0;for(var t=C.length;t;){for(E=C,C=[];++M<t;)E&&E[M].run();M=-1,t=C.length}E=null,N=!1,Oe(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 X(e,t)),C.length===1&&!N&&Y(K)};function X(e,t){this.fun=e,this.array=t}X.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 bn=c(i(),1);import{Buffer as tt}from"buffer";var mt=c(i(),1);var st=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"},te={"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"}},ne={node1:"https://up.arweave.net",node2:"https://turbo.ardrive.io",batchSize:1,chunkSize:75e5,dispatchUploadSize:100*1024};var yt=c(i(),1);var lt=c(i(),1);function L(e){return e?/^[a-z0-9_-]{43}$/i.test(e):!1}function O(e,t){for(let n=0;n<e.length;n++)if(e[n]&&e[n].name===t)return e[n].value;return null}function re(e){let t=e.match(/^data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+);base64,/);return t?t[1]:null}function oe(e){return e.split(",")[1]}function ae(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 z(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 Be(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=Be(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 ke="https://arweave.net";function $(e){return`${ke}/${e}`}var dt=c(i(),1);var Lt=c(i(),1);var St=c(i(),1);var At=c(i(),1);var se={p1:"P1",end:"END"},ie={default:100};async function x(e){let t=e.paginator?e.paginator:ie.default,n=[],r=0,o=null;if(e.ids&&!e.ids.length)return{data:n,count:r,nextCursor:o,previousCursor:null};try{let a=ze(e),s=await Fe({gateway:e.gateway,query:qe(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=se.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 qe(e){let t={query:`query { ${e} }`};return JSON.stringify(t)}function ze(e){let t=e.paginator?e.paginator:ie.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!==se.end?`"${e.cursor}"`:null,l=`first: ${t}`,g="",b="data { size type } owner { address } block { height timestamp }",Q="";switch(e.gateway){case f.arweave:break;case f.goldsky:g="count";break}let k=`
|
|
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
|
+
${Q}
|
|
10
10
|
|
|
11
11
|
){
|
|
12
|
-
${
|
|
12
|
+
${g}
|
|
13
13
|
pageInfo {
|
|
14
14
|
hasNextPage
|
|
15
15
|
}
|
|
@@ -21,8 +21,8 @@ var Re=Object.create;var J=Object.defineProperty;var Le=Object.getOwnPropertyDes
|
|
|
21
21
|
name
|
|
22
22
|
value
|
|
23
23
|
}
|
|
24
|
-
${
|
|
24
|
+
${b}
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
}`;return e.queryKey&&(Z=`${e.queryKey}: ${Z}`),Z}async function qe(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 je=f.goldsky,Ve=100;async function ce(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 le(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 pe(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 He(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=O(o.Tags,"Action")||t.action,s=null,p=o.Data;if(p)try{s=JSON.parse(p)}catch{s=p}let u=O(o.Tags,"Status"),d=O(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 ue(e,t){let n=null;if(t.evalSrc?n=t.evalSrc:t.evalTxId&&(n=await _e(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 He(e,{processId:t.processId,messageId:r,action:"Eval"})}catch(r){throw new Error(r.message??"Error sending process eval")}return null}function ye(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 ce(e,r);if(t.evalTxId||t.evalSrc){n&&n("Retrieving process..."),await de(o,n),n&&n("Process retrieved!"),n&&n("Sending eval...");try{await ue(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 ce(e,r);if(n&&n("Retrieving process..."),await de(o,n),t.evalTxId||t.evalSrc){n&&n("Process retrieved!"),n&&n("Sending eval...");try{await ue(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 de(e,t){let n=0;for(;n<Ve;){await new Promise(o=>setTimeout(o,2e3));let r=await h({gateway:je,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 _e(e){try{return await(await fetch(L(e))).text()}catch(t){throw new Error(t)}}var Lt=c(i(),1);function me(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 ge(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 ge(e,{data:t})}catch(n){throw new Error(n.message??"Error resolving transaction")}}async function ge(e,t){let n=null,r=null;try{typeof t.data=="string"&&t.data.startsWith("data:")&&(n=Buffer.from(oe(t.data),"base64"),r=re(t.data))}catch(o){throw new Error(o)}if(n&&r){let o=ae(n);if(T(`Content upload size: ${o}`),o<Number(ne.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 gn=c(i(),1);var Ut=c(i(),1);function k(e){return async(t,n)=>{let r=Ke(t);if(r)throw new Error(r);let o=te[t.contentType]?.serialize(t.data)??t.data,a=Ye(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 H(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]?Q(o.data[0]):{},...r}}return{id:t,...r}}catch(r){throw new Error(r.message||"Error fetching atomic asset")}}function fe(e){return async(t,n)=>await H(e,t,n)}async function Te(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=>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(`${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 Ye(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 Ke(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 Ht=c(i(),1);var Xe="eXCtpVbcd_jZ0dmU2PZ8focaKxBGECBQ8wMib7sIVPo",W="lJovHqM9hwNjHV5JoY9NGWtt0WD-5D4gOqNL2VWW5jk";function he(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):Xe,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,V(t.title)),u=u.replace(/'<DESCRIPTION>'/g,V(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?F=>n(F):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 we(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 ve(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 Ae(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 en=c(i(),1);function xe(e){let t=k(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 De(e){return async t=>{try{let n=await H(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 Ce(t),parentId:r,rootId:o}}catch(n){throw new Error(n.message??"Error getting comment")}}}function be(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=>Q(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 Ce(s.id),parentId:p,rootId:u})}return a}}async function Ce(e){try{return await(await fetch(L(e))).text()}catch(t){throw new Error(t.message??"Error getting comment data")}}var mn=c(i(),1);var an=c(i(),1);function B(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 U(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 Se(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 z(e){return async t=>{try{let n=await b(e,{processId:t,action:"Info"});return D(n)}catch(n){throw new Error(n)}}}function Pe(e){let t=B(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 Ie(e){let t=U(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 _(e){let t=z(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 Ee(e){let t=_(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=tt);function nt(e){return{createZone:B(e),updateZone:U(e),addToZone:Se(e),getZone:z(e),createProfile:Pe(e),updateProfile:Ie(e),getProfileById:_(e),getProfileByWalletAddress:Ee(e),createAtomicAsset:k(e),getAtomicAsset:fe(e),getAtomicAssets:Te,createComment:xe(e),getComment:De(e),getComments:be(e),createCollection:he(e),updateCollectionAssets:we(e),getCollection:ve(e),getCollections:Ae(e),resolveTransaction:me(e),getGQLData:h,createProcess:ye(e),readProcess:pe(e),sendMessage:le(e),mapFromProcessCase:D,mapToProcessCase:E}}var xn={init:nt};export{xn as default};
|
|
27
|
+
}`;return e.queryKey&&(k=`${e.queryKey}: ${k}`),k}async function Fe(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 je=f.goldsky,_e=100;async function ce(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 le(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 pe(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 Ve(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=O(o.Tags,"Action")||t.action,s=null,u=o.Data;if(u)try{s=JSON.parse(u)}catch{s=u}let l=O(o.Tags,"Status"),g=O(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 ue(e,t){let n=null;if(t.evalSrc?n=t.evalSrc:t.evalTxId&&(n=await He(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 Ve(e,{processId:t.processId,messageId:r,action:"Eval"})}catch(r){throw new Error(r.message??"Error sending process eval")}return null}function ye(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 ce(e,r);if(t.evalTxId||t.evalSrc){n&&n("Retrieving process..."),await de(o,n),n&&n("Process retrieved!"),n&&n("Sending eval...");try{await ue(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 ce(e,r);if(n&&n("Retrieving process..."),await de(o,n),t.evalTxId||t.evalSrc){n&&n("Process retrieved!"),n&&n("Sending eval...");try{await ue(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 de(e,t){let n=0;for(;n<_e;){await new Promise(o=>setTimeout(o,2e3));let r=await x({gateway:je,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 He(e){try{return await(await fetch($(e))).text()}catch(t){throw new Error(t)}}var Rt=c(i(),1);function me(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 ge(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 ge(e,{data:t})}catch(n){throw new Error(n.message??"Error resolving transaction")}}async function ge(e,t){let n=null,r=null;try{typeof t.data=="string"&&t.data.startsWith("data:")&&(n=Buffer.from(oe(t.data),"base64"),r=re(t.data))}catch(o){throw new Error(o)}if(n&&r){let o=ae(n);if(m(`Content upload size: ${o}`),o<Number(ne.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 gn=c(i(),1);var kt=c(i(),1);function U(e){return async(t,n)=>{let r=Ke(t);if(r)throw new Error(r);let o=te[t.contentType]?.serialize(t.data)??t.data,a=Ye(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 F(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]?B(o.data[0]):{},...r}}return{id:t,...r}}catch(r){throw new Error(r.message||"Error fetching atomic asset")}}function fe(e){return async(t,n)=>await F(e,t,n)}async function Te(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=>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(`${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 Ye(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 Ke(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 Vt=c(i(),1);var Xe="eXCtpVbcd_jZ0dmU2PZ8focaKxBGECBQ8wMib7sIVPo",G="lJovHqM9hwNjHV5JoY9NGWtt0WD-5D4gOqNL2VWW5jk";function he(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):Xe,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,z(t.title)),l=l.replace(/'<DESCRIPTION>'/g,z(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?Q=>n(Q):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 we(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 ve(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 Ae(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 en=c(i(),1);function xe(e){let t=U(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 De(e){return async t=>{try{let n=await F(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 Ce(t),parentId:r,rootId:o}}catch(n){throw new Error(n.message??"Error getting comment")}}}function be(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=>B(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 Ce(s.id),parentId:u,rootId:l})}return a}}async function Ce(e){try{return await(await fetch($(e))).text()}catch(t){throw new Error(t.message??"Error getting comment data")}}var mn=c(i(),1);var an=c(i(),1);function j(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 _(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 Pe(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 V(e){return async t=>{try{let n=await h(e,{processId:t,action:"Info"});return A(n)}catch(n){throw new Error(n)}}}function Se(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 Ie(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 H(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 Ee(e){let t=H(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=tt);function nt(e){return{createZone:j(e),updateZone:_(e),addToZone:Pe(e),getZone:V(e),createProfile:Se(e),updateProfile:Ie(e),getProfileById:H(e),getProfileByWalletAddress:Ee(e),createAtomicAsset:U(e),getAtomicAsset:fe(e),getAtomicAssets:Te,createComment:xe(e),getComment:De(e),getComments:be(e),createCollection:he(e),updateCollectionAssets:we(e),getCollection:ve(e),getCollections:Ae(e),resolveTransaction:me(e),getGQLData:x,createProcess:ye(e),readProcess:pe(e),sendMessage:le(e),mapFromProcessCase:A,mapToProcessCase:R}}var xn={init:nt};export{xn as default};
|
|
28
28
|
//# sourceMappingURL=index.js.map
|