@permaweb/libs 0.0.19 → 0.0.20
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 +3 -3
- package/dist/index.cjs.map +2 -2
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +2 -2
- package/dist/index.js +3 -3
- package/dist/index.js.map +2 -2
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -24,7 +24,7 @@ var kt=Object.create;var De=Object.defineProperty;var Ut=Object.getOwnPropertyDe
|
|
|
24
24
|
${f}
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
}`;return r.queryKey&&(b=`${r.queryKey}: ${b}`),b}async function Br(r){try{return await(await fetch(`https://${r.gateway}/graphql`,{method:"POST",headers:{"Content-Type":"application/json"},body:r.query})).json()}catch(e){throw e}}var br=I.goldsky,Cr=1e3;async function ct(r,e){let t=[{name:"Authority",value:w.mu}];e.tags&&e.tags.length>0&&e.tags.forEach(n=>t.push(n));try{let n=await r.ao.spawn({module:e.module,scheduler:e.scheduler,signer:r.signer,tags:t,data:e.data});return O(`Process ID: ${n}`),n}catch(n){throw new Error(n.message??"Error spawning process")}}function ut(r){return async e=>await _(r,e)}async function _(r,e){try{let t=[{name:"Action",value:e.action}];e.tags&&t.push(...e.tags);let n=e.useRawData?e.data:JSON.stringify(e.data);return await r.ao.message({process:e.processId,signer:r.signer,tags:t,data:n})}catch(t){throw new Error(t)}}function lt(r){return async e=>await L(r,e)}async function L(r,e){try{let t=[{name:"Action",value:e.action}];e.tags&&t.push(...e.tags);let n;if(typeof e.data=="object")n=JSON.stringify(e.data||{});else if(typeof e.data=="string"){try{JSON.parse(e.data)}catch(o){throw console.error(o),new Error("Invalid JSON data")}n=e.data}let i=await r.ao.dryrun({process:e.processId,tags:t,data:n});if(i.Messages&&i.Messages.length){if(i.Messages[0].Data)return JSON.parse(i.Messages[0].Data);if(i.Messages[0].Tags)return i.Messages[0].Tags.reduce((o,a)=>(o[a.name]=a.value,o),{})}}catch(t){throw new Error(t.message??"Error dryrunning process")}}async function Dr(r,e){try{let{Messages:t}=await r.ao.result({message:e.messageId,process:e.processId});if(t&&t.length){let n={};return t.forEach(i=>{let o=g(i.Tags,"Action")||e.action,a=null,c=i.Data;if(c)try{a=JSON.parse(c)}catch{a=c}let l=g(i.Tags,"Status"),p=g(i.Tags,"Message");n[o]={id:e.messageId,status:l,message:p,data:a}}),n}else return null}catch(t){console.error(t)}}async function pt(r,e){let t=null;if(e.evalSrc?t=e.evalSrc:e.evalTxId&&(t=await Sr(e.evalTxId)),t)try{let n=await _(r,{processId:e.processId,action:"Eval",data:t,tags:e.evalTags||null,useRawData:!0});return O(`Eval: ${n}`),await Dr(r,{processId:e.processId,messageId:n,action:"Eval"})}catch(n){throw new Error(n.message??"Error sending process eval")}return null}function yt(r){return async(e,t)=>{try{let n={module:e.module||w.module,scheduler:e.scheduler||w.scheduler};e.spawnData&&(n.data=e.spawnData),e.spawnTags&&(n.tags=e.spawnTags),t&&t("Spawning process...");let i=await ct(r,n);if(e.evalTxId||e.evalSrc){t&&t("Retrieving process..."),await ft(i,t),t&&t("Process retrieved!"),t&&t("Sending eval...");try{await pt(r,{processId:i,evalTxId:e.evalTxId||null,evalSrc:e.evalSrc||null,evalTags:e.evalTags})&&t&&t("Eval complete")}catch(o){throw new Error(o.message??"Error creating process")}}return i}catch(n){throw new Error(n.message??"Error creating process")}}}async function Y(r,e,t){try{let n={module:e.module||w.module,scheduler:e.scheduler||w.scheduler};e.spawnData&&(n.data=e.spawnData),e.spawnTags&&(n.tags=e.spawnTags),t&&t("Spawning process...");let i=await ct(r,n);if(t&&t("Retrieving process..."),await ft(i,t),e.evalTxId||e.evalSrc){t&&t("Process retrieved!"),t&&t("Sending eval...");try{await pt(r,{processId:i,evalTxId:e.evalTxId||null,evalSrc:e.evalSrc||null,evalTags:e.evalTags})&&t&&t("Eval complete")}catch(o){throw new Error(o.message??"Error creating process")}}return i}catch(n){throw new Error(n.message??"Error creating process")}}async function ft(r,e){let t=0;for(;t<Cr;){await new Promise(i=>setTimeout(i,2e3));let n=await B({gateway:br,ids:[r]});if(n?.data?.length){let i=n.data[0].node.id;return O(`Process found: ${i} (Try ${t+1})`),i}else O(`Process not found: ${r} (Try ${t+1})`),t++}throw new Error("Process not found, please try again")}async function Sr(r){try{return await(await fetch(V(r))).text()}catch(e){throw new Error(e)}}var An=d(h(),1);function dt(r){return async e=>{if(G(e))return e;if(!r.arweave)throw new Error("Must initialize with Arweave in order to create transactions");try{return await ht(r,{data:e})}catch(t){throw new Error(t.message??"Error resolving transaction")}}}async function Q(r,e){if(G(e))return e;if(!r.arweave)throw new Error("Must initialize with Arweave in order to create transactions");try{return await ht(r,{data:e})}catch(t){throw new Error(t.message??"Error resolving transaction")}}async function ht(r,e){let t=null,n=null;try{typeof e.data=="string"&&e.data.startsWith("data:")&&(t=Buffer.from(it(e.data),"base64"),n=nt(e.data))}catch(i){throw new Error(i)}if(t&&n){let i=ot(t);if(O(`Content upload size: ${i}`),i<Number(tt.dispatchUploadSize)){let o=await r.arweave.createTransaction({data:t},"use_wallet");return o.addTag(u.keys.contentType,n),e.tags&&e.tags.length>0&&e.tags.forEach(c=>o.addTag(c.name,c.value)),(await global.window.arweaveWallet.dispatch(o)).id}else throw new Error("Data exceeds max upload limit")}else throw new Error("Error preparing transaction data")}var ri=d(h(),1);var Rn=d(h(),1);function ae(r){return async(e,t)=>{let n=Lr(e);if(n)throw new Error(n);let i=Xe[e.contentType]?.serialize(e.data)??e.data,o=[{name:u.keys.bootloaderInit,value:e.src??w.src.asset}];o.push(...Pr(e)),o.push(A("Name",e.title)),o.push(A("Ticker","ATOMIC")),o.push(A("Denomination",e.denomination?e.denomination.toString():"1")),o.push(A("TotalSupply",e.supply?e.supply.toString():"1")),e.creator&&o.push(A("Creator",e.creator)),e.collectionId&&o.push(A("Collection",e.collectionId)),e.transferable||o.push(A("Transferable","false"));try{return await Y(r,{spawnTags:o,spawnData:i},t?c=>t(c):void 0)}catch(a){throw new Error(a.message??"Error creating asset")}}}async function be(r,e){try{let t=await B({gateway:I.goldsky,ids:[e],tags:null,owners:null,cursor:null});if(t&&t.data.length){let n=se(t.data[0]),i={ticker:null,denomination:null,balances:null,transferable:null,creator:null,metadata:{}},o=await L(r,{processId:n.id,action:"Info"});if(o&&((o.Name||o.name)&&(n.title=o.Name||o.name),(o.Ticker||o.ticker)&&(i.ticker=o.Ticker||o.ticker),(o.Denomination||o.denomination)&&(i.denomination=o.Denomination||o.denomination),(o.Logo||o.logo)&&(n.thumbnail=o.Logo||o.logo),o.Balances&&(i.balances=Object.fromEntries(Object.entries(o.Balances).filter(([a,c])=>Number(c)!==0))),o.Transferable!==void 0?i.transferable=o.Transferable:i.transferable=!0,(o.Creator||o.creator)&&(i.creator=o.Creator||o.creator),o.AssetMetadata))for(let[a,c]of Object.entries(o.AssetMetadata))a in i||(i.metadata[a]=c);if(!i.balances)try{let a=await L(r,{processId:n.id,action:"Balances"});a&&(i.balances=a)}catch(a){console.error(a)}return{...n,...P(i)}}return null}catch(t){throw new Error(t.message||"Error fetching atomic asset")}}function gt(r){return async e=>await be(r,e)}async function mt(r){try{let e=await B({gateway:I.arweave,ids:r??null,tags:null,owners:null,cursor:null});return e&&e.data.length?e.data.map(t=>se(t)):null}catch(e){throw new Error(e)}}function se(r){let e=new Set([u.keys.creator,u.keys.title,u.keys.name,u.keys.description,u.keys.type,u.keys.topic,u.keys.implements,u.keys.contentType,u.keys.renderWith,u.keys.thumbnail,u.keys.license,u.keys.access,u.keys.derivations,u.keys.commericalUse,u.keys.dataModelTraining,u.keys.paymentMode,u.keys.paymentAddress,u.keys.currency,u.keys.collectionId,u.keys.dateCreated]);return{id:r.node.id,owner:r.node.owner.address,creator:g(r.node.tags,u.keys.creator),title:Fr(r),description:g(r.node.tags,u.keys.description),type:g(r.node.tags,u.keys.type),topics:Rr(r),implementation:g(r.node.tags,u.keys.implements),contentType:g(r.node.tags,u.keys.contentType),renderWith:g(r.node.tags,u.keys.renderWith),thumbnail:g(r.node.tags,u.keys.thumbnail),udl:Ur(r),collectionId:g(r.node.tags,u.keys.collectionId),dateCreated:kr(r),blockHeight:r.node.block?r.node.block.height:0,tags:r.node.tags.filter(n=>!e.has(n.name))}}function Fr(r){return g(r.node.tags,u.keys.title)||g(r.node.tags,u.keys.name)||rt(r.node.id,!1)}function Rr(r){return r.node.tags.filter(e=>e.name.includes(u.keys.topic.toLowerCase())).map(e=>e.value)}function kr(r){if(r.node.block)return r.node.block.timestamp*1e3;let e=g(r.node.tags,u.keys.dateCreated);return e?Number(e):0}function Ur(r){let e=g(r.node.tags,u.keys.license);return e&&e===et.udl.address?{access:{value:g(r.node.tags,u.keys.access)},derivations:{value:g(r.node.tags,u.keys.derivations)},commercialUse:{value:g(r.node.tags,u.keys.commericalUse)},dataModelTraining:{value:g(r.node.tags,u.keys.dataModelTraining)},paymentMode:g(r.node.tags,u.keys.paymentMode),paymentAddress:g(r.node.tags,u.keys.paymentAddress),currency:g(r.node.tags,u.keys.currency)}:null}function Pr(r){let e=[{name:u.keys.title,value:r.title},{name:u.keys.description,value:r.description},{name:u.keys.assetType,value:r.type},{name:u.keys.contentType,value:r.contentType},{name:u.keys.implements,value:"ANS-110"},{name:u.keys.dateCreated,value:new Date().getTime().toString()}];return r.topics.forEach(t=>e.push({name:u.keys.topic,value:t})),r.creator&&e.push({name:u.keys.creator,value:r.creator}),r.collectionId&&e.push({name:u.keys.collectionId,value:r.collectionId}),r.renderWith&&e.push({name:u.keys.renderWith,value:r.renderWith}),r.thumbnail&&G(r.thumbnail)&&e.push({name:u.keys.thumbnail,value:r.thumbnail}),r.tags&&r.tags.forEach(t=>e.push(t)),e}function Lr(r){if(typeof r!="object"||r===null)return"The provided arguments are invalid or empty.";let e=["title","description","type","topics","contentType","data"];for(let t of e)if(!(t in r))return`Missing field '${t}'.`;return typeof r.title!="string"||r.title.trim()===""?"Title is required":typeof r.description!="string"?"The description must be a valid string":typeof r.type!="string"||r.type.trim()===""?"Type must be a non-empty string":!Array.isArray(r.topics)||r.topics.length===0?"Topics are required":typeof r.contentType!="string"||r.contentType.trim()===""?"Content type must be a non-empty string":r.data===void 0||r.data===null?"The data field is required":"creator"in r&&typeof r.creator!="string"?"Creator must be a valid string":"collectionId"in r&&typeof r.collectionId!="string"?"Collection ID must be a valid string":"renderWith"in r&&typeof r.renderWith!="string"?"Render with value must be a valid string":"thumbnail"in r&&typeof r.thumbnail!="string"?"Thumbnail must be a valid string":"supply"in r&&(typeof r.supply!="number"||r.supply<=0)?"Supply must be a positive number":"transferable"in r&&typeof r.transferable!="boolean"?"Transferable must be a boolean value":"tags"in r&&(!Array.isArray(r.tags)||r.tags.some(t=>typeof t!="object"))?"Tags must be an array of objects":"src"in r&&typeof r.src!="string"?"Source must be a valid string":null}var $n=d(h(),1);var Nr="eXCtpVbcd_jZ0dmU2PZ8focaKxBGECBQ8wMib7sIVPo",X="lJovHqM9hwNjHV5JoY9NGWtt0WD-5D4gOqNL2VWW5jk";function Tt(r){return async(e,t)=>{if(!r.signer)throw new Error("Must provide a signer when initializing to create collections");let n=new Date().getTime().toString(),i=[{name:u.keys.contentType,value:"application/json"},{name:u.keys.creator,value:e.creator},{name:u.keys.ans110.title,value:K(e.title)},{name:u.keys.ans110.description,value:K(e.description)},{name:u.keys.ans110.type,value:u.values.document},{name:u.keys.dateCreated,value:n},{name:u.keys.name,value:K(e.title)},{name:"Action",value:"Add-Collection"}],o=null,a=null;try{o=e.banner?await Q(r,e.thumbnail):X,a=e.banner?await Q(r,e.banner):Nr,e.thumbnail&&i.push({name:u.keys.thumbnail,value:o}),e.banner&&i.push({name:u.keys.banner,value:a})}catch(p){console.error(p)}let c=await fetch(V(w.src.collection));if(!c.ok)throw new Error("Unable to fetch process src");let l=await c.text();l=l.replace(/'<NAME>'/g,Be(e.title)),l=l.replace(/'<DESCRIPTION>'/g,Be(e.description)),l=l.replace(/<CREATOR>/g,e.creator),l=l.replace(/<THUMBNAIL>/g,o||X),l=l.replace(/<BANNER>/g,a||X),l=l.replace(/<DATECREATED>/g,n),l=l.replace(/<LASTUPDATE>/g,n);try{let p=await Y(r,{spawnTags:i},t?y=>t(y):void 0);await r.ao.message({process:p,signer:r.signer,tags:[{name:"Action",value:"Eval"}],data:l});let f=[{name:"Action",value:"Add-Collection"},{name:"CollectionId",value:p},{name:"Name",value:K(e.title)},{name:"Creator",value:e.creator},{name:"DateCreated",value:n}];return a&&f.push({name:"Banner",value:a}),o&&f.push({name:"Thumbnail",value:o}),await r.ao.message({process:p,signer:r.signer,tags:[{name:"Action",value:"Add-Collection-To-Profile"},{name:"ProfileProcess",value:e.creator}]}),p}catch(p){throw new Error(p.message??"Error creating collection")}}}function wt(r){return async e=>await _(r,{processId:e.creator,action:"Run-Action",tags:[{name:"ForwardTo",value:e.collectionId},{name:"ForwardAction",value:"Update-Assets"}],data:{Target:e.collectionId,Action:"Update-Assets",Input:JSON.stringify({AssetIds:e.assetIds,UpdateType:e.updateType})}})}function xt(r){return async e=>{let t=await L(r,{processId:e,action:"Info"});return{...{id:e,title:t.Name,description:t.Description,creator:t.Creator,dateCreated:t.DateCreated,thumbnail:t.Thumbnail??X,banner:t.Banner??X},assetIds:t.Assets}}}function At(r){return async e=>{let t=e.creator?"Get-Collections-By-User":"Get-Collections",n=await L(r,{processId:w.collectionsRegistry,action:t,tags:e.creator?[{name:"Creator",value:e.creator}]:null});return n&&n.Collections&&n.Collections.length?n.Collections.map(o=>({id:o.Id,title:o.Name.replace(/\[|\]/g,""),description:o.Description,creator:o.Creator,dateCreated:o.DateCreated,banner:o.Banner,thumbnail:o.Thumbnail})):null}}var qn=d(h(),1);function Et(r){let e=ae(r);return async(t,n)=>{let i=t.tags?t.tags:[];i.push({name:"Data-Source",value:t.parentId}),i.push({name:"Root-Source",value:t.rootId??t.parentId});let o={title:`Comment on ${t.parentId}`,description:`Comment on ${t.parentId}`,type:"comment",topics:["comment"],contentType:"text/plain",data:t.content,creator:t.creator,src:w.src.asset,tags:i};return e(o,n)}}function It(r){return async e=>{try{let t=await be(r,e),n=t?.tags?.find(o=>o.name==="Data-Source")?.value,i=t?.tags?.find(o=>o.name==="Root-Source")?.value;if(!n||!i)throw new Error("dataSource and rootSource must be present on a comment");return{...t,content:await bt(e),dataSource:n,rootSource:i}}catch(t){throw new Error(t.message??"Error getting comment")}}}function Bt(r){return async e=>{if(!e.parentId&&!e.rootId)throw new Error("Must provide either parentId or rootId");let t=[];e.parentId&&t.push({name:"Data-Source",values:[e.parentId??""]}),e.rootId&&t.push({name:"Root-Source",values:[e.rootId??""]});let n=await B({gateway:I.goldsky,ids:null,tags:t,owners:null,cursor:null}),i=[];n&&n.data.length&&(i=n.data.map(a=>se(a)));let o=[];for(let a of i){let c=a?.tags?.find(p=>p.name==="Data-Source")?.value,l=a?.tags?.find(p=>p.name==="Root-Source")?.value;if(!c||!l)throw new Error("dataSource and rootSource must be present on a comment");o.push({...a,content:await bt(a.id),dataSource:c,rootSource:l})}return o}}async function bt(r){try{return await(await fetch(V(r))).text()}catch(e){throw new Error(e.message??"Error getting comment data")}}var ti=d(h(),1);var jn=d(h(),1);function ce(r){return async(e,t)=>{try{let n=[{name:u.keys.bootloaderInit,value:w.src.zone}];return e.tags&&e.tags.length&&e.tags.forEach(o=>n.push(o)),await Y(r,{spawnTags:n},t?o=>t(o):void 0)}catch(n){throw new Error(n.message??"Error creating zone")}}}function ue(r){return async(e,t)=>{try{let n=Object.entries(e).map(([o,a])=>({key:o,value:a}));return await _(r,{processId:t,action:"Zone-Update",data:n})}catch(n){throw new Error(n)}}}function Ct(r){return async(e,t)=>{try{return await _(r,{processId:t,action:"Zone-Append",tags:[{name:"Path",value:e.path}],data:e.data})}catch(n){throw new Error(n)}}}function le(r){return async e=>{try{return await L(r,{processId:e,action:"Info"})}catch(t){throw new Error(t)}}}function Dt(r){let e=ce(r);return async(t,n)=>{let i=null,o=[{name:u.keys.dataProtocol,value:"Zone"},{name:u.keys.zoneType,value:"User"}],a=async c=>{let l=c.toLowerCase();if(t[l])try{let p=await Q(r,t[l]);o.push(A(c,p))}catch(p){n?n(`Failed to resolve ${c}: ${p.message}`):console.error(p)}};o.push(A("Username",t.username)),o.push(A("DisplayName",t.displayName)),o.push(A("Description",t.description)),await Promise.all([a("Thumbnail"),a("Banner")]);try{i=await e({tags:o},n)}catch(c){throw new Error(c.message??"Error creating profile")}return i}}function St(r){let e=ue(r);return async(t,n,i)=>{if(n){let o={Username:t.username,DisplayName:t.displayName,Description:t.description};if(t.thumbnail)try{o.Thumbnail=await Q(r,t.thumbnail)}catch(a){i&&i(`Failed to resolve thumbnail: ${a.message}`)}if(t.banner)try{o.Banner=await Q(r,t.banner)}catch(a){i&&i(`Failed to resolve banner: ${a.message}`)}try{return await e(o,n)}catch(a){throw new Error(a.message??"Error creating profile")}}else throw new Error("No profile provided")}}function Ce(r){let e=le(r);return async t=>{try{let n=await e(t);return{id:t,...P(n.Store??{}),assets:P(n.Assets??[])}}catch(n){throw new Error(n.message??"Error fetching profile")}}}function vt(r){let e=Ce(r);return async t=>{try{let n=await B({gateway:I.goldsky,tags:[{name:u.keys.dataProtocol,values:["Zone"]},{name:u.keys.zoneType,values:["User"]}],owners:[t]});return n?.data?.length>0?(n.data.sort((i,o)=>{let a=i.node.block?.timestamp??0;return(o.node.block?.timestamp??0)-a}),await e(n.data[0].node.id)):{id:null}}catch(n){throw new Error(n.message??"Error fetching profile")}}}globalThis.Buffer||(globalThis.Buffer=Ft.Buffer);function $r(r){return{createZone:ce(r),updateZone:ue(r),addToZone:Ct(r),getZone:le(r),createAtomicAsset:ae(r),getAtomicAsset:gt(r),getAtomicAssets:mt,createProfile:Dt(r),updateProfile:St(r),getProfileById:Ce(r),getProfileByWalletAddress:vt(r),createComment:Et(r),getComment:It(r),getComments:Bt(r),createCollection:Tt(r),updateCollectionAssets:wt(r),getCollection:xt(r),getCollections:At(r),resolveTransaction:dt(r),getGQLData:B,createProcess:yt(r),readProcess:lt(r),sendMessage:ut(r),mapFromProcessCase:P,mapToProcessCase:oe}}var ci={init:$r};export{ci as default};
|
|
27
|
+
}`;return r.queryKey&&(b=`${r.queryKey}: ${b}`),b}async function Br(r){try{return await(await fetch(`https://${r.gateway}/graphql`,{method:"POST",headers:{"Content-Type":"application/json"},body:r.query})).json()}catch(e){throw e}}var br=I.goldsky,Cr=1e3;async function ct(r,e){let t=[{name:"Authority",value:w.mu}];e.tags&&e.tags.length>0&&e.tags.forEach(n=>t.push(n));try{let n=await r.ao.spawn({module:e.module,scheduler:e.scheduler,signer:r.signer,tags:t,data:e.data});return O(`Process ID: ${n}`),n}catch(n){throw new Error(n.message??"Error spawning process")}}function ut(r){return async e=>await _(r,e)}async function _(r,e){try{let t=[{name:"Action",value:e.action}];e.tags&&t.push(...e.tags);let n=e.useRawData?e.data:JSON.stringify(e.data);return await r.ao.message({process:e.processId,signer:r.signer,tags:t,data:n})}catch(t){throw new Error(t)}}function lt(r){return async e=>await L(r,e)}async function L(r,e){try{let t=[{name:"Action",value:e.action}];e.tags&&t.push(...e.tags);let n;if(typeof e.data=="object")n=JSON.stringify(e.data||{});else if(typeof e.data=="string"){try{JSON.parse(e.data)}catch(o){throw console.error(o),new Error("Invalid JSON data")}n=e.data}let i=await r.ao.dryrun({process:e.processId,tags:t,data:n});if(i.Messages&&i.Messages.length){if(i.Messages[0].Data)return JSON.parse(i.Messages[0].Data);if(i.Messages[0].Tags)return i.Messages[0].Tags.reduce((o,a)=>(o[a.name]=a.value,o),{})}}catch(t){throw new Error(t.message??"Error dryrunning process")}}async function Dr(r,e){try{let{Messages:t}=await r.ao.result({message:e.messageId,process:e.processId});if(t&&t.length){let n={};return t.forEach(i=>{let o=g(i.Tags,"Action")||e.action,a=null,c=i.Data;if(c)try{a=JSON.parse(c)}catch{a=c}let l=g(i.Tags,"Status"),p=g(i.Tags,"Message");n[o]={id:e.messageId,status:l,message:p,data:a}}),n}else return null}catch(t){console.error(t)}}async function pt(r,e){let t=null;if(e.evalSrc?t=e.evalSrc:e.evalTxId&&(t=await Sr(e.evalTxId)),t)try{let n=await _(r,{processId:e.processId,action:"Eval",data:t,tags:e.evalTags||null,useRawData:!0});return O(`Eval: ${n}`),await Dr(r,{processId:e.processId,messageId:n,action:"Eval"})}catch(n){throw new Error(n.message??"Error sending process eval")}return null}function yt(r){return async(e,t)=>{try{let n={module:e.module||w.module,scheduler:e.scheduler||w.scheduler};e.spawnData&&(n.data=e.spawnData),e.spawnTags&&(n.tags=e.spawnTags),t&&t("Spawning process...");let i=await ct(r,n);if(e.evalTxId||e.evalSrc){t&&t("Retrieving process..."),await ft(i,t),t&&t("Process retrieved!"),t&&t("Sending eval...");try{await pt(r,{processId:i,evalTxId:e.evalTxId||null,evalSrc:e.evalSrc||null,evalTags:e.evalTags})&&t&&t("Eval complete")}catch(o){throw new Error(o.message??"Error creating process")}}return i}catch(n){throw new Error(n.message??"Error creating process")}}}async function Y(r,e,t){try{let n={module:e.module||w.module,scheduler:e.scheduler||w.scheduler};e.spawnData&&(n.data=e.spawnData),e.spawnTags&&(n.tags=e.spawnTags),t&&t("Spawning process...");let i=await ct(r,n);if(t&&t("Retrieving process..."),await ft(i,t),e.evalTxId||e.evalSrc){t&&t("Process retrieved!"),t&&t("Sending eval...");try{await pt(r,{processId:i,evalTxId:e.evalTxId||null,evalSrc:e.evalSrc||null,evalTags:e.evalTags})&&t&&t("Eval complete")}catch(o){throw new Error(o.message??"Error creating process")}}return i}catch(n){throw new Error(n.message??"Error creating process")}}async function ft(r,e){let t=0;for(;t<Cr;){await new Promise(i=>setTimeout(i,2e3));let n=await B({gateway:br,ids:[r]});if(n?.data?.length){let i=n.data[0].node.id;return O(`Process found: ${i} (Try ${t+1})`),i}else O(`Process not found: ${r} (Try ${t+1})`),t++}throw new Error("Process not found, please try again")}async function Sr(r){try{return await(await fetch(V(r))).text()}catch(e){throw new Error(e)}}var An=d(h(),1);function dt(r){return async e=>{if(G(e))return e;if(!r.arweave)throw new Error("Must initialize with Arweave in order to create transactions");try{return await ht(r,{data:e})}catch(t){throw new Error(t.message??"Error resolving transaction")}}}async function Q(r,e){if(G(e))return e;if(!r.arweave)throw new Error("Must initialize with Arweave in order to create transactions");try{return await ht(r,{data:e})}catch(t){throw new Error(t.message??"Error resolving transaction")}}async function ht(r,e){let t=null,n=null;try{typeof e.data=="string"&&e.data.startsWith("data:")&&(t=Buffer.from(it(e.data),"base64"),n=nt(e.data))}catch(i){throw new Error(i)}if(t&&n){let i=ot(t);if(O(`Content upload size: ${i}`),i<Number(tt.dispatchUploadSize)){let o=await r.arweave.createTransaction({data:t},"use_wallet");return o.addTag(u.keys.contentType,n),e.tags&&e.tags.length>0&&e.tags.forEach(c=>o.addTag(c.name,c.value)),(await global.window.arweaveWallet.dispatch(o)).id}else throw new Error("Data exceeds max upload limit")}else throw new Error("Error preparing transaction data")}var ri=d(h(),1);var Rn=d(h(),1);function ae(r){return async(e,t)=>{let n=Lr(e);if(n)throw new Error(n);let i=Xe[e.contentType]?.serialize(e.data)??e.data,o=[{name:u.keys.bootloaderInit,value:e.src??w.src.asset}];o.push(...Pr(e)),o.push(A("Name",e.title)),o.push(A("Ticker","ATOMIC")),o.push(A("Denomination",e.denomination?e.denomination.toString():"1")),o.push(A("TotalSupply",e.supply?e.supply.toString():"1")),e.creator&&o.push(A("Creator",e.creator)),e.collectionId&&o.push(A("Collection",e.collectionId)),e.transferable||o.push(A("Transferable","false"));try{return await Y(r,{spawnTags:o,spawnData:i},t?c=>t(c):void 0)}catch(a){throw new Error(a.message??"Error creating asset")}}}async function be(r,e){try{let t=await B({gateway:I.goldsky,ids:[e],tags:null,owners:null,cursor:null});if(t&&t.data.length){let n=se(t.data[0]),i={ticker:null,denomination:null,balances:null,transferable:null,creator:null,metadata:{}},o=await L(r,{processId:n.id,action:"Info"});if(o&&((o.Name||o.name)&&(n.title=o.Name||o.name),(o.Ticker||o.ticker)&&(i.ticker=o.Ticker||o.ticker),(o.Denomination||o.denomination)&&(i.denomination=o.Denomination||o.denomination),(o.Logo||o.logo)&&(n.thumbnail=o.Logo||o.logo),o.Balances&&(i.balances=Object.fromEntries(Object.entries(o.Balances).filter(([a,c])=>Number(c)!==0))),o.Transferable!==void 0?i.transferable=o.Transferable:i.transferable=!0,(o.Creator||o.creator)&&(i.creator=o.Creator||o.creator),o.AssetMetadata))for(let[a,c]of Object.entries(o.AssetMetadata))a in i||(i.metadata[a]=c);if(!i.balances)try{let a=await L(r,{processId:n.id,action:"Balances"});a&&(i.balances=a)}catch(a){console.error(a)}return{...n,...P(i)}}return null}catch(t){throw new Error(t.message||"Error fetching atomic asset")}}function gt(r){return async e=>await be(r,e)}async function mt(r){try{let e=await B({gateway:I.arweave,ids:r??null,tags:null,owners:null,cursor:null});return e&&e.data.length?e.data.map(t=>se(t)):null}catch(e){throw new Error(e)}}function se(r){let e=new Set([u.keys.creator,u.keys.title,u.keys.name,u.keys.description,u.keys.type,u.keys.topic,u.keys.implements,u.keys.contentType,u.keys.renderWith,u.keys.thumbnail,u.keys.license,u.keys.access,u.keys.derivations,u.keys.commericalUse,u.keys.dataModelTraining,u.keys.paymentMode,u.keys.paymentAddress,u.keys.currency,u.keys.collectionId,u.keys.dateCreated]);return{id:r.node.id,owner:r.node.owner.address,creator:g(r.node.tags,u.keys.creator),title:Fr(r),description:g(r.node.tags,u.keys.description),type:g(r.node.tags,u.keys.type),topics:Rr(r),implementation:g(r.node.tags,u.keys.implements),contentType:g(r.node.tags,u.keys.contentType),renderWith:g(r.node.tags,u.keys.renderWith),thumbnail:g(r.node.tags,u.keys.thumbnail),udl:Ur(r),collectionId:g(r.node.tags,u.keys.collectionId),dateCreated:kr(r),blockHeight:r.node.block?r.node.block.height:0,tags:r.node.tags.filter(n=>!e.has(n.name))}}function Fr(r){return g(r.node.tags,u.keys.title)||g(r.node.tags,u.keys.name)||rt(r.node.id,!1)}function Rr(r){return r.node.tags.filter(e=>e.name.includes(u.keys.topic.toLowerCase())).map(e=>e.value)}function kr(r){if(r.node.block)return r.node.block.timestamp*1e3;let e=g(r.node.tags,u.keys.dateCreated);return e?Number(e):0}function Ur(r){let e=g(r.node.tags,u.keys.license);return e&&e===et.udl.address?{access:{value:g(r.node.tags,u.keys.access)},derivations:{value:g(r.node.tags,u.keys.derivations)},commercialUse:{value:g(r.node.tags,u.keys.commericalUse)},dataModelTraining:{value:g(r.node.tags,u.keys.dataModelTraining)},paymentMode:g(r.node.tags,u.keys.paymentMode),paymentAddress:g(r.node.tags,u.keys.paymentAddress),currency:g(r.node.tags,u.keys.currency)}:null}function Pr(r){let e=[{name:u.keys.title,value:r.title},{name:u.keys.description,value:r.description},{name:u.keys.assetType,value:r.type},{name:u.keys.contentType,value:r.contentType},{name:u.keys.implements,value:"ANS-110"},{name:u.keys.dateCreated,value:new Date().getTime().toString()}];return r.topics.forEach(t=>e.push({name:u.keys.topic,value:t})),r.creator&&e.push({name:u.keys.creator,value:r.creator}),r.collectionId&&e.push({name:u.keys.collectionId,value:r.collectionId}),r.renderWith&&e.push({name:u.keys.renderWith,value:r.renderWith}),r.thumbnail&&G(r.thumbnail)&&e.push({name:u.keys.thumbnail,value:r.thumbnail}),r.tags&&r.tags.forEach(t=>e.push(t)),e}function Lr(r){if(typeof r!="object"||r===null)return"The provided arguments are invalid or empty.";let e=["title","description","type","topics","contentType","data"];for(let t of e)if(!(t in r))return`Missing field '${t}'.`;return typeof r.title!="string"||r.title.trim()===""?"Title is required":typeof r.description!="string"?"The description must be a valid string":typeof r.type!="string"||r.type.trim()===""?"Type must be a non-empty string":!Array.isArray(r.topics)||r.topics.length===0?"Topics are required":typeof r.contentType!="string"||r.contentType.trim()===""?"Content type must be a non-empty string":r.data===void 0||r.data===null?"The data field is required":"creator"in r&&typeof r.creator!="string"?"Creator must be a valid string":"collectionId"in r&&typeof r.collectionId!="string"?"Collection ID must be a valid string":"renderWith"in r&&typeof r.renderWith!="string"?"Render with value must be a valid string":"thumbnail"in r&&typeof r.thumbnail!="string"?"Thumbnail must be a valid string":"supply"in r&&(typeof r.supply!="number"||r.supply<=0)?"Supply must be a positive number":"transferable"in r&&typeof r.transferable!="boolean"?"Transferable must be a boolean value":"tags"in r&&(!Array.isArray(r.tags)||r.tags.some(t=>typeof t!="object"))?"Tags must be an array of objects":"src"in r&&typeof r.src!="string"?"Source must be a valid string":null}var $n=d(h(),1);var Nr="eXCtpVbcd_jZ0dmU2PZ8focaKxBGECBQ8wMib7sIVPo",X="lJovHqM9hwNjHV5JoY9NGWtt0WD-5D4gOqNL2VWW5jk";function Tt(r){return async(e,t)=>{if(!r.signer)throw new Error("Must provide a signer when initializing to create collections");let n=new Date().getTime().toString(),i=[{name:u.keys.contentType,value:"application/json"},{name:u.keys.creator,value:e.creator},{name:u.keys.ans110.title,value:K(e.title)},{name:u.keys.ans110.description,value:K(e.description)},{name:u.keys.ans110.type,value:u.values.document},{name:u.keys.dateCreated,value:n},{name:u.keys.name,value:K(e.title)},{name:"Action",value:"Add-Collection"}],o=null,a=null;try{o=e.banner?await Q(r,e.thumbnail):X,a=e.banner?await Q(r,e.banner):Nr,e.thumbnail&&i.push({name:u.keys.thumbnail,value:o}),e.banner&&i.push({name:u.keys.banner,value:a})}catch(p){console.error(p)}let c=await fetch(V(w.src.collection));if(!c.ok)throw new Error("Unable to fetch process src");let l=await c.text();l=l.replace(/'<NAME>'/g,Be(e.title)),l=l.replace(/'<DESCRIPTION>'/g,Be(e.description)),l=l.replace(/<CREATOR>/g,e.creator),l=l.replace(/<THUMBNAIL>/g,o||X),l=l.replace(/<BANNER>/g,a||X),l=l.replace(/<DATECREATED>/g,n),l=l.replace(/<LASTUPDATE>/g,n);try{let p=await Y(r,{spawnTags:i},t?y=>t(y):void 0);await r.ao.message({process:p,signer:r.signer,tags:[{name:"Action",value:"Eval"}],data:l});let f=[{name:"Action",value:"Add-Collection"},{name:"CollectionId",value:p},{name:"Name",value:K(e.title)},{name:"Creator",value:e.creator},{name:"DateCreated",value:n}];return a&&f.push({name:"Banner",value:a}),o&&f.push({name:"Thumbnail",value:o}),await r.ao.message({process:w.collectionsRegistry,signer:r.signer,tags:f}),await r.ao.message({process:p,signer:r.signer,tags:[{name:"Action",value:"Add-Collection-To-Profile"},{name:"ProfileProcess",value:e.creator}]}),p}catch(p){throw new Error(p.message??"Error creating collection")}}}function wt(r){return async e=>await _(r,{processId:e.creator,action:"Run-Action",tags:[{name:"ForwardTo",value:e.collectionId},{name:"ForwardAction",value:"Update-Assets"}],data:{Target:e.collectionId,Action:"Update-Assets",Input:JSON.stringify({AssetIds:e.assetIds,UpdateType:e.updateType})}})}function xt(r){return async e=>{let t=await L(r,{processId:e,action:"Info"});return{...{id:e,title:t.Name,description:t.Description,creator:t.Creator,dateCreated:t.DateCreated,thumbnail:t.Thumbnail??X,banner:t.Banner??X},assetIds:t.Assets}}}function At(r){return async e=>{let t=e.creator?"Get-Collections-By-User":"Get-Collections",n=await L(r,{processId:w.collectionsRegistry,action:t,tags:e.creator?[{name:"Creator",value:e.creator}]:null});return n&&n.Collections&&n.Collections.length?n.Collections.map(o=>({id:o.Id,title:o.Name.replace(/\[|\]/g,""),description:o.Description,creator:o.Creator,dateCreated:o.DateCreated,banner:o.Banner,thumbnail:o.Thumbnail})):null}}var qn=d(h(),1);function Et(r){let e=ae(r);return async(t,n)=>{let i=t.tags?t.tags:[];i.push({name:"Data-Source",value:t.parentId}),i.push({name:"Root-Source",value:t.rootId??t.parentId});let o={title:`Comment on ${t.parentId}`,description:`Comment on ${t.parentId}`,type:"comment",topics:["comment"],contentType:"text/plain",data:t.content,creator:t.creator,src:w.src.asset,tags:i};return e(o,n)}}function It(r){return async e=>{try{let t=await be(r,e),n=t?.tags?.find(o=>o.name==="Data-Source")?.value,i=t?.tags?.find(o=>o.name==="Root-Source")?.value;if(!n||!i)throw new Error("dataSource and rootSource must be present on a comment");return{...t,content:await bt(e),dataSource:n,rootSource:i}}catch(t){throw new Error(t.message??"Error getting comment")}}}function Bt(r){return async e=>{if(!e.parentId&&!e.rootId)throw new Error("Must provide either parentId or rootId");let t=[];e.parentId&&t.push({name:"Data-Source",values:[e.parentId??""]}),e.rootId&&t.push({name:"Root-Source",values:[e.rootId??""]});let n=await B({gateway:I.goldsky,ids:null,tags:t,owners:null,cursor:null}),i=[];n&&n.data.length&&(i=n.data.map(a=>se(a)));let o=[];for(let a of i){let c=a?.tags?.find(p=>p.name==="Data-Source")?.value,l=a?.tags?.find(p=>p.name==="Root-Source")?.value;if(!c||!l)throw new Error("dataSource and rootSource must be present on a comment");o.push({...a,content:await bt(a.id),dataSource:c,rootSource:l})}return o}}async function bt(r){try{return await(await fetch(V(r))).text()}catch(e){throw new Error(e.message??"Error getting comment data")}}var ti=d(h(),1);var jn=d(h(),1);function ce(r){return async(e,t)=>{try{let n=[{name:u.keys.bootloaderInit,value:w.src.zone}];return e.tags&&e.tags.length&&e.tags.forEach(o=>n.push(o)),await Y(r,{spawnTags:n},t?o=>t(o):void 0)}catch(n){throw new Error(n.message??"Error creating zone")}}}function ue(r){return async(e,t)=>{try{let n=Object.entries(e).map(([o,a])=>({key:o,value:a}));return await _(r,{processId:t,action:"Zone-Update",data:n})}catch(n){throw new Error(n)}}}function Ct(r){return async(e,t)=>{try{return await _(r,{processId:t,action:"Zone-Append",tags:[{name:"Path",value:e.path}],data:e.data})}catch(n){throw new Error(n)}}}function le(r){return async e=>{try{return await L(r,{processId:e,action:"Info"})}catch(t){throw new Error(t)}}}function Dt(r){let e=ce(r);return async(t,n)=>{let i=null,o=[{name:u.keys.dataProtocol,value:"Zone"},{name:u.keys.zoneType,value:"User"}],a=async c=>{let l=c.toLowerCase();if(t[l])try{let p=await Q(r,t[l]);o.push(A(c,p))}catch(p){n?n(`Failed to resolve ${c}: ${p.message}`):console.error(p)}};o.push(A("Username",t.username)),o.push(A("DisplayName",t.displayName)),o.push(A("Description",t.description)),await Promise.all([a("Thumbnail"),a("Banner")]);try{i=await e({tags:o},n)}catch(c){throw new Error(c.message??"Error creating profile")}return i}}function St(r){let e=ue(r);return async(t,n,i)=>{if(n){let o={Username:t.username,DisplayName:t.displayName,Description:t.description};if(t.thumbnail)try{o.Thumbnail=await Q(r,t.thumbnail)}catch(a){i&&i(`Failed to resolve thumbnail: ${a.message}`)}if(t.banner)try{o.Banner=await Q(r,t.banner)}catch(a){i&&i(`Failed to resolve banner: ${a.message}`)}try{return await e(o,n)}catch(a){throw new Error(a.message??"Error creating profile")}}else throw new Error("No profile provided")}}function Ce(r){let e=le(r);return async t=>{try{let n=await e(t);return{id:t,...P(n.Store??{}),assets:P(n.Assets??[])}}catch(n){throw new Error(n.message??"Error fetching profile")}}}function vt(r){let e=Ce(r);return async t=>{try{let n=await B({gateway:I.goldsky,tags:[{name:u.keys.dataProtocol,values:["Zone"]},{name:u.keys.zoneType,values:["User"]}],owners:[t]});return n?.data?.length>0?(n.data.sort((i,o)=>{let a=i.node.block?.timestamp??0;return(o.node.block?.timestamp??0)-a}),await e(n.data[0].node.id)):{id:null}}catch(n){throw new Error(n.message??"Error fetching profile")}}}globalThis.Buffer||(globalThis.Buffer=Ft.Buffer);function $r(r){return{createZone:ce(r),updateZone:ue(r),addToZone:Ct(r),getZone:le(r),createAtomicAsset:ae(r),getAtomicAsset:gt(r),getAtomicAssets:mt,createProfile:Dt(r),updateProfile:St(r),getProfileById:Ce(r),getProfileByWalletAddress:vt(r),createComment:Et(r),getComment:It(r),getComments:Bt(r),createCollection:Tt(r),updateCollectionAssets:wt(r),getCollection:xt(r),getCollections:At(r),resolveTransaction:dt(r),getGQLData:B,createProcess:yt(r),readProcess:lt(r),sendMessage:ut(r),mapFromProcessCase:P,mapToProcessCase:oe}}var ci={init:$r};export{ci as default};
|
|
28
28
|
/*! Bundled license information:
|
|
29
29
|
|
|
30
30
|
ieee754/index.js:
|