@permaweb/libs 0.0.24 → 0.0.25
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 +1 -1
- 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 +1 -1
- package/dist/index.js.map +2 -2
- package/dist/types/helpers/types.d.ts +2 -2
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -24,7 +24,7 @@ var Ft=Object.create;var Se=Object.defineProperty;var Ut=Object.getOwnPropertyDe
|
|
|
24
24
|
${p}
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
}`;return r.queryKey&&(C=`${r.queryKey}: ${C}`),C}async function Ar(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 Ir=A.goldsky,Br=100;async function at(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 T(`Process ID: ${n}`),n}catch(n){throw new Error(n.message??"Error spawning process")}}function st(r){return async e=>await v(r,e)}async function v(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 ct(r){return async e=>await B(r,e)}async function B(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 Cr(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=oe(i.Tags,"Action")||e.action,a=null,c=i.Data;if(c)try{a=JSON.parse(c)}catch{a=c}let u=oe(i.Tags,"Status"),l=oe(i.Tags,"Message");n[o]={id:e.messageId,status:u,message:l,data:a}}),n}else return null}catch(t){console.error(t)}}async function ut(r,e){let t=null;if(e.evalSrc?t=e.evalSrc:e.evalTxId&&(t=await Dr(e.evalTxId)),t)try{let n=await v(r,{processId:e.processId,action:"Eval",data:t,tags:e.evalTags||null,useRawData:!0});return T(`Eval: ${n}`),await Cr(r,{processId:e.processId,messageId:n,action:"Eval"})}catch(n){throw new Error(n.message??"Error sending process eval")}return null}function lt(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 at(r,n);if(e.evalTxId||e.evalSrc){t&&t("Retrieving process..."),await pt(i,t),t&&t("Process retrieved!"),t&&t("Sending eval...");try{await ut(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 k(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 at(r,n);if(t&&t("Retrieving process..."),await pt(i,t),e.evalTxId||e.evalSrc){t&&t("Process retrieved!"),t&&t("Sending eval...");try{await ut(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 pt(r,e){let t=0;for(;t<Br;){await new Promise(i=>setTimeout(i,2e3));let n=await R({gateway:Ir,ids:[r]});if(n?.data?.length){let i=n.data[0].node.id;return T(`Process found: ${i} (Try ${t+1})`),i}else T(`Process not found: ${r} (Try ${t+1})`),t++}throw new Error("Process not found, please try again")}async function Dr(r){try{return await(await fetch(H(r))).text()}catch(e){throw new Error(e)}}var hn=f(d(),1);function yt(r){return async e=>{if(Y(e))return e;if(!r.arweave)throw new Error("Must initialize with Arweave in order to create transactions");try{return await ft(r,{data:e})}catch(t){throw new Error(t.message??"Error resolving transaction")}}}async function G(r,e){if(Y(e))return e;if(!r.arweave)throw new Error("Must initialize with Arweave in order to create transactions");try{return await ft(r,{data:e})}catch(t){throw new Error(t.message??"Error resolving transaction")}}async function ft(r,e){let t=null,n=null;try{typeof e.data=="string"&&e.data.startsWith("data:")&&(t=Buffer.from(rt(e.data),"base64"),n=tt(e.data))}catch(i){throw new Error(i)}if(t&&n){let i=nt(t);if(T(`Content upload size: ${i}`),i<Number(et.dispatchUploadSize)){let o=await r.arweave.createTransaction({data:t},"use_wallet");return o.addTag(h.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 Kn=f(d(),1);var Cn=f(d(),1);function ae(r){return async(e,t)=>{let n=Pr(e);if(n)throw new Error(n);let i=Xe[e.contentType]?.serialize(e.data)??e.data,o=br(e);try{return await k(r,{spawnTags:o,spawnData:i},t?c=>t(c):void 0)}catch(a){throw new Error(a.message??"Error creating asset")}}}async function Ae(r,e,t){try{let n=U(await B(r,{processId:e,action:"Info"}));if(t?.useGateway){let i=await R({gateway:A.goldsky,ids:[e],tags:null,owners:null,cursor:null});return{...i?.data?.[0]?se(i.data[0]):{},...n}}return{id:e,...n}}catch(n){throw new Error(n.message||"Error fetching atomic asset")}}function dt(r){return async(e,t)=>await Ae(r,e,t)}async function ht(r){try{let e=await R({gateway:A.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={id:r.node.id,owner:r.node.owner.address};for(let t of r.node.tags){let n=t.name,o=(n.startsWith(`${h.keys.bootloader}-`)?n.slice(`${h.keys.bootloader}-`.length):n).split("-").map((c,u)=>u===0?c.toLowerCase():c.charAt(0).toUpperCase()+c.slice(1).toLowerCase()).join(""),a;try{a=JSON.parse(t.value)}catch{a=t.value.toString()}e[o]=a}return e}function br(r){let e=[{name:h.keys.bootloaderInit,value:r.src??w.src.asset},{name:h.keys.creator,value:r.creator},{name:h.keys.assetType,value:r.assetType},{name:h.keys.contentType,value:r.contentType},{name:h.keys.implements,value:"ANS-110"},{name:h.keys.dateCreated,value:new Date().getTime().toString()},I("Name",r.name),I("Description",r.description),I("Topics",JSON.stringify(r.topics)),I("Ticker","ATOMIC"),I("Denomination",r.denomination?.toString()??"1"),I("TotalSupply",r.supply?.toString()??"1"),I("Transferable",r.transferable?.toString()??"true"),I("Creator",r.creator)];if(r.metadata)for(let t in r.metadata)e.push(I(V(t),r.metadata[t].toString()));return r.tags&&r.tags.forEach(t=>e.push(t)),e}function Pr(r){if(typeof r!="object"||r===null)return"The provided arguments are invalid or empty.";let e=["name","description","topics","creator","data","contentType","assetType"];for(let t of e)if(!(t in r))return`Missing field '${t}'`;return typeof r.name!="string"||r.name.trim()===""?"Name is required":typeof r.description!="string"?"The description must be a valid string":!Array.isArray(r.topics)||r.topics.length===0?"Topics are required":typeof r.creator!="string"||r.creator.trim()===""?"Creator is required":r.data===void 0||r.data===null?"Data field is required":typeof r.contentType!="string"||r.contentType.trim()===""?"Content type must be a non-empty string":typeof r.assetType!="string"||r.assetType.trim()===""?"Type must be a non-empty string":"supply"in r&&(typeof r.supply!="number"||r.supply<=0)?"Supply must be a positive number":"denomination"in r&&(typeof r.denomination!="number"||r.denomination<=0)?"Denomination must be a positive number":"transferable"in r&&typeof r.transferable!="boolean"?"Transferable must be a boolean value":"metadata"in r&&typeof r.metadata!="object"?"Metadata must be an object":"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 Rn=f(d(),1);var Fr="eXCtpVbcd_jZ0dmU2PZ8focaKxBGECBQ8wMib7sIVPo",X="lJovHqM9hwNjHV5JoY9NGWtt0WD-5D4gOqNL2VWW5jk";function mt(r){return async(e,t)=>{if(!r.signer)throw new Error("No signer provided");let n=new Date().getTime().toString(),i=[{name:h.keys.contentType,value:"application/json"},{name:h.keys.creator,value:e.creator},{name:h.keys.ans110.title,value:K(e.title)},{name:h.keys.ans110.description,value:K(e.description)},{name:h.keys.ans110.type,value:h.values.document},{name:h.keys.dateCreated,value:n},{name:h.keys.name,value:K(e.title)},{name:"Action",value:"Add-Collection"}],o=null,a=null;try{o=e.banner?await G(r,e.thumbnail):X,a=e.banner?await G(r,e.banner):Fr,e.thumbnail&&i.push({name:h.keys.thumbnail,value:o}),e.banner&&i.push({name:h.keys.banner,value:a})}catch(l){console.error(l)}let c=await fetch(H(w.src.collection));if(!c.ok)throw new Error("Unable to fetch process src");let u=await c.text();u=u.replace(/'<NAME>'/g,Ee(e.title)),u=u.replace(/'<DESCRIPTION>'/g,Ee(e.description)),u=u.replace(/<CREATOR>/g,e.creator),u=u.replace(/<THUMBNAIL>/g,o||X),u=u.replace(/<BANNER>/g,a||X),u=u.replace(/<DATECREATED>/g,n),u=u.replace(/<LASTUPDATE>/g,n);try{let l=await k(r,{spawnTags:i},t?y=>t(y):void 0);T("Sending eval message to collection..."),t&&t("Sending eval message to collection..."),await r.ao.message({process:l,signer:r.signer,tags:[{name:"Action",value:"Eval"}],data:u});let p=[{name:"Action",value:"Add-Collection"},{name:"CollectionId",value:l},{name:"Name",value:K(e.title)},{name:"Creator",value:e.creator},{name:"DateCreated",value:n}];return a&&p.push({name:"Banner",value:a}),o&&p.push({name:"Thumbnail",value:o}),e.skipRegistry||(T("Sending collection to registry..."),t&&t("Sending collection to registry..."),await r.ao.message({process:w.collectionRegistry,signer:r.signer,tags:p})),T("Sending profile request..."),t&&t("Sending profile request..."),await r.ao.message({process:l,signer:r.signer,tags:[{name:"Action",value:"Add-Collection-To-Profile"},{name:"ProfileProcess",value:e.creator}]}),l}catch(l){throw new Error(l.message??"Error creating collection")}}}function gt(r){return async e=>await v(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 wt(r){return async e=>{let t=await B(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 Tt(r){return async e=>{let t=e.creator?"Get-Collections-By-User":"Get-Collections",n=await B(r,{processId:w.collectionRegistry,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 kn=f(d(),1);function xt(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={name:`Comment on ${t.parentId}`,description:`Comment on ${t.parentId}`,topics:["comment"],creator:t.creator,data:t.content,contentType:"text/plain",assetType:"comment",tags:i};return e(o,n)}}function Et(r){return async e=>{try{let t=await Ae(r,e,{useGateway:!0}),n=t?.dataSource,i=t?.rootSource;if(!n||!i)throw new Error("dataSource and rootSource must be present on a comment");return{content:await It(e),parentId:n,rootId:i}}catch(t){throw new Error(t.message??"Error getting comment")}}}function At(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 R({gateway:A.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?.dataSource,u=a?.rootSource;if(!c||!u)throw new Error("dataSource and rootSource must be present on a comment");o.push({id:a.id,content:await It(a.id),parentId:c,rootId:u})}return o}}async function It(r){try{return await(await fetch(H(r))).text()}catch(e){throw new Error(e.message??"Error getting comment data")}}var Jn=f(d(),1);var Qn=f(d(),1);function Ie(r){return async(e,t)=>{try{let n=[{name:h.keys.bootloaderInit,value:w.src.zone}];return e.tags&&e.tags.length&&e.tags.forEach(o=>n.push(o)),await k(r,{spawnTags:n},t?o=>t(o):void 0)}catch(n){throw new Error(n.message??"Error creating zone")}}}function Be(r){return async(e,t)=>{try{let n=Object.entries(e).map(([o,a])=>({key:o,value:a}));return await v(r,{processId:t,action:"Zone-Update",data:n})}catch(n){throw new Error(n)}}}function Bt(r){return async(e,t)=>{try{return await v(r,{processId:t,action:"Zone-Append",tags:[{name:"Path",value:e.path}],data:e.data})}catch(n){throw new Error(n)}}}function Ce(r){return async e=>{try{let t=await B(r,{processId:e,action:"Info"});return U(t)}catch(t){throw new Error(t)}}}function Ct(r){return async(e,t)=>{try{if(!r.signer)throw new Error("No signer provided");let i=[{name:"Date-Created",value:new Date().getTime().toString()},{name:"Action",value:"Create-Profile"}],o=null,a=null;try{e.thumbnail&&(o=await G(r,e.thumbnail)),e.banner&&(a=await G(r,e.banner))}catch(p){console.error(p)}let c=await k(r,{spawnTags:i,evalTxId:w.src.profile},p=>T(p)),u={UserName:e.userName,DisplayName:e.displayName,Description:e.description};o&&(u.ProfileImage=o),a&&(u.CoverImage=a),T("Updating profile..."),t&&t("Updating profile...");let l=await v(r,{processId:c,action:"Update-Profile",data:u});return T(`Profile update: ${l}`),c}catch(n){throw new Error(n.message??"Error creating profile")}}}function Dt(r){return async(e,t,n)=>{if(t){let i={UserName:e.userName,DisplayName:e.displayName,Description:e.description};if(e.thumbnail)try{i.Thumbnail=await G(r,e.thumbnail)}catch(o){n&&n(`Failed to resolve thumbnail: ${o.message}`)}if(e.banner)try{i.Banner=await G(r,e.banner)}catch(o){n&&n(`Failed to resolve banner: ${o.message}`)}try{T("Updating profile..."),n&&n("Updating profile...");let o=await v(r,{processId:t,action:"Update-Profile",data:i});return T(`Profile update: ${o}`),o}catch(o){throw new Error(o.message??"Error updating profile")}}else throw new Error("No profile provided")}}function De(r){return async e=>{try{let t=await B(r,{processId:e,action:"Info"}),{Profile:n={},...i}=t,o={...i,...n};return{id:e,...U(o)}}catch(t){throw new Error(t.message??"Error fetching profile")}}}function St(r){let e=De(r);return async t=>{try{let n=await B(r,{processId:w.profileRegistry,action:"Get-Profiles-By-Delegate",data:{Address:t}}),i;if(n&&n.length>0&&n[0].ProfileId)return i=n[0].ProfileId,await e(i)}catch(n){throw new Error(n.message??"Error fetching profile")}}}globalThis.Buffer||(globalThis.Buffer=bt.Buffer);function Rr(r){return{createZone:Ie(r),updateZone:Be(r),addToZone:Bt(r),getZone:Ce(r),createProfile:Ct(r),updateProfile:Dt(r),getProfileById:De(r),getProfileByWalletAddress:St(r),createAtomicAsset:ae(r),getAtomicAsset:dt(r),getAtomicAssets:ht,createComment:xt(r),getComment:Et(r),getComments:At(r),createCollection:mt(r),updateCollectionAssets:gt(r),getCollection:wt(r),getCollections:Tt(r),resolveTransaction:yt(r),getGQLData:R,createProcess:lt(r),readProcess:ct(r),sendMessage:st(r),mapFromProcessCase:U,mapToProcessCase:V}}var ii={init:Rr};export{ii as default};
|
|
27
|
+
}`;return r.queryKey&&(C=`${r.queryKey}: ${C}`),C}async function Ar(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 Ir=A.goldsky,Br=100;async function at(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 T(`Process ID: ${n}`),n}catch(n){throw new Error(n.message??"Error spawning process")}}function st(r){return async e=>await v(r,e)}async function v(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 ct(r){return async e=>await B(r,e)}async function B(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 Cr(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=oe(i.Tags,"Action")||e.action,a=null,c=i.Data;if(c)try{a=JSON.parse(c)}catch{a=c}let u=oe(i.Tags,"Status"),l=oe(i.Tags,"Message");n[o]={id:e.messageId,status:u,message:l,data:a}}),n}else return null}catch(t){console.error(t)}}async function ut(r,e){let t=null;if(e.evalSrc?t=e.evalSrc:e.evalTxId&&(t=await Dr(e.evalTxId)),t)try{let n=await v(r,{processId:e.processId,action:"Eval",data:t,tags:e.evalTags||null,useRawData:!0});return T(`Eval: ${n}`),await Cr(r,{processId:e.processId,messageId:n,action:"Eval"})}catch(n){throw new Error(n.message??"Error sending process eval")}return null}function lt(r){return async(e,t)=>{try{let n={module:e.module||w.module,scheduler:e.scheduler||w.scheduler};e.data&&(n.data=e.data),e.tags&&(n.tags=e.tags),t&&t("Spawning process...");let i=await at(r,n);if(t&&t("Retrieving process..."),await pt(i,t),e.evalTxId||e.evalSrc){t&&t("Process retrieved!"),t&&t("Sending eval...");try{await ut(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 k(r,e,t){try{let n={module:e.module||w.module,scheduler:e.scheduler||w.scheduler};e.data&&(n.data=e.data),e.tags&&(n.tags=e.tags),t&&t("Spawning process...");let i=await at(r,n);if(t&&t("Retrieving process..."),await pt(i,t),e.evalTxId||e.evalSrc){t&&t("Process retrieved!"),t&&t("Sending eval...");try{await ut(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 pt(r,e){let t=0;for(;t<Br;){await new Promise(i=>setTimeout(i,2e3));let n=await R({gateway:Ir,ids:[r]});if(n?.data?.length){let i=n.data[0].node.id;return T(`Process found: ${i} (Try ${t+1})`),i}else T(`Process not found: ${r} (Try ${t+1})`),t++}throw new Error("Process not found, please try again")}async function Dr(r){try{return await(await fetch(H(r))).text()}catch(e){throw new Error(e)}}var hn=f(d(),1);function yt(r){return async e=>{if(Y(e))return e;if(!r.arweave)throw new Error("Must initialize with Arweave in order to create transactions");try{return await ft(r,{data:e})}catch(t){throw new Error(t.message??"Error resolving transaction")}}}async function G(r,e){if(Y(e))return e;if(!r.arweave)throw new Error("Must initialize with Arweave in order to create transactions");try{return await ft(r,{data:e})}catch(t){throw new Error(t.message??"Error resolving transaction")}}async function ft(r,e){let t=null,n=null;try{typeof e.data=="string"&&e.data.startsWith("data:")&&(t=Buffer.from(rt(e.data),"base64"),n=tt(e.data))}catch(i){throw new Error(i)}if(t&&n){let i=nt(t);if(T(`Content upload size: ${i}`),i<Number(et.dispatchUploadSize)){let o=await r.arweave.createTransaction({data:t},"use_wallet");return o.addTag(h.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 Kn=f(d(),1);var Cn=f(d(),1);function ae(r){return async(e,t)=>{let n=Pr(e);if(n)throw new Error(n);let i=Xe[e.contentType]?.serialize(e.data)??e.data,o=br(e);try{return await k(r,{tags:o,data:i},t?c=>t(c):void 0)}catch(a){throw new Error(a.message??"Error creating asset")}}}async function Ae(r,e,t){try{let n=U(await B(r,{processId:e,action:"Info"}));if(t?.useGateway){let i=await R({gateway:A.goldsky,ids:[e],tags:null,owners:null,cursor:null});return{...i?.data?.[0]?se(i.data[0]):{},...n}}return{id:e,...n}}catch(n){throw new Error(n.message||"Error fetching atomic asset")}}function dt(r){return async(e,t)=>await Ae(r,e,t)}async function ht(r){try{let e=await R({gateway:A.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={id:r.node.id,owner:r.node.owner.address};for(let t of r.node.tags){let n=t.name,o=(n.startsWith(`${h.keys.bootloader}-`)?n.slice(`${h.keys.bootloader}-`.length):n).split("-").map((c,u)=>u===0?c.toLowerCase():c.charAt(0).toUpperCase()+c.slice(1).toLowerCase()).join(""),a;try{a=JSON.parse(t.value)}catch{a=t.value.toString()}e[o]=a}return e}function br(r){let e=[{name:h.keys.bootloaderInit,value:r.src??w.src.asset},{name:h.keys.creator,value:r.creator},{name:h.keys.assetType,value:r.assetType},{name:h.keys.contentType,value:r.contentType},{name:h.keys.implements,value:"ANS-110"},{name:h.keys.dateCreated,value:new Date().getTime().toString()},I("Name",r.name),I("Description",r.description),I("Topics",JSON.stringify(r.topics)),I("Ticker","ATOMIC"),I("Denomination",r.denomination?.toString()??"1"),I("TotalSupply",r.supply?.toString()??"1"),I("Transferable",r.transferable?.toString()??"true"),I("Creator",r.creator)];if(r.metadata)for(let t in r.metadata)e.push(I(V(t),r.metadata[t].toString()));return r.tags&&r.tags.forEach(t=>e.push(t)),e}function Pr(r){if(typeof r!="object"||r===null)return"The provided arguments are invalid or empty.";let e=["name","description","topics","creator","data","contentType","assetType"];for(let t of e)if(!(t in r))return`Missing field '${t}'`;return typeof r.name!="string"||r.name.trim()===""?"Name is required":typeof r.description!="string"?"The description must be a valid string":!Array.isArray(r.topics)||r.topics.length===0?"Topics are required":typeof r.creator!="string"||r.creator.trim()===""?"Creator is required":r.data===void 0||r.data===null?"Data field is required":typeof r.contentType!="string"||r.contentType.trim()===""?"Content type must be a non-empty string":typeof r.assetType!="string"||r.assetType.trim()===""?"Type must be a non-empty string":"supply"in r&&(typeof r.supply!="number"||r.supply<=0)?"Supply must be a positive number":"denomination"in r&&(typeof r.denomination!="number"||r.denomination<=0)?"Denomination must be a positive number":"transferable"in r&&typeof r.transferable!="boolean"?"Transferable must be a boolean value":"metadata"in r&&typeof r.metadata!="object"?"Metadata must be an object":"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 Rn=f(d(),1);var Fr="eXCtpVbcd_jZ0dmU2PZ8focaKxBGECBQ8wMib7sIVPo",X="lJovHqM9hwNjHV5JoY9NGWtt0WD-5D4gOqNL2VWW5jk";function mt(r){return async(e,t)=>{if(!r.signer)throw new Error("No signer provided");let n=new Date().getTime().toString(),i=[{name:h.keys.contentType,value:"application/json"},{name:h.keys.creator,value:e.creator},{name:h.keys.ans110.title,value:K(e.title)},{name:h.keys.ans110.description,value:K(e.description)},{name:h.keys.ans110.type,value:h.values.document},{name:h.keys.dateCreated,value:n},{name:h.keys.name,value:K(e.title)},{name:"Action",value:"Add-Collection"}],o=null,a=null;try{o=e.banner?await G(r,e.thumbnail):X,a=e.banner?await G(r,e.banner):Fr,e.thumbnail&&i.push({name:h.keys.thumbnail,value:o}),e.banner&&i.push({name:h.keys.banner,value:a})}catch(l){console.error(l)}let c=await fetch(H(w.src.collection));if(!c.ok)throw new Error("Unable to fetch process src");let u=await c.text();u=u.replace(/'<NAME>'/g,Ee(e.title)),u=u.replace(/'<DESCRIPTION>'/g,Ee(e.description)),u=u.replace(/<CREATOR>/g,e.creator),u=u.replace(/<THUMBNAIL>/g,o||X),u=u.replace(/<BANNER>/g,a||X),u=u.replace(/<DATECREATED>/g,n),u=u.replace(/<LASTUPDATE>/g,n);try{let l=await k(r,{tags:i},t?y=>t(y):void 0);T("Sending eval message to collection..."),t&&t("Sending eval message to collection..."),await r.ao.message({process:l,signer:r.signer,tags:[{name:"Action",value:"Eval"}],data:u});let p=[{name:"Action",value:"Add-Collection"},{name:"CollectionId",value:l},{name:"Name",value:K(e.title)},{name:"Creator",value:e.creator},{name:"DateCreated",value:n}];return a&&p.push({name:"Banner",value:a}),o&&p.push({name:"Thumbnail",value:o}),e.skipRegistry||(T("Sending collection to registry..."),t&&t("Sending collection to registry..."),await r.ao.message({process:w.collectionRegistry,signer:r.signer,tags:p})),T("Sending profile request..."),t&&t("Sending profile request..."),await r.ao.message({process:l,signer:r.signer,tags:[{name:"Action",value:"Add-Collection-To-Profile"},{name:"ProfileProcess",value:e.creator}]}),l}catch(l){throw new Error(l.message??"Error creating collection")}}}function gt(r){return async e=>await v(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 wt(r){return async e=>{let t=await B(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 Tt(r){return async e=>{let t=e.creator?"Get-Collections-By-User":"Get-Collections",n=await B(r,{processId:w.collectionRegistry,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 kn=f(d(),1);function xt(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={name:`Comment on ${t.parentId}`,description:`Comment on ${t.parentId}`,topics:["comment"],creator:t.creator,data:t.content,contentType:"text/plain",assetType:"comment",tags:i};return e(o,n)}}function Et(r){return async e=>{try{let t=await Ae(r,e,{useGateway:!0}),n=t?.dataSource,i=t?.rootSource;if(!n||!i)throw new Error("dataSource and rootSource must be present on a comment");return{content:await It(e),parentId:n,rootId:i}}catch(t){throw new Error(t.message??"Error getting comment")}}}function At(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 R({gateway:A.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?.dataSource,u=a?.rootSource;if(!c||!u)throw new Error("dataSource and rootSource must be present on a comment");o.push({id:a.id,content:await It(a.id),parentId:c,rootId:u})}return o}}async function It(r){try{return await(await fetch(H(r))).text()}catch(e){throw new Error(e.message??"Error getting comment data")}}var Jn=f(d(),1);var Qn=f(d(),1);function Ie(r){return async(e,t)=>{try{let n=[{name:h.keys.bootloaderInit,value:w.src.zone}];return e.tags&&e.tags.length&&e.tags.forEach(o=>n.push(o)),await k(r,{tags:n},t?o=>t(o):void 0)}catch(n){throw new Error(n.message??"Error creating zone")}}}function Be(r){return async(e,t)=>{try{let n=Object.entries(e).map(([o,a])=>({key:o,value:a}));return await v(r,{processId:t,action:"Zone-Update",data:n})}catch(n){throw new Error(n)}}}function Bt(r){return async(e,t)=>{try{return await v(r,{processId:t,action:"Zone-Append",tags:[{name:"Path",value:e.path}],data:e.data})}catch(n){throw new Error(n)}}}function Ce(r){return async e=>{try{let t=await B(r,{processId:e,action:"Info"});return U(t)}catch(t){throw new Error(t)}}}function Ct(r){return async(e,t)=>{try{if(!r.signer)throw new Error("No signer provided");let i=[{name:"Date-Created",value:new Date().getTime().toString()},{name:"Action",value:"Create-Profile"}],o=null,a=null;try{e.thumbnail&&(o=await G(r,e.thumbnail)),e.banner&&(a=await G(r,e.banner))}catch(p){console.error(p)}let c=await k(r,{tags:i,evalTxId:w.src.profile},p=>T(p)),u={UserName:e.userName,DisplayName:e.displayName,Description:e.description};o&&(u.ProfileImage=o),a&&(u.CoverImage=a),T("Updating profile..."),t&&t("Updating profile...");let l=await v(r,{processId:c,action:"Update-Profile",data:u});return T(`Profile update: ${l}`),c}catch(n){throw new Error(n.message??"Error creating profile")}}}function Dt(r){return async(e,t,n)=>{if(t){let i={UserName:e.userName,DisplayName:e.displayName,Description:e.description};if(e.thumbnail)try{i.Thumbnail=await G(r,e.thumbnail)}catch(o){n&&n(`Failed to resolve thumbnail: ${o.message}`)}if(e.banner)try{i.Banner=await G(r,e.banner)}catch(o){n&&n(`Failed to resolve banner: ${o.message}`)}try{T("Updating profile..."),n&&n("Updating profile...");let o=await v(r,{processId:t,action:"Update-Profile",data:i});return T(`Profile update: ${o}`),o}catch(o){throw new Error(o.message??"Error updating profile")}}else throw new Error("No profile provided")}}function De(r){return async e=>{try{let t=await B(r,{processId:e,action:"Info"}),{Profile:n={},...i}=t,o={...i,...n};return{id:e,...U(o)}}catch(t){throw new Error(t.message??"Error fetching profile")}}}function St(r){let e=De(r);return async t=>{try{let n=await B(r,{processId:w.profileRegistry,action:"Get-Profiles-By-Delegate",data:{Address:t}}),i;if(n&&n.length>0&&n[0].ProfileId)return i=n[0].ProfileId,await e(i)}catch(n){throw new Error(n.message??"Error fetching profile")}}}globalThis.Buffer||(globalThis.Buffer=bt.Buffer);function Rr(r){return{createZone:Ie(r),updateZone:Be(r),addToZone:Bt(r),getZone:Ce(r),createProfile:Ct(r),updateProfile:Dt(r),getProfileById:De(r),getProfileByWalletAddress:St(r),createAtomicAsset:ae(r),getAtomicAsset:dt(r),getAtomicAssets:ht,createComment:xt(r),getComment:Et(r),getComments:At(r),createCollection:mt(r),updateCollectionAssets:gt(r),getCollection:wt(r),getCollections:Tt(r),resolveTransaction:yt(r),getGQLData:R,createProcess:lt(r),readProcess:ct(r),sendMessage:st(r),mapFromProcessCase:U,mapToProcessCase:V}}var ii={init:Rr};export{ii as default};
|
|
28
28
|
/*! Bundled license information:
|
|
29
29
|
|
|
30
30
|
ieee754/index.js:
|