@junobuild/cdn 2.0.4 → 2.1.0
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/browser/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{getConsoleActor as h,getSatelliteActor as x}from"@junobuild/ic-client/actor";var e=t=>"satellite"in t?x(t.satellite):h(t.console);var
|
|
1
|
+
import{getConsoleActor as h,getSatelliteActor as x}from"@junobuild/ic-client/actor";var e=t=>"satellite"in t?x(t.satellite):h(t.console);var D=async({cdn:t,proposalType:a})=>{let{init_proposal:o}=await e(t);return o(a)},U=async({cdn:t,proposalId:a})=>{let{submit_proposal:o}=await e(t);return o(a)},d=async({cdn:t,proposal:a})=>{let{reject_proposal:o}=await e(t);await o(a)},y=async({cdn:t,proposal:a})=>{let{commit_proposal:o}=await e(t);await o(a)},i=async({cdn:t,proposalIds:a})=>{let{delete_proposal_assets:o}=await e(t);await o({proposal_ids:a})},M=async({cdn:t})=>{let{count_proposals:a}=await e(t);return a()},T=async({cdn:t,filter:a})=>{let{list_proposals:o}=await e(t);return o(a)},O=async({cdn:t,proposalId:a})=>{let{get_proposal:o}=await e(t);return o(a)};import{uploadAssetWithProposal as g,uploadAssetsWithProposal as I}from"@junobuild/storage";var z=async({cdn:t,...a})=>{let o=await e(t);await g({actor:o,...a})},B=async({cdn:t,...a})=>{let o=await e(t);await I({actor:o,...a})};import{nonNullish as v}from"@dfinity/utils";import{IcManagementCanister as f}from"@icp-sdk/canisters/ic-management";import{Principal as c}from"@icp-sdk/core/principal";import{useOrInitAgent as C}from"@junobuild/ic-client/actor";var _=async({actor:t,canisterId:a})=>{let o=await C(t),{listCanisterSnapshots:s}=f.create({agent:o});return s({canisterId:a})},j=async({actor:t,...a})=>{let o=await C(t),{takeCanisterSnapshot:s}=f.create({agent:o});return s(a)},w=async({cdn:t})=>{let o=(()=>{if("satellite"in t){let{satellite:{satelliteId:n,...P}}=t;return{canisterId:n instanceof c?n:c.from(n),actor:P}}let{console:{consoleId:r,...p}}=t;return{canisterId:r instanceof c?r:c.from(r),actor:p}})(),s=await _(o);await j({...o,snapshotId:s?.[0]?.id})};var u=(r=>(r[r.TakingSnapshot=0]="TakingSnapshot",r[r.CommittingProposal=1]="CommittingProposal",r[r.ClearingProposalAssets=2]="ClearingProposalAssets",r[r.PostApply=3]="PostApply",r))(u||{}),A=(s=>(s[s.RejectingProposal=0]="RejectingProposal",s[s.ClearingProposalAssets=1]="ClearingProposalAssets",s[s.PostReject=2]="PostReject",s))(A||{});var Z=async({takeSnapshot:t=!1,clearProposalAssets:a=!1,onProgress:o,cdn:s,proposal:r,postApply:p})=>{try{await l({fn:async()=>t?await w({cdn:s}):Promise.resolve(),onProgress:o,step:0}),await l({fn:async()=>await y({cdn:s,proposal:r}),onProgress:o,step:1}),await l({fn:async()=>a?await i({cdn:s,proposalIds:[r.proposal_id]}):Promise.resolve(),onProgress:o,step:2})}finally{await l({fn:async()=>v(p)?await p():Promise.resolve(),onProgress:o,step:3})}},l=async({fn:t,step:a,onProgress:o})=>{o?.({step:a,state:"in_progress"});try{await t(),o?.({step:a,state:"success"})}catch(s){throw o?.({step:a,state:"error"}),s}};import{nonNullish as k}from"@dfinity/utils";var so=async({clearProposalAssets:t=!1,onProgress:a,cdn:o,proposal:s,postReject:r})=>{try{await m({fn:async()=>await d({cdn:o,proposal:s}),onProgress:a,step:0}),await m({fn:async()=>t?await i({cdn:o,proposalIds:[s.proposal_id]}):Promise.resolve(),onProgress:a,step:1})}finally{await m({fn:async()=>k(r)?await r():Promise.resolve(),onProgress:a,step:2})}},m=async({fn:t,step:a,onProgress:o})=>{o?.({step:a,state:"in_progress"});try{await t(),o?.({step:a,state:"success"})}catch(s){throw o?.({step:a,state:"error"}),s}};export{u as ApplyProposalProgressStep,A as RejectProposalProgressStep,y as commitProposal,M as countProposals,i as deleteProposalAssets,Z as executeApplyProposal,so as executeRejectProposal,O as getProposal,D as initProposal,T as listProposals,d as rejectProposal,U as submitProposal,z as uploadAssetWithProposal,B as uploadAssetsWithProposal};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/api/_actor.api.ts", "../../src/api/proposal.api.ts", "../../src/api/storage.api.ts", "../../src/handlers/proposal.apply.handlers.ts", "../../src/api/ic.api.ts", "../../src/types/proposal.params.ts", "../../src/handlers/proposal.reject.handlers.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type ConsoleActor,\n type SatelliteActor,\n getConsoleActor,\n getSatelliteActor\n} from '@junobuild/ic-client/actor';\nimport type {CdnParameters} from '../types/actor.params';\n\nexport const getCdnActor = (cdn: CdnParameters): Promise<ConsoleActor | SatelliteActor> =>\n 'satellite' in cdn ? getSatelliteActor(cdn.satellite) : getConsoleActor(cdn.console);\n", "import type {ConsoleDid} from '@junobuild/ic-client/actor';\nimport type {CdnParameters} from '../types/actor.params';\nimport type {\n CommitProposal,\n Proposal,\n ProposalId,\n ProposalType,\n RejectProposal\n} from '../types/cdn';\nimport {getCdnActor} from './_actor.api';\n\nexport const initProposal = async ({\n cdn,\n proposalType\n}: {\n proposalType: ProposalType;\n cdn: CdnParameters;\n}): Promise<[ProposalId, Proposal]> => {\n const {init_proposal} = await getCdnActor(cdn);\n return init_proposal(proposalType);\n};\n\nexport const submitProposal = async ({\n cdn,\n proposalId\n}: {\n cdn: CdnParameters;\n proposalId: ProposalId;\n}): Promise<[ProposalId, Proposal]> => {\n const {submit_proposal} = await getCdnActor(cdn);\n return submit_proposal(proposalId);\n};\n\nexport const rejectProposal = async ({\n cdn,\n proposal\n}: {\n cdn: CdnParameters;\n proposal: RejectProposal;\n}): Promise<void> => {\n const {reject_proposal} = await getCdnActor(cdn);\n await reject_proposal(proposal);\n};\n\nexport const commitProposal = async ({\n cdn,\n proposal\n}: {\n cdn: CdnParameters;\n proposal: CommitProposal;\n}): Promise<void> => {\n const {commit_proposal} = await getCdnActor(cdn);\n await commit_proposal(proposal);\n};\n\nexport const deleteProposalAssets = async ({\n cdn,\n proposalIds\n}: {\n cdn: CdnParameters;\n proposalIds: ProposalId[];\n}): Promise<void> => {\n const {delete_proposal_assets} = await getCdnActor(cdn);\n await delete_proposal_assets({proposal_ids: proposalIds});\n};\n\nexport const countProposals = async ({cdn}: {cdn: CdnParameters}): Promise<bigint> => {\n const {count_proposals} = await getCdnActor(cdn);\n return count_proposals();\n};\n\nexport const listProposals = async ({\n cdn,\n filter\n}: {\n cdn: CdnParameters;\n filter: ConsoleDid.ListProposalsParams;\n}): Promise<ConsoleDid.ListProposalResults> => {\n const {list_proposals} = await getCdnActor(cdn);\n return list_proposals(filter);\n};\n\nexport const getProposal = async ({\n cdn,\n proposalId\n}: {\n cdn: CdnParameters;\n proposalId: ProposalId;\n}): Promise<[] | [Proposal]> => {\n const {get_proposal} = await getCdnActor(cdn);\n return get_proposal(proposalId);\n};\n", "import {\n uploadAssetWithProposal as uploadAssetWithProposalStorage,\n uploadAssetsWithProposal as uploadAssetsWithProposalStorage,\n type UploadAsset,\n type UploadWithProposalParams\n} from '@junobuild/storage';\nimport type {CdnParameters} from '../types/actor.params';\nimport {getCdnActor} from './_actor.api';\n\nexport const uploadAssetWithProposal = async ({\n cdn,\n ...rest\n}: {\n asset: UploadAsset;\n cdn: CdnParameters;\n} & Omit<UploadWithProposalParams, 'actor'>): Promise<void> => {\n const actor = await getCdnActor(cdn);\n\n await uploadAssetWithProposalStorage({\n actor,\n ...rest\n });\n};\n\nexport const uploadAssetsWithProposal = async ({\n cdn,\n ...rest\n}: {\n assets: UploadAsset[];\n cdn: CdnParameters;\n} & Omit<UploadWithProposalParams, 'actor'>): Promise<void> => {\n const actor = await getCdnActor(cdn);\n\n await uploadAssetsWithProposalStorage({\n actor,\n ...rest\n });\n};\n", "import {nonNullish} from '@dfinity/utils';\nimport {createSnapshot} from '../api/ic.api';\nimport {commitProposal, deleteProposalAssets} from '../api/proposal.api';\nimport {type ApplyProposalParams, ApplyProposalProgressStep} from '../types/proposal.params';\n\nexport const executeApplyProposal = async ({\n takeSnapshot = false,\n clearProposalAssets = false,\n onProgress,\n cdn,\n proposal,\n postApply\n}: ApplyProposalParams) => {\n try {\n // 1. We take a snapshot - if the dev opted-in\n const snapshot = async () => (takeSnapshot ? await createSnapshot({cdn}) : Promise.resolve());\n await execute({fn: snapshot, onProgress, step: ApplyProposalProgressStep.TakingSnapshot});\n\n // 2. Commit the proposal\n const commit = async () => await commitProposal({cdn, proposal});\n await execute({fn: commit, onProgress, step: ApplyProposalProgressStep.CommittingProposal});\n\n // 3. Clear proposal assets if required\n const clear = async () =>\n clearProposalAssets\n ? await deleteProposalAssets({cdn, proposalIds: [proposal.proposal_id]})\n : Promise.resolve();\n await execute({fn: clear, onProgress, step: ApplyProposalProgressStep.ClearingProposalAssets});\n } finally {\n // 4. If provided, the post apply runs in any case\n const job = async () => (nonNullish(postApply) ? await postApply() : Promise.resolve());\n await execute({fn: job, onProgress, step: ApplyProposalProgressStep.PostApply});\n }\n};\n\nconst execute = async ({\n fn,\n step,\n onProgress\n}: {fn: () => Promise<void>; step: ApplyProposalProgressStep} & Pick<\n ApplyProposalParams,\n 'onProgress'\n>) => {\n onProgress?.({\n step,\n state: 'in_progress'\n });\n\n try {\n await fn();\n\n onProgress?.({\n step,\n state: 'success'\n });\n } catch (err: unknown) {\n onProgress?.({\n step,\n state: 'error'\n });\n\n throw err;\n }\n};\n", "import {\n type list_canister_snapshots_result,\n type snapshot_id,\n type take_canister_snapshot_result,\n ICManagementCanister\n} from '@icp-sdk/canisters/ic-management';\nimport {Principal} from '@icp-sdk/core/principal';\nimport {type ActorParameters, useOrInitAgent} from '@junobuild/ic-client/actor';\nimport type {CdnParameters} from '../types/actor.params';\n\nconst listCanisterSnapshots = async ({\n actor,\n canisterId\n}: {\n actor: ActorParameters;\n canisterId: Principal;\n}): Promise<list_canister_snapshots_result> => {\n const agent = await useOrInitAgent(actor);\n\n const {listCanisterSnapshots} = ICManagementCanister.create({\n agent\n });\n\n return listCanisterSnapshots({canisterId});\n};\n\nconst takeCanisterSnapshot = async ({\n actor,\n ...rest\n}: {\n actor: ActorParameters;\n canisterId: Principal;\n snapshotId?: snapshot_id;\n}): Promise<take_canister_snapshot_result> => {\n const agent = await useOrInitAgent(actor);\n\n const {takeCanisterSnapshot} = ICManagementCanister.create({\n agent\n });\n\n return takeCanisterSnapshot(rest);\n};\n\nexport const createSnapshot = async ({cdn}: {cdn: CdnParameters}) => {\n const mapParams = (): {actor: ActorParameters; canisterId: Principal} => {\n if ('satellite' in cdn) {\n const {\n satellite: {satelliteId, ...rest}\n } = cdn;\n return {\n canisterId: satelliteId instanceof Principal ? satelliteId : Principal.from(satelliteId),\n actor: rest\n };\n }\n\n const {\n console: {consoleId, ...rest}\n } = cdn;\n return {\n canisterId: consoleId instanceof Principal ? consoleId : Principal.from(consoleId),\n actor: rest\n };\n };\n\n const params = mapParams();\n\n const snapshots = await listCanisterSnapshots(params);\n\n // TODO: currently only one snapshot per canister is supported on the IC\n await takeCanisterSnapshot({\n ...params,\n snapshotId: snapshots?.[0]?.id\n });\n};\n", "import type {CdnParameters} from './actor.params';\nimport type {CommitProposal} from './cdn';\n\nexport enum ApplyProposalProgressStep {\n TakingSnapshot,\n CommittingProposal,\n ClearingProposalAssets,\n PostApply\n}\n\nexport enum RejectProposalProgressStep {\n RejectingProposal,\n ClearingProposalAssets,\n PostReject\n}\n\nexport type ProposalProgressState = 'in_progress' | 'success' | 'error';\n\nexport interface ApplyProposalProgress {\n step: ApplyProposalProgressStep;\n state: ProposalProgressState;\n}\n\nexport interface RejectProposalProgress {\n step: RejectProposalProgressStep;\n state: ProposalProgressState;\n}\n\nexport interface ApplyProposalParams {\n cdn: CdnParameters;\n proposal: CommitProposal;\n takeSnapshot?: boolean;\n clearProposalAssets?: boolean;\n postApply?: () => Promise<void>;\n onProgress?: (progress: ApplyProposalProgress) => void;\n}\n\nexport type RejectProposalParams = Omit<\n ApplyProposalParams,\n 'postApply' | 'takeSnapshot' | 'onProgress'\n> & {\n postReject?: () => Promise<void>;\n onProgress?: (progress: RejectProposalProgress) => void;\n};\n", "import {nonNullish} from '@dfinity/utils';\nimport {deleteProposalAssets, rejectProposal} from '../api/proposal.api';\nimport {type RejectProposalParams, RejectProposalProgressStep} from '../types/proposal.params';\n\nexport const executeRejectProposal = async ({\n clearProposalAssets = false,\n onProgress,\n cdn,\n proposal,\n postReject\n}: RejectProposalParams) => {\n try {\n // 1. Reject the proposal\n const reject = async () => await rejectProposal({cdn, proposal});\n await execute({fn: reject, onProgress, step: RejectProposalProgressStep.RejectingProposal});\n\n // 2. Clear proposal assets if required\n const clear = async () =>\n clearProposalAssets\n ? await deleteProposalAssets({cdn, proposalIds: [proposal.proposal_id]})\n : Promise.resolve();\n await execute({fn: clear, onProgress, step: RejectProposalProgressStep.ClearingProposalAssets});\n } finally {\n // 3. If provided, the post apply runs in any case\n const job = async () => (nonNullish(postReject) ? await postReject() : Promise.resolve());\n await execute({fn: job, onProgress, step: RejectProposalProgressStep.PostReject});\n }\n};\n\nconst execute = async ({\n fn,\n step,\n onProgress\n}: {fn: () => Promise<void>; step: RejectProposalProgressStep} & Pick<\n RejectProposalParams,\n 'onProgress'\n>) => {\n onProgress?.({\n step,\n state: 'in_progress'\n });\n\n try {\n await fn();\n\n onProgress?.({\n step,\n state: 'success'\n });\n } catch (err: unknown) {\n onProgress?.({\n step,\n state: 'error'\n });\n\n throw err;\n }\n};\n"],
|
|
5
|
-
"mappings": "AAAA,OAGE,mBAAAA,EACA,qBAAAC,MACK,6BAGA,IAAMC,EAAeC,GAC1B,cAAeA,EAAMF,EAAkBE,EAAI,SAAS,EAAIH,EAAgBG,EAAI,OAAO,ECE9E,IAAMC,EAAe,MAAO,CACjC,IAAAC,EACA,aAAAC,CACF,IAGuC,CACrC,GAAM,CAAC,cAAAC,CAAa,EAAI,MAAMC,EAAYH,CAAG,EAC7C,OAAOE,EAAcD,CAAY,CACnC,EAEaG,EAAiB,MAAO,CACnC,IAAAJ,EACA,WAAAK,CACF,IAGuC,CACrC,GAAM,CAAC,gBAAAC,CAAe,EAAI,MAAMH,EAAYH,CAAG,EAC/C,OAAOM,EAAgBD,CAAU,CACnC,EAEaE,EAAiB,MAAO,CACnC,IAAAP,EACA,SAAAQ,CACF,IAGqB,CACnB,GAAM,CAAC,gBAAAC,CAAe,EAAI,MAAMN,EAAYH,CAAG,EAC/C,MAAMS,EAAgBD,CAAQ,CAChC,EAEaE,EAAiB,MAAO,CACnC,IAAAV,EACA,SAAAQ,CACF,IAGqB,CACnB,GAAM,CAAC,gBAAAG,CAAe,EAAI,MAAMR,EAAYH,CAAG,EAC/C,MAAMW,EAAgBH,CAAQ,CAChC,EAEaI,EAAuB,MAAO,CACzC,IAAAZ,EACA,YAAAa,CACF,IAGqB,CACnB,GAAM,CAAC,uBAAAC,CAAsB,EAAI,MAAMX,EAAYH,CAAG,EACtD,MAAMc,EAAuB,CAAC,aAAcD,CAAW,CAAC,CAC1D,EAEaE,EAAiB,MAAO,CAAC,IAAAf,CAAG,IAA6C,CACpF,GAAM,CAAC,gBAAAgB,CAAe,EAAI,MAAMb,EAAYH,CAAG,EAC/C,OAAOgB,EAAgB,CACzB,EAEaC,EAAgB,MAAO,CAClC,IAAAjB,EACA,OAAAkB,CACF,IAG+C,CAC7C,GAAM,CAAC,eAAAC,CAAc,EAAI,MAAMhB,EAAYH,CAAG,EAC9C,OAAOmB,EAAeD,CAAM,CAC9B,EAEaE,EAAc,MAAO,CAChC,IAAApB,EACA,WAAAK,CACF,IAGgC,CAC9B,GAAM,CAAC,aAAAgB,CAAY,EAAI,MAAMlB,EAAYH,CAAG,EAC5C,OAAOqB,EAAahB,CAAU,CAChC,EC3FA,OACE,2BAA2BiB,EAC3B,4BAA4BC,MAGvB,qBAIA,IAAMC,EAA0B,MAAO,CAC5C,IAAAC,EACA,GAAGC,CACL,IAG+D,CAC7D,IAAMC,EAAQ,MAAMC,EAAYH,CAAG,EAEnC,MAAMI,EAA+B,CACnC,MAAAF,EACA,GAAGD,CACL,CAAC,CACH,EAEaI,EAA2B,MAAO,CAC7C,IAAAL,EACA,GAAGC,CACL,IAG+D,CAC7D,IAAMC,EAAQ,MAAMC,EAAYH,CAAG,EAEnC,MAAMM,EAAgC,CACpC,MAAAJ,EACA,GAAGD,CACL,CAAC,CACH,ECrCA,OAAQ,cAAAM,MAAiB,iBCAzB,
|
|
6
|
-
"names": ["getConsoleActor", "getSatelliteActor", "getCdnActor", "cdn", "initProposal", "cdn", "proposalType", "init_proposal", "getCdnActor", "submitProposal", "proposalId", "submit_proposal", "rejectProposal", "proposal", "reject_proposal", "commitProposal", "commit_proposal", "deleteProposalAssets", "proposalIds", "delete_proposal_assets", "countProposals", "count_proposals", "listProposals", "filter", "list_proposals", "getProposal", "get_proposal", "uploadAssetWithProposalStorage", "uploadAssetsWithProposalStorage", "uploadAssetWithProposal", "cdn", "rest", "actor", "getCdnActor", "uploadAssetWithProposalStorage", "uploadAssetsWithProposal", "uploadAssetsWithProposalStorage", "nonNullish", "
|
|
4
|
+
"sourcesContent": ["import {\n type ConsoleActor,\n type SatelliteActor,\n getConsoleActor,\n getSatelliteActor\n} from '@junobuild/ic-client/actor';\nimport type {CdnParameters} from '../types/actor.params';\n\nexport const getCdnActor = (cdn: CdnParameters): Promise<ConsoleActor | SatelliteActor> =>\n 'satellite' in cdn ? getSatelliteActor(cdn.satellite) : getConsoleActor(cdn.console);\n", "import type {ConsoleDid} from '@junobuild/ic-client/actor';\nimport type {CdnParameters} from '../types/actor.params';\nimport type {\n CommitProposal,\n Proposal,\n ProposalId,\n ProposalType,\n RejectProposal\n} from '../types/cdn';\nimport {getCdnActor} from './_actor.api';\n\nexport const initProposal = async ({\n cdn,\n proposalType\n}: {\n proposalType: ProposalType;\n cdn: CdnParameters;\n}): Promise<[ProposalId, Proposal]> => {\n const {init_proposal} = await getCdnActor(cdn);\n return init_proposal(proposalType);\n};\n\nexport const submitProposal = async ({\n cdn,\n proposalId\n}: {\n cdn: CdnParameters;\n proposalId: ProposalId;\n}): Promise<[ProposalId, Proposal]> => {\n const {submit_proposal} = await getCdnActor(cdn);\n return submit_proposal(proposalId);\n};\n\nexport const rejectProposal = async ({\n cdn,\n proposal\n}: {\n cdn: CdnParameters;\n proposal: RejectProposal;\n}): Promise<void> => {\n const {reject_proposal} = await getCdnActor(cdn);\n await reject_proposal(proposal);\n};\n\nexport const commitProposal = async ({\n cdn,\n proposal\n}: {\n cdn: CdnParameters;\n proposal: CommitProposal;\n}): Promise<void> => {\n const {commit_proposal} = await getCdnActor(cdn);\n await commit_proposal(proposal);\n};\n\nexport const deleteProposalAssets = async ({\n cdn,\n proposalIds\n}: {\n cdn: CdnParameters;\n proposalIds: ProposalId[];\n}): Promise<void> => {\n const {delete_proposal_assets} = await getCdnActor(cdn);\n await delete_proposal_assets({proposal_ids: proposalIds});\n};\n\nexport const countProposals = async ({cdn}: {cdn: CdnParameters}): Promise<bigint> => {\n const {count_proposals} = await getCdnActor(cdn);\n return count_proposals();\n};\n\nexport const listProposals = async ({\n cdn,\n filter\n}: {\n cdn: CdnParameters;\n filter: ConsoleDid.ListProposalsParams;\n}): Promise<ConsoleDid.ListProposalResults> => {\n const {list_proposals} = await getCdnActor(cdn);\n return list_proposals(filter);\n};\n\nexport const getProposal = async ({\n cdn,\n proposalId\n}: {\n cdn: CdnParameters;\n proposalId: ProposalId;\n}): Promise<[] | [Proposal]> => {\n const {get_proposal} = await getCdnActor(cdn);\n return get_proposal(proposalId);\n};\n", "import {\n uploadAssetWithProposal as uploadAssetWithProposalStorage,\n uploadAssetsWithProposal as uploadAssetsWithProposalStorage,\n type UploadAsset,\n type UploadWithProposalParams\n} from '@junobuild/storage';\nimport type {CdnParameters} from '../types/actor.params';\nimport {getCdnActor} from './_actor.api';\n\nexport const uploadAssetWithProposal = async ({\n cdn,\n ...rest\n}: {\n asset: UploadAsset;\n cdn: CdnParameters;\n} & Omit<UploadWithProposalParams, 'actor'>): Promise<void> => {\n const actor = await getCdnActor(cdn);\n\n await uploadAssetWithProposalStorage({\n actor,\n ...rest\n });\n};\n\nexport const uploadAssetsWithProposal = async ({\n cdn,\n ...rest\n}: {\n assets: UploadAsset[];\n cdn: CdnParameters;\n} & Omit<UploadWithProposalParams, 'actor'>): Promise<void> => {\n const actor = await getCdnActor(cdn);\n\n await uploadAssetsWithProposalStorage({\n actor,\n ...rest\n });\n};\n", "import {nonNullish} from '@dfinity/utils';\nimport {createSnapshot} from '../api/ic.api';\nimport {commitProposal, deleteProposalAssets} from '../api/proposal.api';\nimport {type ApplyProposalParams, ApplyProposalProgressStep} from '../types/proposal.params';\n\nexport const executeApplyProposal = async ({\n takeSnapshot = false,\n clearProposalAssets = false,\n onProgress,\n cdn,\n proposal,\n postApply\n}: ApplyProposalParams) => {\n try {\n // 1. We take a snapshot - if the dev opted-in\n const snapshot = async () => (takeSnapshot ? await createSnapshot({cdn}) : Promise.resolve());\n await execute({fn: snapshot, onProgress, step: ApplyProposalProgressStep.TakingSnapshot});\n\n // 2. Commit the proposal\n const commit = async () => await commitProposal({cdn, proposal});\n await execute({fn: commit, onProgress, step: ApplyProposalProgressStep.CommittingProposal});\n\n // 3. Clear proposal assets if required\n const clear = async () =>\n clearProposalAssets\n ? await deleteProposalAssets({cdn, proposalIds: [proposal.proposal_id]})\n : Promise.resolve();\n await execute({fn: clear, onProgress, step: ApplyProposalProgressStep.ClearingProposalAssets});\n } finally {\n // 4. If provided, the post apply runs in any case\n const job = async () => (nonNullish(postApply) ? await postApply() : Promise.resolve());\n await execute({fn: job, onProgress, step: ApplyProposalProgressStep.PostApply});\n }\n};\n\nconst execute = async ({\n fn,\n step,\n onProgress\n}: {fn: () => Promise<void>; step: ApplyProposalProgressStep} & Pick<\n ApplyProposalParams,\n 'onProgress'\n>) => {\n onProgress?.({\n step,\n state: 'in_progress'\n });\n\n try {\n await fn();\n\n onProgress?.({\n step,\n state: 'success'\n });\n } catch (err: unknown) {\n onProgress?.({\n step,\n state: 'error'\n });\n\n throw err;\n }\n};\n", "import {type IcManagementDid, IcManagementCanister} from '@icp-sdk/canisters/ic-management';\nimport {Principal} from '@icp-sdk/core/principal';\nimport {type ActorParameters, useOrInitAgent} from '@junobuild/ic-client/actor';\nimport type {CdnParameters} from '../types/actor.params';\n\nconst listCanisterSnapshots = async ({\n actor,\n canisterId\n}: {\n actor: ActorParameters;\n canisterId: Principal;\n}): Promise<IcManagementDid.list_canister_snapshots_result> => {\n const agent = await useOrInitAgent(actor);\n\n const {listCanisterSnapshots} = IcManagementCanister.create({\n agent\n });\n\n return listCanisterSnapshots({canisterId});\n};\n\nconst takeCanisterSnapshot = async ({\n actor,\n ...rest\n}: {\n actor: ActorParameters;\n canisterId: Principal;\n snapshotId?: IcManagementDid.snapshot_id;\n}): Promise<IcManagementDid.take_canister_snapshot_result> => {\n const agent = await useOrInitAgent(actor);\n\n const {takeCanisterSnapshot} = IcManagementCanister.create({\n agent\n });\n\n return takeCanisterSnapshot(rest);\n};\n\nexport const createSnapshot = async ({cdn}: {cdn: CdnParameters}) => {\n const mapParams = (): {actor: ActorParameters; canisterId: Principal} => {\n if ('satellite' in cdn) {\n const {\n satellite: {satelliteId, ...rest}\n } = cdn;\n return {\n canisterId: satelliteId instanceof Principal ? satelliteId : Principal.from(satelliteId),\n actor: rest\n };\n }\n\n const {\n console: {consoleId, ...rest}\n } = cdn;\n return {\n canisterId: consoleId instanceof Principal ? consoleId : Principal.from(consoleId),\n actor: rest\n };\n };\n\n const params = mapParams();\n\n const snapshots = await listCanisterSnapshots(params);\n\n // TODO: currently only one snapshot per canister is supported on the IC\n await takeCanisterSnapshot({\n ...params,\n snapshotId: snapshots?.[0]?.id\n });\n};\n", "import type {CdnParameters} from './actor.params';\nimport type {CommitProposal} from './cdn';\n\nexport enum ApplyProposalProgressStep {\n TakingSnapshot,\n CommittingProposal,\n ClearingProposalAssets,\n PostApply\n}\n\nexport enum RejectProposalProgressStep {\n RejectingProposal,\n ClearingProposalAssets,\n PostReject\n}\n\nexport type ProposalProgressState = 'in_progress' | 'success' | 'error';\n\nexport interface ApplyProposalProgress {\n step: ApplyProposalProgressStep;\n state: ProposalProgressState;\n}\n\nexport interface RejectProposalProgress {\n step: RejectProposalProgressStep;\n state: ProposalProgressState;\n}\n\nexport interface ApplyProposalParams {\n cdn: CdnParameters;\n proposal: CommitProposal;\n takeSnapshot?: boolean;\n clearProposalAssets?: boolean;\n postApply?: () => Promise<void>;\n onProgress?: (progress: ApplyProposalProgress) => void;\n}\n\nexport type RejectProposalParams = Omit<\n ApplyProposalParams,\n 'postApply' | 'takeSnapshot' | 'onProgress'\n> & {\n postReject?: () => Promise<void>;\n onProgress?: (progress: RejectProposalProgress) => void;\n};\n", "import {nonNullish} from '@dfinity/utils';\nimport {deleteProposalAssets, rejectProposal} from '../api/proposal.api';\nimport {type RejectProposalParams, RejectProposalProgressStep} from '../types/proposal.params';\n\nexport const executeRejectProposal = async ({\n clearProposalAssets = false,\n onProgress,\n cdn,\n proposal,\n postReject\n}: RejectProposalParams) => {\n try {\n // 1. Reject the proposal\n const reject = async () => await rejectProposal({cdn, proposal});\n await execute({fn: reject, onProgress, step: RejectProposalProgressStep.RejectingProposal});\n\n // 2. Clear proposal assets if required\n const clear = async () =>\n clearProposalAssets\n ? await deleteProposalAssets({cdn, proposalIds: [proposal.proposal_id]})\n : Promise.resolve();\n await execute({fn: clear, onProgress, step: RejectProposalProgressStep.ClearingProposalAssets});\n } finally {\n // 3. If provided, the post apply runs in any case\n const job = async () => (nonNullish(postReject) ? await postReject() : Promise.resolve());\n await execute({fn: job, onProgress, step: RejectProposalProgressStep.PostReject});\n }\n};\n\nconst execute = async ({\n fn,\n step,\n onProgress\n}: {fn: () => Promise<void>; step: RejectProposalProgressStep} & Pick<\n RejectProposalParams,\n 'onProgress'\n>) => {\n onProgress?.({\n step,\n state: 'in_progress'\n });\n\n try {\n await fn();\n\n onProgress?.({\n step,\n state: 'success'\n });\n } catch (err: unknown) {\n onProgress?.({\n step,\n state: 'error'\n });\n\n throw err;\n }\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["getConsoleActor", "getSatelliteActor", "getCdnActor", "cdn", "initProposal", "cdn", "proposalType", "init_proposal", "getCdnActor", "submitProposal", "proposalId", "submit_proposal", "rejectProposal", "proposal", "reject_proposal", "commitProposal", "commit_proposal", "deleteProposalAssets", "proposalIds", "delete_proposal_assets", "countProposals", "count_proposals", "listProposals", "filter", "list_proposals", "getProposal", "get_proposal", "uploadAssetWithProposalStorage", "uploadAssetsWithProposalStorage", "uploadAssetWithProposal", "cdn", "rest", "actor", "getCdnActor", "uploadAssetWithProposalStorage", "uploadAssetsWithProposal", "uploadAssetsWithProposalStorage", "nonNullish", "IcManagementCanister", "Principal", "useOrInitAgent", "listCanisterSnapshots", "actor", "canisterId", "agent", "takeCanisterSnapshot", "rest", "createSnapshot", "cdn", "params", "satelliteId", "consoleId", "snapshots", "ApplyProposalProgressStep", "RejectProposalProgressStep", "executeApplyProposal", "takeSnapshot", "clearProposalAssets", "onProgress", "cdn", "proposal", "postApply", "execute", "createSnapshot", "commitProposal", "deleteProposalAssets", "nonNullish", "fn", "step", "err", "nonNullish", "executeRejectProposal", "clearProposalAssets", "onProgress", "cdn", "proposal", "postReject", "execute", "rejectProposal", "deleteProposalAssets", "nonNullish", "fn", "step", "err"]
|
|
7
7
|
}
|
package/dist/node/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as topLevelCreateRequire } from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
-
import{getConsoleActor as h,getSatelliteActor as x}from"@junobuild/ic-client/actor";var e=t=>"satellite"in t?x(t.satellite):h(t.console);var
|
|
3
|
+
import{getConsoleActor as h,getSatelliteActor as x}from"@junobuild/ic-client/actor";var e=t=>"satellite"in t?x(t.satellite):h(t.console);var D=async({cdn:t,proposalType:a})=>{let{init_proposal:o}=await e(t);return o(a)},U=async({cdn:t,proposalId:a})=>{let{submit_proposal:o}=await e(t);return o(a)},d=async({cdn:t,proposal:a})=>{let{reject_proposal:o}=await e(t);await o(a)},y=async({cdn:t,proposal:a})=>{let{commit_proposal:o}=await e(t);await o(a)},i=async({cdn:t,proposalIds:a})=>{let{delete_proposal_assets:o}=await e(t);await o({proposal_ids:a})},M=async({cdn:t})=>{let{count_proposals:a}=await e(t);return a()},T=async({cdn:t,filter:a})=>{let{list_proposals:o}=await e(t);return o(a)},O=async({cdn:t,proposalId:a})=>{let{get_proposal:o}=await e(t);return o(a)};import{uploadAssetWithProposal as g,uploadAssetsWithProposal as I}from"@junobuild/storage";var z=async({cdn:t,...a})=>{let o=await e(t);await g({actor:o,...a})},B=async({cdn:t,...a})=>{let o=await e(t);await I({actor:o,...a})};import{nonNullish as v}from"@dfinity/utils";import{IcManagementCanister as f}from"@icp-sdk/canisters/ic-management";import{Principal as c}from"@icp-sdk/core/principal";import{useOrInitAgent as C}from"@junobuild/ic-client/actor";var _=async({actor:t,canisterId:a})=>{let o=await C(t),{listCanisterSnapshots:s}=f.create({agent:o});return s({canisterId:a})},j=async({actor:t,...a})=>{let o=await C(t),{takeCanisterSnapshot:s}=f.create({agent:o});return s(a)},w=async({cdn:t})=>{let o=(()=>{if("satellite"in t){let{satellite:{satelliteId:n,...P}}=t;return{canisterId:n instanceof c?n:c.from(n),actor:P}}let{console:{consoleId:r,...p}}=t;return{canisterId:r instanceof c?r:c.from(r),actor:p}})(),s=await _(o);await j({...o,snapshotId:s?.[0]?.id})};var u=(r=>(r[r.TakingSnapshot=0]="TakingSnapshot",r[r.CommittingProposal=1]="CommittingProposal",r[r.ClearingProposalAssets=2]="ClearingProposalAssets",r[r.PostApply=3]="PostApply",r))(u||{}),A=(s=>(s[s.RejectingProposal=0]="RejectingProposal",s[s.ClearingProposalAssets=1]="ClearingProposalAssets",s[s.PostReject=2]="PostReject",s))(A||{});var Z=async({takeSnapshot:t=!1,clearProposalAssets:a=!1,onProgress:o,cdn:s,proposal:r,postApply:p})=>{try{await l({fn:async()=>t?await w({cdn:s}):Promise.resolve(),onProgress:o,step:0}),await l({fn:async()=>await y({cdn:s,proposal:r}),onProgress:o,step:1}),await l({fn:async()=>a?await i({cdn:s,proposalIds:[r.proposal_id]}):Promise.resolve(),onProgress:o,step:2})}finally{await l({fn:async()=>v(p)?await p():Promise.resolve(),onProgress:o,step:3})}},l=async({fn:t,step:a,onProgress:o})=>{o?.({step:a,state:"in_progress"});try{await t(),o?.({step:a,state:"success"})}catch(s){throw o?.({step:a,state:"error"}),s}};import{nonNullish as k}from"@dfinity/utils";var so=async({clearProposalAssets:t=!1,onProgress:a,cdn:o,proposal:s,postReject:r})=>{try{await m({fn:async()=>await d({cdn:o,proposal:s}),onProgress:a,step:0}),await m({fn:async()=>t?await i({cdn:o,proposalIds:[s.proposal_id]}):Promise.resolve(),onProgress:a,step:1})}finally{await m({fn:async()=>k(r)?await r():Promise.resolve(),onProgress:a,step:2})}},m=async({fn:t,step:a,onProgress:o})=>{o?.({step:a,state:"in_progress"});try{await t(),o?.({step:a,state:"success"})}catch(s){throw o?.({step:a,state:"error"}),s}};export{u as ApplyProposalProgressStep,A as RejectProposalProgressStep,y as commitProposal,M as countProposals,i as deleteProposalAssets,Z as executeApplyProposal,so as executeRejectProposal,O as getProposal,D as initProposal,T as listProposals,d as rejectProposal,U as submitProposal,z as uploadAssetWithProposal,B as uploadAssetsWithProposal};
|
|
4
4
|
//# sourceMappingURL=index.mjs.map
|
package/dist/node/index.mjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/api/_actor.api.ts", "../../src/api/proposal.api.ts", "../../src/api/storage.api.ts", "../../src/handlers/proposal.apply.handlers.ts", "../../src/api/ic.api.ts", "../../src/types/proposal.params.ts", "../../src/handlers/proposal.reject.handlers.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type ConsoleActor,\n type SatelliteActor,\n getConsoleActor,\n getSatelliteActor\n} from '@junobuild/ic-client/actor';\nimport type {CdnParameters} from '../types/actor.params';\n\nexport const getCdnActor = (cdn: CdnParameters): Promise<ConsoleActor | SatelliteActor> =>\n 'satellite' in cdn ? getSatelliteActor(cdn.satellite) : getConsoleActor(cdn.console);\n", "import type {ConsoleDid} from '@junobuild/ic-client/actor';\nimport type {CdnParameters} from '../types/actor.params';\nimport type {\n CommitProposal,\n Proposal,\n ProposalId,\n ProposalType,\n RejectProposal\n} from '../types/cdn';\nimport {getCdnActor} from './_actor.api';\n\nexport const initProposal = async ({\n cdn,\n proposalType\n}: {\n proposalType: ProposalType;\n cdn: CdnParameters;\n}): Promise<[ProposalId, Proposal]> => {\n const {init_proposal} = await getCdnActor(cdn);\n return init_proposal(proposalType);\n};\n\nexport const submitProposal = async ({\n cdn,\n proposalId\n}: {\n cdn: CdnParameters;\n proposalId: ProposalId;\n}): Promise<[ProposalId, Proposal]> => {\n const {submit_proposal} = await getCdnActor(cdn);\n return submit_proposal(proposalId);\n};\n\nexport const rejectProposal = async ({\n cdn,\n proposal\n}: {\n cdn: CdnParameters;\n proposal: RejectProposal;\n}): Promise<void> => {\n const {reject_proposal} = await getCdnActor(cdn);\n await reject_proposal(proposal);\n};\n\nexport const commitProposal = async ({\n cdn,\n proposal\n}: {\n cdn: CdnParameters;\n proposal: CommitProposal;\n}): Promise<void> => {\n const {commit_proposal} = await getCdnActor(cdn);\n await commit_proposal(proposal);\n};\n\nexport const deleteProposalAssets = async ({\n cdn,\n proposalIds\n}: {\n cdn: CdnParameters;\n proposalIds: ProposalId[];\n}): Promise<void> => {\n const {delete_proposal_assets} = await getCdnActor(cdn);\n await delete_proposal_assets({proposal_ids: proposalIds});\n};\n\nexport const countProposals = async ({cdn}: {cdn: CdnParameters}): Promise<bigint> => {\n const {count_proposals} = await getCdnActor(cdn);\n return count_proposals();\n};\n\nexport const listProposals = async ({\n cdn,\n filter\n}: {\n cdn: CdnParameters;\n filter: ConsoleDid.ListProposalsParams;\n}): Promise<ConsoleDid.ListProposalResults> => {\n const {list_proposals} = await getCdnActor(cdn);\n return list_proposals(filter);\n};\n\nexport const getProposal = async ({\n cdn,\n proposalId\n}: {\n cdn: CdnParameters;\n proposalId: ProposalId;\n}): Promise<[] | [Proposal]> => {\n const {get_proposal} = await getCdnActor(cdn);\n return get_proposal(proposalId);\n};\n", "import {\n uploadAssetWithProposal as uploadAssetWithProposalStorage,\n uploadAssetsWithProposal as uploadAssetsWithProposalStorage,\n type UploadAsset,\n type UploadWithProposalParams\n} from '@junobuild/storage';\nimport type {CdnParameters} from '../types/actor.params';\nimport {getCdnActor} from './_actor.api';\n\nexport const uploadAssetWithProposal = async ({\n cdn,\n ...rest\n}: {\n asset: UploadAsset;\n cdn: CdnParameters;\n} & Omit<UploadWithProposalParams, 'actor'>): Promise<void> => {\n const actor = await getCdnActor(cdn);\n\n await uploadAssetWithProposalStorage({\n actor,\n ...rest\n });\n};\n\nexport const uploadAssetsWithProposal = async ({\n cdn,\n ...rest\n}: {\n assets: UploadAsset[];\n cdn: CdnParameters;\n} & Omit<UploadWithProposalParams, 'actor'>): Promise<void> => {\n const actor = await getCdnActor(cdn);\n\n await uploadAssetsWithProposalStorage({\n actor,\n ...rest\n });\n};\n", "import {nonNullish} from '@dfinity/utils';\nimport {createSnapshot} from '../api/ic.api';\nimport {commitProposal, deleteProposalAssets} from '../api/proposal.api';\nimport {type ApplyProposalParams, ApplyProposalProgressStep} from '../types/proposal.params';\n\nexport const executeApplyProposal = async ({\n takeSnapshot = false,\n clearProposalAssets = false,\n onProgress,\n cdn,\n proposal,\n postApply\n}: ApplyProposalParams) => {\n try {\n // 1. We take a snapshot - if the dev opted-in\n const snapshot = async () => (takeSnapshot ? await createSnapshot({cdn}) : Promise.resolve());\n await execute({fn: snapshot, onProgress, step: ApplyProposalProgressStep.TakingSnapshot});\n\n // 2. Commit the proposal\n const commit = async () => await commitProposal({cdn, proposal});\n await execute({fn: commit, onProgress, step: ApplyProposalProgressStep.CommittingProposal});\n\n // 3. Clear proposal assets if required\n const clear = async () =>\n clearProposalAssets\n ? await deleteProposalAssets({cdn, proposalIds: [proposal.proposal_id]})\n : Promise.resolve();\n await execute({fn: clear, onProgress, step: ApplyProposalProgressStep.ClearingProposalAssets});\n } finally {\n // 4. If provided, the post apply runs in any case\n const job = async () => (nonNullish(postApply) ? await postApply() : Promise.resolve());\n await execute({fn: job, onProgress, step: ApplyProposalProgressStep.PostApply});\n }\n};\n\nconst execute = async ({\n fn,\n step,\n onProgress\n}: {fn: () => Promise<void>; step: ApplyProposalProgressStep} & Pick<\n ApplyProposalParams,\n 'onProgress'\n>) => {\n onProgress?.({\n step,\n state: 'in_progress'\n });\n\n try {\n await fn();\n\n onProgress?.({\n step,\n state: 'success'\n });\n } catch (err: unknown) {\n onProgress?.({\n step,\n state: 'error'\n });\n\n throw err;\n }\n};\n", "import {\n type list_canister_snapshots_result,\n type snapshot_id,\n type take_canister_snapshot_result,\n ICManagementCanister\n} from '@icp-sdk/canisters/ic-management';\nimport {Principal} from '@icp-sdk/core/principal';\nimport {type ActorParameters, useOrInitAgent} from '@junobuild/ic-client/actor';\nimport type {CdnParameters} from '../types/actor.params';\n\nconst listCanisterSnapshots = async ({\n actor,\n canisterId\n}: {\n actor: ActorParameters;\n canisterId: Principal;\n}): Promise<list_canister_snapshots_result> => {\n const agent = await useOrInitAgent(actor);\n\n const {listCanisterSnapshots} = ICManagementCanister.create({\n agent\n });\n\n return listCanisterSnapshots({canisterId});\n};\n\nconst takeCanisterSnapshot = async ({\n actor,\n ...rest\n}: {\n actor: ActorParameters;\n canisterId: Principal;\n snapshotId?: snapshot_id;\n}): Promise<take_canister_snapshot_result> => {\n const agent = await useOrInitAgent(actor);\n\n const {takeCanisterSnapshot} = ICManagementCanister.create({\n agent\n });\n\n return takeCanisterSnapshot(rest);\n};\n\nexport const createSnapshot = async ({cdn}: {cdn: CdnParameters}) => {\n const mapParams = (): {actor: ActorParameters; canisterId: Principal} => {\n if ('satellite' in cdn) {\n const {\n satellite: {satelliteId, ...rest}\n } = cdn;\n return {\n canisterId: satelliteId instanceof Principal ? satelliteId : Principal.from(satelliteId),\n actor: rest\n };\n }\n\n const {\n console: {consoleId, ...rest}\n } = cdn;\n return {\n canisterId: consoleId instanceof Principal ? consoleId : Principal.from(consoleId),\n actor: rest\n };\n };\n\n const params = mapParams();\n\n const snapshots = await listCanisterSnapshots(params);\n\n // TODO: currently only one snapshot per canister is supported on the IC\n await takeCanisterSnapshot({\n ...params,\n snapshotId: snapshots?.[0]?.id\n });\n};\n", "import type {CdnParameters} from './actor.params';\nimport type {CommitProposal} from './cdn';\n\nexport enum ApplyProposalProgressStep {\n TakingSnapshot,\n CommittingProposal,\n ClearingProposalAssets,\n PostApply\n}\n\nexport enum RejectProposalProgressStep {\n RejectingProposal,\n ClearingProposalAssets,\n PostReject\n}\n\nexport type ProposalProgressState = 'in_progress' | 'success' | 'error';\n\nexport interface ApplyProposalProgress {\n step: ApplyProposalProgressStep;\n state: ProposalProgressState;\n}\n\nexport interface RejectProposalProgress {\n step: RejectProposalProgressStep;\n state: ProposalProgressState;\n}\n\nexport interface ApplyProposalParams {\n cdn: CdnParameters;\n proposal: CommitProposal;\n takeSnapshot?: boolean;\n clearProposalAssets?: boolean;\n postApply?: () => Promise<void>;\n onProgress?: (progress: ApplyProposalProgress) => void;\n}\n\nexport type RejectProposalParams = Omit<\n ApplyProposalParams,\n 'postApply' | 'takeSnapshot' | 'onProgress'\n> & {\n postReject?: () => Promise<void>;\n onProgress?: (progress: RejectProposalProgress) => void;\n};\n", "import {nonNullish} from '@dfinity/utils';\nimport {deleteProposalAssets, rejectProposal} from '../api/proposal.api';\nimport {type RejectProposalParams, RejectProposalProgressStep} from '../types/proposal.params';\n\nexport const executeRejectProposal = async ({\n clearProposalAssets = false,\n onProgress,\n cdn,\n proposal,\n postReject\n}: RejectProposalParams) => {\n try {\n // 1. Reject the proposal\n const reject = async () => await rejectProposal({cdn, proposal});\n await execute({fn: reject, onProgress, step: RejectProposalProgressStep.RejectingProposal});\n\n // 2. Clear proposal assets if required\n const clear = async () =>\n clearProposalAssets\n ? await deleteProposalAssets({cdn, proposalIds: [proposal.proposal_id]})\n : Promise.resolve();\n await execute({fn: clear, onProgress, step: RejectProposalProgressStep.ClearingProposalAssets});\n } finally {\n // 3. If provided, the post apply runs in any case\n const job = async () => (nonNullish(postReject) ? await postReject() : Promise.resolve());\n await execute({fn: job, onProgress, step: RejectProposalProgressStep.PostReject});\n }\n};\n\nconst execute = async ({\n fn,\n step,\n onProgress\n}: {fn: () => Promise<void>; step: RejectProposalProgressStep} & Pick<\n RejectProposalParams,\n 'onProgress'\n>) => {\n onProgress?.({\n step,\n state: 'in_progress'\n });\n\n try {\n await fn();\n\n onProgress?.({\n step,\n state: 'success'\n });\n } catch (err: unknown) {\n onProgress?.({\n step,\n state: 'error'\n });\n\n throw err;\n }\n};\n"],
|
|
5
|
-
"mappings": ";;AAAA,OAGE,mBAAAA,EACA,qBAAAC,MACK,6BAGA,IAAMC,EAAeC,GAC1B,cAAeA,EAAMF,EAAkBE,EAAI,SAAS,EAAIH,EAAgBG,EAAI,OAAO,ECE9E,IAAMC,EAAe,MAAO,CACjC,IAAAC,EACA,aAAAC,CACF,IAGuC,CACrC,GAAM,CAAC,cAAAC,CAAa,EAAI,MAAMC,EAAYH,CAAG,EAC7C,OAAOE,EAAcD,CAAY,CACnC,EAEaG,EAAiB,MAAO,CACnC,IAAAJ,EACA,WAAAK,CACF,IAGuC,CACrC,GAAM,CAAC,gBAAAC,CAAe,EAAI,MAAMH,EAAYH,CAAG,EAC/C,OAAOM,EAAgBD,CAAU,CACnC,EAEaE,EAAiB,MAAO,CACnC,IAAAP,EACA,SAAAQ,CACF,IAGqB,CACnB,GAAM,CAAC,gBAAAC,CAAe,EAAI,MAAMN,EAAYH,CAAG,EAC/C,MAAMS,EAAgBD,CAAQ,CAChC,EAEaE,EAAiB,MAAO,CACnC,IAAAV,EACA,SAAAQ,CACF,IAGqB,CACnB,GAAM,CAAC,gBAAAG,CAAe,EAAI,MAAMR,EAAYH,CAAG,EAC/C,MAAMW,EAAgBH,CAAQ,CAChC,EAEaI,EAAuB,MAAO,CACzC,IAAAZ,EACA,YAAAa,CACF,IAGqB,CACnB,GAAM,CAAC,uBAAAC,CAAsB,EAAI,MAAMX,EAAYH,CAAG,EACtD,MAAMc,EAAuB,CAAC,aAAcD,CAAW,CAAC,CAC1D,EAEaE,EAAiB,MAAO,CAAC,IAAAf,CAAG,IAA6C,CACpF,GAAM,CAAC,gBAAAgB,CAAe,EAAI,MAAMb,EAAYH,CAAG,EAC/C,OAAOgB,EAAgB,CACzB,EAEaC,EAAgB,MAAO,CAClC,IAAAjB,EACA,OAAAkB,CACF,IAG+C,CAC7C,GAAM,CAAC,eAAAC,CAAc,EAAI,MAAMhB,EAAYH,CAAG,EAC9C,OAAOmB,EAAeD,CAAM,CAC9B,EAEaE,EAAc,MAAO,CAChC,IAAApB,EACA,WAAAK,CACF,IAGgC,CAC9B,GAAM,CAAC,aAAAgB,CAAY,EAAI,MAAMlB,EAAYH,CAAG,EAC5C,OAAOqB,EAAahB,CAAU,CAChC,EC3FA,OACE,2BAA2BiB,EAC3B,4BAA4BC,MAGvB,qBAIA,IAAMC,EAA0B,MAAO,CAC5C,IAAAC,EACA,GAAGC,CACL,IAG+D,CAC7D,IAAMC,EAAQ,MAAMC,EAAYH,CAAG,EAEnC,MAAMI,EAA+B,CACnC,MAAAF,EACA,GAAGD,CACL,CAAC,CACH,EAEaI,EAA2B,MAAO,CAC7C,IAAAL,EACA,GAAGC,CACL,IAG+D,CAC7D,IAAMC,EAAQ,MAAMC,EAAYH,CAAG,EAEnC,MAAMM,EAAgC,CACpC,MAAAJ,EACA,GAAGD,CACL,CAAC,CACH,ECrCA,OAAQ,cAAAM,MAAiB,iBCAzB,
|
|
6
|
-
"names": ["getConsoleActor", "getSatelliteActor", "getCdnActor", "cdn", "initProposal", "cdn", "proposalType", "init_proposal", "getCdnActor", "submitProposal", "proposalId", "submit_proposal", "rejectProposal", "proposal", "reject_proposal", "commitProposal", "commit_proposal", "deleteProposalAssets", "proposalIds", "delete_proposal_assets", "countProposals", "count_proposals", "listProposals", "filter", "list_proposals", "getProposal", "get_proposal", "uploadAssetWithProposalStorage", "uploadAssetsWithProposalStorage", "uploadAssetWithProposal", "cdn", "rest", "actor", "getCdnActor", "uploadAssetWithProposalStorage", "uploadAssetsWithProposal", "uploadAssetsWithProposalStorage", "nonNullish", "
|
|
4
|
+
"sourcesContent": ["import {\n type ConsoleActor,\n type SatelliteActor,\n getConsoleActor,\n getSatelliteActor\n} from '@junobuild/ic-client/actor';\nimport type {CdnParameters} from '../types/actor.params';\n\nexport const getCdnActor = (cdn: CdnParameters): Promise<ConsoleActor | SatelliteActor> =>\n 'satellite' in cdn ? getSatelliteActor(cdn.satellite) : getConsoleActor(cdn.console);\n", "import type {ConsoleDid} from '@junobuild/ic-client/actor';\nimport type {CdnParameters} from '../types/actor.params';\nimport type {\n CommitProposal,\n Proposal,\n ProposalId,\n ProposalType,\n RejectProposal\n} from '../types/cdn';\nimport {getCdnActor} from './_actor.api';\n\nexport const initProposal = async ({\n cdn,\n proposalType\n}: {\n proposalType: ProposalType;\n cdn: CdnParameters;\n}): Promise<[ProposalId, Proposal]> => {\n const {init_proposal} = await getCdnActor(cdn);\n return init_proposal(proposalType);\n};\n\nexport const submitProposal = async ({\n cdn,\n proposalId\n}: {\n cdn: CdnParameters;\n proposalId: ProposalId;\n}): Promise<[ProposalId, Proposal]> => {\n const {submit_proposal} = await getCdnActor(cdn);\n return submit_proposal(proposalId);\n};\n\nexport const rejectProposal = async ({\n cdn,\n proposal\n}: {\n cdn: CdnParameters;\n proposal: RejectProposal;\n}): Promise<void> => {\n const {reject_proposal} = await getCdnActor(cdn);\n await reject_proposal(proposal);\n};\n\nexport const commitProposal = async ({\n cdn,\n proposal\n}: {\n cdn: CdnParameters;\n proposal: CommitProposal;\n}): Promise<void> => {\n const {commit_proposal} = await getCdnActor(cdn);\n await commit_proposal(proposal);\n};\n\nexport const deleteProposalAssets = async ({\n cdn,\n proposalIds\n}: {\n cdn: CdnParameters;\n proposalIds: ProposalId[];\n}): Promise<void> => {\n const {delete_proposal_assets} = await getCdnActor(cdn);\n await delete_proposal_assets({proposal_ids: proposalIds});\n};\n\nexport const countProposals = async ({cdn}: {cdn: CdnParameters}): Promise<bigint> => {\n const {count_proposals} = await getCdnActor(cdn);\n return count_proposals();\n};\n\nexport const listProposals = async ({\n cdn,\n filter\n}: {\n cdn: CdnParameters;\n filter: ConsoleDid.ListProposalsParams;\n}): Promise<ConsoleDid.ListProposalResults> => {\n const {list_proposals} = await getCdnActor(cdn);\n return list_proposals(filter);\n};\n\nexport const getProposal = async ({\n cdn,\n proposalId\n}: {\n cdn: CdnParameters;\n proposalId: ProposalId;\n}): Promise<[] | [Proposal]> => {\n const {get_proposal} = await getCdnActor(cdn);\n return get_proposal(proposalId);\n};\n", "import {\n uploadAssetWithProposal as uploadAssetWithProposalStorage,\n uploadAssetsWithProposal as uploadAssetsWithProposalStorage,\n type UploadAsset,\n type UploadWithProposalParams\n} from '@junobuild/storage';\nimport type {CdnParameters} from '../types/actor.params';\nimport {getCdnActor} from './_actor.api';\n\nexport const uploadAssetWithProposal = async ({\n cdn,\n ...rest\n}: {\n asset: UploadAsset;\n cdn: CdnParameters;\n} & Omit<UploadWithProposalParams, 'actor'>): Promise<void> => {\n const actor = await getCdnActor(cdn);\n\n await uploadAssetWithProposalStorage({\n actor,\n ...rest\n });\n};\n\nexport const uploadAssetsWithProposal = async ({\n cdn,\n ...rest\n}: {\n assets: UploadAsset[];\n cdn: CdnParameters;\n} & Omit<UploadWithProposalParams, 'actor'>): Promise<void> => {\n const actor = await getCdnActor(cdn);\n\n await uploadAssetsWithProposalStorage({\n actor,\n ...rest\n });\n};\n", "import {nonNullish} from '@dfinity/utils';\nimport {createSnapshot} from '../api/ic.api';\nimport {commitProposal, deleteProposalAssets} from '../api/proposal.api';\nimport {type ApplyProposalParams, ApplyProposalProgressStep} from '../types/proposal.params';\n\nexport const executeApplyProposal = async ({\n takeSnapshot = false,\n clearProposalAssets = false,\n onProgress,\n cdn,\n proposal,\n postApply\n}: ApplyProposalParams) => {\n try {\n // 1. We take a snapshot - if the dev opted-in\n const snapshot = async () => (takeSnapshot ? await createSnapshot({cdn}) : Promise.resolve());\n await execute({fn: snapshot, onProgress, step: ApplyProposalProgressStep.TakingSnapshot});\n\n // 2. Commit the proposal\n const commit = async () => await commitProposal({cdn, proposal});\n await execute({fn: commit, onProgress, step: ApplyProposalProgressStep.CommittingProposal});\n\n // 3. Clear proposal assets if required\n const clear = async () =>\n clearProposalAssets\n ? await deleteProposalAssets({cdn, proposalIds: [proposal.proposal_id]})\n : Promise.resolve();\n await execute({fn: clear, onProgress, step: ApplyProposalProgressStep.ClearingProposalAssets});\n } finally {\n // 4. If provided, the post apply runs in any case\n const job = async () => (nonNullish(postApply) ? await postApply() : Promise.resolve());\n await execute({fn: job, onProgress, step: ApplyProposalProgressStep.PostApply});\n }\n};\n\nconst execute = async ({\n fn,\n step,\n onProgress\n}: {fn: () => Promise<void>; step: ApplyProposalProgressStep} & Pick<\n ApplyProposalParams,\n 'onProgress'\n>) => {\n onProgress?.({\n step,\n state: 'in_progress'\n });\n\n try {\n await fn();\n\n onProgress?.({\n step,\n state: 'success'\n });\n } catch (err: unknown) {\n onProgress?.({\n step,\n state: 'error'\n });\n\n throw err;\n }\n};\n", "import {type IcManagementDid, IcManagementCanister} from '@icp-sdk/canisters/ic-management';\nimport {Principal} from '@icp-sdk/core/principal';\nimport {type ActorParameters, useOrInitAgent} from '@junobuild/ic-client/actor';\nimport type {CdnParameters} from '../types/actor.params';\n\nconst listCanisterSnapshots = async ({\n actor,\n canisterId\n}: {\n actor: ActorParameters;\n canisterId: Principal;\n}): Promise<IcManagementDid.list_canister_snapshots_result> => {\n const agent = await useOrInitAgent(actor);\n\n const {listCanisterSnapshots} = IcManagementCanister.create({\n agent\n });\n\n return listCanisterSnapshots({canisterId});\n};\n\nconst takeCanisterSnapshot = async ({\n actor,\n ...rest\n}: {\n actor: ActorParameters;\n canisterId: Principal;\n snapshotId?: IcManagementDid.snapshot_id;\n}): Promise<IcManagementDid.take_canister_snapshot_result> => {\n const agent = await useOrInitAgent(actor);\n\n const {takeCanisterSnapshot} = IcManagementCanister.create({\n agent\n });\n\n return takeCanisterSnapshot(rest);\n};\n\nexport const createSnapshot = async ({cdn}: {cdn: CdnParameters}) => {\n const mapParams = (): {actor: ActorParameters; canisterId: Principal} => {\n if ('satellite' in cdn) {\n const {\n satellite: {satelliteId, ...rest}\n } = cdn;\n return {\n canisterId: satelliteId instanceof Principal ? satelliteId : Principal.from(satelliteId),\n actor: rest\n };\n }\n\n const {\n console: {consoleId, ...rest}\n } = cdn;\n return {\n canisterId: consoleId instanceof Principal ? consoleId : Principal.from(consoleId),\n actor: rest\n };\n };\n\n const params = mapParams();\n\n const snapshots = await listCanisterSnapshots(params);\n\n // TODO: currently only one snapshot per canister is supported on the IC\n await takeCanisterSnapshot({\n ...params,\n snapshotId: snapshots?.[0]?.id\n });\n};\n", "import type {CdnParameters} from './actor.params';\nimport type {CommitProposal} from './cdn';\n\nexport enum ApplyProposalProgressStep {\n TakingSnapshot,\n CommittingProposal,\n ClearingProposalAssets,\n PostApply\n}\n\nexport enum RejectProposalProgressStep {\n RejectingProposal,\n ClearingProposalAssets,\n PostReject\n}\n\nexport type ProposalProgressState = 'in_progress' | 'success' | 'error';\n\nexport interface ApplyProposalProgress {\n step: ApplyProposalProgressStep;\n state: ProposalProgressState;\n}\n\nexport interface RejectProposalProgress {\n step: RejectProposalProgressStep;\n state: ProposalProgressState;\n}\n\nexport interface ApplyProposalParams {\n cdn: CdnParameters;\n proposal: CommitProposal;\n takeSnapshot?: boolean;\n clearProposalAssets?: boolean;\n postApply?: () => Promise<void>;\n onProgress?: (progress: ApplyProposalProgress) => void;\n}\n\nexport type RejectProposalParams = Omit<\n ApplyProposalParams,\n 'postApply' | 'takeSnapshot' | 'onProgress'\n> & {\n postReject?: () => Promise<void>;\n onProgress?: (progress: RejectProposalProgress) => void;\n};\n", "import {nonNullish} from '@dfinity/utils';\nimport {deleteProposalAssets, rejectProposal} from '../api/proposal.api';\nimport {type RejectProposalParams, RejectProposalProgressStep} from '../types/proposal.params';\n\nexport const executeRejectProposal = async ({\n clearProposalAssets = false,\n onProgress,\n cdn,\n proposal,\n postReject\n}: RejectProposalParams) => {\n try {\n // 1. Reject the proposal\n const reject = async () => await rejectProposal({cdn, proposal});\n await execute({fn: reject, onProgress, step: RejectProposalProgressStep.RejectingProposal});\n\n // 2. Clear proposal assets if required\n const clear = async () =>\n clearProposalAssets\n ? await deleteProposalAssets({cdn, proposalIds: [proposal.proposal_id]})\n : Promise.resolve();\n await execute({fn: clear, onProgress, step: RejectProposalProgressStep.ClearingProposalAssets});\n } finally {\n // 3. If provided, the post apply runs in any case\n const job = async () => (nonNullish(postReject) ? await postReject() : Promise.resolve());\n await execute({fn: job, onProgress, step: RejectProposalProgressStep.PostReject});\n }\n};\n\nconst execute = async ({\n fn,\n step,\n onProgress\n}: {fn: () => Promise<void>; step: RejectProposalProgressStep} & Pick<\n RejectProposalParams,\n 'onProgress'\n>) => {\n onProgress?.({\n step,\n state: 'in_progress'\n });\n\n try {\n await fn();\n\n onProgress?.({\n step,\n state: 'success'\n });\n } catch (err: unknown) {\n onProgress?.({\n step,\n state: 'error'\n });\n\n throw err;\n }\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["getConsoleActor", "getSatelliteActor", "getCdnActor", "cdn", "initProposal", "cdn", "proposalType", "init_proposal", "getCdnActor", "submitProposal", "proposalId", "submit_proposal", "rejectProposal", "proposal", "reject_proposal", "commitProposal", "commit_proposal", "deleteProposalAssets", "proposalIds", "delete_proposal_assets", "countProposals", "count_proposals", "listProposals", "filter", "list_proposals", "getProposal", "get_proposal", "uploadAssetWithProposalStorage", "uploadAssetsWithProposalStorage", "uploadAssetWithProposal", "cdn", "rest", "actor", "getCdnActor", "uploadAssetWithProposalStorage", "uploadAssetsWithProposal", "uploadAssetsWithProposalStorage", "nonNullish", "IcManagementCanister", "Principal", "useOrInitAgent", "listCanisterSnapshots", "actor", "canisterId", "agent", "takeCanisterSnapshot", "rest", "createSnapshot", "cdn", "params", "satelliteId", "consoleId", "snapshots", "ApplyProposalProgressStep", "RejectProposalProgressStep", "executeApplyProposal", "takeSnapshot", "clearProposalAssets", "onProgress", "cdn", "proposal", "postApply", "execute", "createSnapshot", "commitProposal", "deleteProposalAssets", "nonNullish", "fn", "step", "err", "nonNullish", "executeRejectProposal", "clearProposalAssets", "onProgress", "cdn", "proposal", "postReject", "execute", "rejectProposal", "deleteProposalAssets", "nonNullish", "fn", "step", "err"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@junobuild/cdn",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "A toolkit for working with modules that implement Juno's CDN functionality",
|
|
5
5
|
"author": "David Dal Busco (https://daviddalbusco.com)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"homepage": "https://juno.build",
|
|
51
51
|
"peerDependencies": {
|
|
52
52
|
"@dfinity/utils": "^4",
|
|
53
|
-
"@icp-sdk/canisters": "^
|
|
53
|
+
"@icp-sdk/canisters": "^3",
|
|
54
54
|
"@icp-sdk/core": "^4.2",
|
|
55
55
|
"@junobuild/config": "*",
|
|
56
56
|
"@junobuild/ic-client": "^7",
|