UNPKG

@silvana-one/coordination

Version:

Silvana Coordination Client

29 lines 1.24 kB
import { fetchSuiDynamicFieldsList, fetchSuiObject, suiClient, } from "@silvana-one/coordination"; export async function getState(params = {}) { const { appInstanceID = process.env.APP_INSTANCE_ID } = params; if (!appInstanceID) { throw new Error("APP_INSTANCE_ID is not set"); } // Get the AppInstance object const appInstance = await fetchSuiObject(appInstanceID); if (appInstance?.data?.content?.dataType !== "moveObject") throw new Error("AppInstance not found"); // The state is inside the AppInstance const stateObjectID = (appInstance?.data?.content?.fields).state.fields .state.fields.id.id; const state = []; const fields = await fetchSuiDynamicFieldsList(stateObjectID); const names = fields.data.map((field) => field.name); for (const name of names) { const element = await suiClient.getDynamicFieldObject({ parentId: stateObjectID, name, }); if (element.data?.content?.dataType !== "moveObject") throw new Error("Element not found"); const value = BigInt((element.data?.content.fields).state[0]); state.push(value); } return state; } //# sourceMappingURL=state.js.map