@objectid/oid-provider 1.0.6
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/README.md +67 -0
- package/dist/api.d.ts +30 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +41 -0
- package/dist/api.js.map +1 -0
- package/dist/env.d.ts +28 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +114 -0
- package/dist/env.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/methods/component.d.ts +18 -0
- package/dist/methods/component.d.ts.map +1 -0
- package/dist/methods/component.js +58 -0
- package/dist/methods/component.js.map +1 -0
- package/dist/methods/counter.d.ts +43 -0
- package/dist/methods/counter.d.ts.map +1 -0
- package/dist/methods/counter.js +144 -0
- package/dist/methods/counter.js.map +1 -0
- package/dist/methods/document.d.ts +90 -0
- package/dist/methods/document.d.ts.map +1 -0
- package/dist/methods/document.js +332 -0
- package/dist/methods/document.js.map +1 -0
- package/dist/methods/event.d.ts +26 -0
- package/dist/methods/event.d.ts.map +1 -0
- package/dist/methods/event.js +107 -0
- package/dist/methods/event.js.map +1 -0
- package/dist/methods/index.d.ts +7 -0
- package/dist/methods/index.d.ts.map +1 -0
- package/dist/methods/index.js +7 -0
- package/dist/methods/index.js.map +1 -0
- package/dist/methods/object.d.ts +74 -0
- package/dist/methods/object.d.ts.map +1 -0
- package/dist/methods/object.js +293 -0
- package/dist/methods/object.js.map +1 -0
- package/dist/methods/objectMessages.d.ts +30 -0
- package/dist/methods/objectMessages.d.ts.map +1 -0
- package/dist/methods/objectMessages.js +144 -0
- package/dist/methods/objectMessages.js.map +1 -0
- package/dist/methods.d.ts +2 -0
- package/dist/methods.d.ts.map +1 -0
- package/dist/methods.js +2 -0
- package/dist/methods.js.map +1 -0
- package/dist/oid/caps.d.ts +8 -0
- package/dist/oid/caps.d.ts.map +1 -0
- package/dist/oid/caps.js +61 -0
- package/dist/oid/caps.js.map +1 -0
- package/dist/oid/credit.d.ts +7 -0
- package/dist/oid/credit.d.ts.map +1 -0
- package/dist/oid/credit.js +48 -0
- package/dist/oid/credit.js.map +1 -0
- package/dist/oid/graphql.d.ts +4 -0
- package/dist/oid/graphql.d.ts.map +1 -0
- package/dist/oid/graphql.js +69 -0
- package/dist/oid/graphql.js.map +1 -0
- package/dist/oid/index.d.ts +92 -0
- package/dist/oid/index.d.ts.map +1 -0
- package/dist/oid/index.js +378 -0
- package/dist/oid/index.js.map +1 -0
- package/dist/oid/ownedObjects.d.ts +9 -0
- package/dist/oid/ownedObjects.d.ts.map +1 -0
- package/dist/oid/ownedObjects.js +38 -0
- package/dist/oid/ownedObjects.js.map +1 -0
- package/dist/onchain/config.d.ts +37 -0
- package/dist/onchain/config.d.ts.map +1 -0
- package/dist/onchain/config.js +109 -0
- package/dist/onchain/config.js.map +1 -0
- package/dist/onchain/defaults.d.ts +13 -0
- package/dist/onchain/defaults.d.ts.map +1 -0
- package/dist/onchain/defaults.js +17 -0
- package/dist/onchain/defaults.js.map +1 -0
- package/dist/onchain/getObjects.d.ts +17 -0
- package/dist/onchain/getObjects.d.ts.map +1 -0
- package/dist/onchain/getObjects.js +112 -0
- package/dist/onchain/getObjects.js.map +1 -0
- package/dist/onchain/identity.d.ts +2 -0
- package/dist/onchain/identity.d.ts.map +1 -0
- package/dist/onchain/identity.js +9 -0
- package/dist/onchain/identity.js.map +1 -0
- package/dist/react/ObjectIdProvider.d.ts +53 -0
- package/dist/react/ObjectIdProvider.d.ts.map +1 -0
- package/dist/react/ObjectIdProvider.js +431 -0
- package/dist/react/ObjectIdProvider.js.map +1 -0
- package/dist/react/index.d.ts +4 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +3 -0
- package/dist/react/index.js.map +1 -0
- package/dist/types/documentData.d.ts +25 -0
- package/dist/types/documentData.d.ts.map +1 -0
- package/dist/types/documentData.js +2 -0
- package/dist/types/documentData.js.map +1 -0
- package/dist/types/objectData.d.ts +24 -0
- package/dist/types/objectData.d.ts.map +1 -0
- package/dist/types/objectData.js +2 -0
- package/dist/types/objectData.js.map +1 -0
- package/dist/types/types.d.ts +65 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/types.js +2 -0
- package/dist/types/types.js.map +1 -0
- package/dist/utils/geolocation.d.ts +1 -0
- package/dist/utils/geolocation.d.ts.map +1 -0
- package/dist/utils/geolocation.js +2 -0
- package/dist/utils/geolocation.js.map +1 -0
- package/dist/utils/getObject.d.ts +3 -0
- package/dist/utils/getObject.d.ts.map +1 -0
- package/dist/utils/getObject.js +18 -0
- package/dist/utils/getObject.js.map +1 -0
- package/dist/utils/getObjectData.d.ts +4 -0
- package/dist/utils/getObjectData.d.ts.map +1 -0
- package/dist/utils/getObjectData.js +26 -0
- package/dist/utils/getObjectData.js.map +1 -0
- package/dist/utils/graphql.d.ts +3 -0
- package/dist/utils/graphql.d.ts.map +1 -0
- package/dist/utils/graphql.js +35 -0
- package/dist/utils/graphql.js.map +1 -0
- package/dist/utils/tx.d.ts +21 -0
- package/dist/utils/tx.d.ts.map +1 -0
- package/dist/utils/tx.js +125 -0
- package/dist/utils/tx.js.map +1 -0
- package/dist/utils/url.d.ts +10 -0
- package/dist/utils/url.d.ts.map +1 -0
- package/dist/utils/url.js +24 -0
- package/dist/utils/url.js.map +1 -0
- package/dist-cjs/api.js +44 -0
- package/dist-cjs/api.js.map +1 -0
- package/dist-cjs/env.js +118 -0
- package/dist-cjs/env.js.map +1 -0
- package/dist-cjs/index.js +44 -0
- package/dist-cjs/index.js.map +1 -0
- package/dist-cjs/methods/component.js +62 -0
- package/dist-cjs/methods/component.js.map +1 -0
- package/dist-cjs/methods/counter.js +151 -0
- package/dist-cjs/methods/counter.js.map +1 -0
- package/dist-cjs/methods/document.js +348 -0
- package/dist-cjs/methods/document.js.map +1 -0
- package/dist-cjs/methods/event.js +112 -0
- package/dist-cjs/methods/event.js.map +1 -0
- package/dist-cjs/methods/index.js +23 -0
- package/dist-cjs/methods/index.js.map +1 -0
- package/dist-cjs/methods/object.js +305 -0
- package/dist-cjs/methods/object.js.map +1 -0
- package/dist-cjs/methods/objectMessages.js +151 -0
- package/dist-cjs/methods/objectMessages.js.map +1 -0
- package/dist-cjs/methods.js +18 -0
- package/dist-cjs/methods.js.map +1 -0
- package/dist-cjs/oid/caps.js +65 -0
- package/dist-cjs/oid/caps.js.map +1 -0
- package/dist-cjs/oid/credit.js +51 -0
- package/dist-cjs/oid/credit.js.map +1 -0
- package/dist-cjs/oid/graphql.js +73 -0
- package/dist-cjs/oid/graphql.js.map +1 -0
- package/dist-cjs/oid/index.js +381 -0
- package/dist-cjs/oid/index.js.map +1 -0
- package/dist-cjs/oid/ownedObjects.js +41 -0
- package/dist-cjs/oid/ownedObjects.js.map +1 -0
- package/dist-cjs/onchain/config.js +118 -0
- package/dist-cjs/onchain/config.js.map +1 -0
- package/dist-cjs/onchain/defaults.js +20 -0
- package/dist-cjs/onchain/defaults.js.map +1 -0
- package/dist-cjs/onchain/getObjects.js +117 -0
- package/dist-cjs/onchain/getObjects.js.map +1 -0
- package/dist-cjs/onchain/identity.js +10 -0
- package/dist-cjs/onchain/identity.js.map +1 -0
- package/dist-cjs/package.json +3 -0
- package/dist-cjs/react/ObjectIdProvider.js +437 -0
- package/dist-cjs/react/ObjectIdProvider.js.map +1 -0
- package/dist-cjs/react/index.js +10 -0
- package/dist-cjs/react/index.js.map +1 -0
- package/dist-cjs/types/documentData.js +3 -0
- package/dist-cjs/types/documentData.js.map +1 -0
- package/dist-cjs/types/objectData.js +3 -0
- package/dist-cjs/types/objectData.js.map +1 -0
- package/dist-cjs/types/types.js +3 -0
- package/dist-cjs/types/types.js.map +1 -0
- package/dist-cjs/utils/geolocation.js +2 -0
- package/dist-cjs/utils/geolocation.js.map +1 -0
- package/dist-cjs/utils/getObject.js +21 -0
- package/dist-cjs/utils/getObject.js.map +1 -0
- package/dist-cjs/utils/getObjectData.js +29 -0
- package/dist-cjs/utils/getObjectData.js.map +1 -0
- package/dist-cjs/utils/graphql.js +38 -0
- package/dist-cjs/utils/graphql.js.map +1 -0
- package/dist-cjs/utils/tx.js +128 -0
- package/dist-cjs/utils/tx.js.map +1 -0
- package/dist-cjs/utils/url.js +27 -0
- package/dist-cjs/utils/url.js.map +1 -0
- package/package.json +61 -0
package/README.md
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# @objectid/objectid-provider (client-side)
|
|
2
|
+
|
|
3
|
+
This package exposes:
|
|
4
|
+
- A React Provider (`ObjectID`) that can auto-load ObjectID configuration from an on-chain config package
|
|
5
|
+
- A typed API wrapper around ObjectID Move calls (methods)
|
|
6
|
+
|
|
7
|
+
## React usage (auto config)
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
import { ObjectID, useObjectIDSession, useObjectId } from "@objectid/objectid-provider/react";
|
|
11
|
+
|
|
12
|
+
function LoginButton() {
|
|
13
|
+
const { connect, status, error, config } = useObjectIDSession();
|
|
14
|
+
|
|
15
|
+
async function onLogin() {
|
|
16
|
+
await connect({ network: "testnet", seed: "<64-hex-seed>", gasBudget: 10_000_000 });
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return (
|
|
20
|
+
<div>
|
|
21
|
+
<button onClick={onLogin}>Connect</button>
|
|
22
|
+
{status === "loading" && <div>Loading config…</div>}
|
|
23
|
+
{error && <div>Error: {error}</div>}
|
|
24
|
+
{config && <pre>{JSON.stringify({ source: config.source, objectId: config.objectId }, null, 2)}</pre>}
|
|
25
|
+
</div>
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function App() {
|
|
30
|
+
return (
|
|
31
|
+
<ObjectID configPackageIds={{
|
|
32
|
+
testnet: "0x...CONFIG_PKG_TESTNET",
|
|
33
|
+
mainnet: "0x...CONFIG_PKG_MAINNET"
|
|
34
|
+
}}>
|
|
35
|
+
<LoginButton />
|
|
36
|
+
</ObjectID>
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Config discovery (no GraphQL)
|
|
42
|
+
The provider uses JSON-RPC only:
|
|
43
|
+
- it looks for a user-owned config object of type `<configPkg>::oid_config::Config`
|
|
44
|
+
- if not found, it discovers the shared default config object by querying the latest tx calling:
|
|
45
|
+
`<configPkg>::oid_config::set_default_json`
|
|
46
|
+
and extracting the mutated shared Config object id from `objectChanges`
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
## Windows note (npm install)
|
|
50
|
+
This package does not run `prepare` on install. Build it once with `npm run build` inside the SDK folder before consuming it via `file:`.
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
## High-level wrapper: createOid()
|
|
54
|
+
|
|
55
|
+
This version includes a wrapper with an explicit initialization phase.
|
|
56
|
+
|
|
57
|
+
```ts
|
|
58
|
+
import { createOid } from "@objectid/objectid-provider";
|
|
59
|
+
|
|
60
|
+
const oid = createOid();
|
|
61
|
+
|
|
62
|
+
// Any tx method before init throws "not initialized"
|
|
63
|
+
await oid.config(did, seed, network);
|
|
64
|
+
|
|
65
|
+
console.log(oid.session.address);
|
|
66
|
+
const r = await oid.create_object({ /* ... */ });
|
|
67
|
+
```
|
package/dist/api.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ObjectEdge, ObjectIdProviderConfig } from "./types/types";
|
|
2
|
+
import { type ResolvedEnv } from "./env";
|
|
3
|
+
import * as methods from "./methods";
|
|
4
|
+
export type TxMethodName = keyof typeof methods;
|
|
5
|
+
export type MethodParams<K extends TxMethodName> = Parameters<(typeof methods)[K]>[1];
|
|
6
|
+
export type MethodReturn<K extends TxMethodName> = ReturnType<(typeof methods)[K]>;
|
|
7
|
+
/**
|
|
8
|
+
* All tx methods are defined in ./methods/* as (api, params) => ...
|
|
9
|
+
* We expose them here as (params) => ... to keep IntelliSense param hints.
|
|
10
|
+
*/
|
|
11
|
+
export type TxMethods = {
|
|
12
|
+
[K in TxMethodName]: (params: MethodParams<K>) => MethodReturn<K>;
|
|
13
|
+
};
|
|
14
|
+
export type ObjectIdApi = {
|
|
15
|
+
env: () => Promise<ResolvedEnv>;
|
|
16
|
+
gasBudget: number;
|
|
17
|
+
useGasStation: boolean;
|
|
18
|
+
gasStation?: import("./types/types").gasStationCfg;
|
|
19
|
+
get_object: (params: {
|
|
20
|
+
objectId: string;
|
|
21
|
+
}) => Promise<any>;
|
|
22
|
+
get_objects: (params: {
|
|
23
|
+
after?: string | null;
|
|
24
|
+
}) => Promise<ObjectEdge[]>;
|
|
25
|
+
document_did_string: (params: {
|
|
26
|
+
id: string;
|
|
27
|
+
}) => string;
|
|
28
|
+
} & TxMethods;
|
|
29
|
+
export declare function createObjectIdApi(cfg: ObjectIdProviderConfig): ObjectIdApi;
|
|
30
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,OAAO,CAAC;AAGrD,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,OAAO,CAAC;AAEhD,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,YAAY,IAAI,UAAU,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtF,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,YAAY,IAAI,UAAU,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnF;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;KACrB,CAAC,IAAI,YAAY,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,eAAe,EAAE,aAAa,CAAC;IAGnD,UAAU,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D,WAAW,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1E,mBAAmB,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;CACzD,GAAG,SAAS,CAAC;AAEd,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,sBAAsB,GAAG,WAAW,CAyC1E"}
|
package/dist/api.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { resolveEnv } from "./env";
|
|
2
|
+
import { searchObjectsByType } from "./utils/graphql";
|
|
3
|
+
import { getObject } from "./utils/getObject";
|
|
4
|
+
import * as methods from "./methods";
|
|
5
|
+
export function createObjectIdApi(cfg) {
|
|
6
|
+
let _envPromise = null;
|
|
7
|
+
const gasBudget = cfg.gasBudget ?? 10_000_000;
|
|
8
|
+
const useGasStation = !!cfg.useGasStation;
|
|
9
|
+
const gasStation = cfg.gasStation;
|
|
10
|
+
async function env() {
|
|
11
|
+
if (!_envPromise)
|
|
12
|
+
_envPromise = resolveEnv(cfg);
|
|
13
|
+
return _envPromise;
|
|
14
|
+
}
|
|
15
|
+
const apiRef = {
|
|
16
|
+
env,
|
|
17
|
+
gasBudget,
|
|
18
|
+
useGasStation,
|
|
19
|
+
gasStation,
|
|
20
|
+
async get_object({ objectId }) {
|
|
21
|
+
const e = await env();
|
|
22
|
+
return getObject(e.client, objectId);
|
|
23
|
+
},
|
|
24
|
+
async get_objects({ after = null }) {
|
|
25
|
+
const e = await env();
|
|
26
|
+
return searchObjectsByType(e.OIDobjectType, after, e.graphqlProvider);
|
|
27
|
+
},
|
|
28
|
+
document_did_string({ id }) {
|
|
29
|
+
const raw = String(id || "").trim();
|
|
30
|
+
const hex = raw.startsWith("0x") ? raw.slice(2) : raw;
|
|
31
|
+
return "did:iota:0x" + hex.toLowerCase();
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
// Bind ALL tx methods from ./methods/* so they keep their (typed) params in IntelliSense.
|
|
35
|
+
for (const k of Object.keys(methods)) {
|
|
36
|
+
// Runtime binding only; typing is provided by the ObjectIdApi & TxMethods types above.
|
|
37
|
+
apiRef[k] = (params) => methods[k](apiRef, params);
|
|
38
|
+
}
|
|
39
|
+
return apiRef;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=api.js.map
|
package/dist/api.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAoB,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AA2BrC,MAAM,UAAU,iBAAiB,CAAC,GAA2B;IAC3D,IAAI,WAAW,GAAgC,IAAI,CAAC;IACpD,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,UAAU,CAAC;IAC9C,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC;IAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IAElC,KAAK,UAAU,GAAG;QAChB,IAAI,CAAC,WAAW;YAAE,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAChD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,MAAM,GAAQ;QAClB,GAAG;QACH,SAAS;QACT,aAAa;QACb,UAAU;QAEV,KAAK,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAwB;YACjD,MAAM,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,GAAG,IAAI,EAA6B;YAC3D,MAAM,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC;YACtB,OAAO,mBAAmB,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC;QACxE,CAAC;QAED,mBAAmB,CAAC,EAAE,EAAE,EAAkB;YACxC,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACtD,OAAO,aAAa,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAC3C,CAAC;KACF,CAAC;IAEF,0FAA0F;IAC1F,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAgC,EAAE,CAAC;QACpE,uFAAuF;QACvF,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAW,EAAE,EAAE,CAAE,OAAe,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,MAAqB,CAAC;AAC/B,CAAC"}
|
package/dist/env.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { IotaClient } from "@iota/iota-sdk/client";
|
|
2
|
+
import { Ed25519Keypair } from "@iota/iota-sdk/keypairs/ed25519";
|
|
3
|
+
import type { ObjectIdProviderConfig } from "./types/types";
|
|
4
|
+
export type ResolvedEnv = {
|
|
5
|
+
client: IotaClient;
|
|
6
|
+
keyPair: Ed25519Keypair;
|
|
7
|
+
sender: string;
|
|
8
|
+
network: string;
|
|
9
|
+
graphqlProvider: string;
|
|
10
|
+
packageID: string;
|
|
11
|
+
documentPackageID: string;
|
|
12
|
+
policy: string;
|
|
13
|
+
tokenCreditType: string;
|
|
14
|
+
policyTokenType: string;
|
|
15
|
+
OIDobjectType: string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Resolves runtime environment using ONLY the provider configuration (loaded from on-chain oid_config).
|
|
19
|
+
* No hardcoded defaults are used here.
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolveEnv(cfg: ObjectIdProviderConfig): Promise<ResolvedEnv>;
|
|
22
|
+
/**
|
|
23
|
+
* Converts an input value to a JSON string.
|
|
24
|
+
* - If value is already a string, returns it as-is.
|
|
25
|
+
* - Otherwise JSON.stringify(value). Undefined/null becomes "{}".
|
|
26
|
+
*/
|
|
27
|
+
export declare function asJsonString(value: unknown): string;
|
|
28
|
+
//# sourceMappingURL=env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAG5D,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IAExB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,MAAM,EAAE,MAAM,CAAC;IAEf,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAwDF;;;GAGG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAiDlF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAInD"}
|
package/dist/env.js
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { getFullnodeUrl, IotaClient } from "@iota/iota-sdk/client";
|
|
2
|
+
import { Ed25519Keypair } from "@iota/iota-sdk/keypairs/ed25519";
|
|
3
|
+
import { searchObjectsByType } from "./utils/graphql";
|
|
4
|
+
function mustNonEmpty(name, value, ctx) {
|
|
5
|
+
const s = typeof value === "string" ? value.trim() : String(value ?? "").trim();
|
|
6
|
+
if (s)
|
|
7
|
+
return s;
|
|
8
|
+
const keys = ctx && typeof ctx === "object" ? Object.keys(ctx).join(",") : "";
|
|
9
|
+
throw new Error(`Missing required config field: ${name}${keys ? ` (available keys: ${keys})` : ""}`);
|
|
10
|
+
}
|
|
11
|
+
function mustArray(name, v) {
|
|
12
|
+
if (!Array.isArray(v) || v.length === 0)
|
|
13
|
+
throw new Error(`Missing required config array: ${name}`);
|
|
14
|
+
return v.map((x) => String(x));
|
|
15
|
+
}
|
|
16
|
+
function hexToBytes(hex) {
|
|
17
|
+
const h = hex.trim().toLowerCase().replace(/^0x/, "");
|
|
18
|
+
if (!h)
|
|
19
|
+
return new Uint8Array();
|
|
20
|
+
if (h.length % 2 !== 0)
|
|
21
|
+
throw new Error("Invalid hex seed length");
|
|
22
|
+
const out = new Uint8Array(h.length / 2);
|
|
23
|
+
for (let i = 0; i < out.length; i++)
|
|
24
|
+
out[i] = parseInt(h.slice(i * 2, i * 2 + 2), 16);
|
|
25
|
+
return out;
|
|
26
|
+
}
|
|
27
|
+
function bytesToHex(bytes) {
|
|
28
|
+
return Array.from(bytes)
|
|
29
|
+
.map((b) => b.toString(16).padStart(2, "0"))
|
|
30
|
+
.join("");
|
|
31
|
+
}
|
|
32
|
+
async function sha256(data) {
|
|
33
|
+
// Browser + Node 20+: WebCrypto
|
|
34
|
+
const subtle = globalThis?.crypto?.subtle;
|
|
35
|
+
if (subtle?.digest) {
|
|
36
|
+
const buf = await subtle.digest("SHA-256", data);
|
|
37
|
+
return new Uint8Array(buf);
|
|
38
|
+
}
|
|
39
|
+
// Node fallback (should not run in the browser)
|
|
40
|
+
const { createHash } = await import("crypto");
|
|
41
|
+
return new Uint8Array(createHash("sha256").update(Buffer.from(data)).digest());
|
|
42
|
+
}
|
|
43
|
+
async function deriveSeedHex(seedHex, seedPath) {
|
|
44
|
+
const path = String(seedPath ?? "").trim();
|
|
45
|
+
if (!path)
|
|
46
|
+
return seedHex;
|
|
47
|
+
const seedBytes = hexToBytes(seedHex);
|
|
48
|
+
const pathBytes = new TextEncoder().encode(path);
|
|
49
|
+
const data = new Uint8Array(seedBytes.length + pathBytes.length);
|
|
50
|
+
data.set(seedBytes, 0);
|
|
51
|
+
data.set(pathBytes, seedBytes.length);
|
|
52
|
+
const h = await sha256(data);
|
|
53
|
+
// 32 bytes -> 64 hex chars
|
|
54
|
+
return bytesToHex(h.slice(0, 32));
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Resolves runtime environment using ONLY the provider configuration (loaded from on-chain oid_config).
|
|
58
|
+
* No hardcoded defaults are used here.
|
|
59
|
+
*/
|
|
60
|
+
export async function resolveEnv(cfg) {
|
|
61
|
+
const net = mustNonEmpty("network", cfg.network, cfg);
|
|
62
|
+
const seed = mustNonEmpty("seed", cfg.seed, cfg);
|
|
63
|
+
const graphqlProvider = mustNonEmpty("graphqlProvider", cfg.graphqlProvider, cfg);
|
|
64
|
+
const objectPackages = mustArray("objectPackages", cfg.objectPackages);
|
|
65
|
+
const documentPackages = mustArray("documentPackages", cfg.documentPackages);
|
|
66
|
+
const objVer = Number(cfg.objectDefaultPackageVersion ?? 0);
|
|
67
|
+
const docVer = Number(cfg.documentDefaultPackageVersion ?? 0);
|
|
68
|
+
if (objVer < 0 || objVer >= objectPackages.length) {
|
|
69
|
+
throw new Error(`Invalid objectDefaultPackageVersion=${objVer} (len=${objectPackages.length})`);
|
|
70
|
+
}
|
|
71
|
+
if (docVer < 0 || docVer >= documentPackages.length) {
|
|
72
|
+
throw new Error(`Invalid documentDefaultPackageVersion=${docVer} (len=${documentPackages.length})`);
|
|
73
|
+
}
|
|
74
|
+
const packageID = objectPackages[objVer];
|
|
75
|
+
const documentPackageID = documentPackages[docVer];
|
|
76
|
+
const client = new IotaClient({ url: getFullnodeUrl(net) });
|
|
77
|
+
const effectiveSeed = await deriveSeedHex(seed, cfg.seedPath);
|
|
78
|
+
const keyPair = Ed25519Keypair.deriveKeypairFromSeed(effectiveSeed);
|
|
79
|
+
const sender = keyPair.toIotaAddress();
|
|
80
|
+
const tokenCreditType = `0x2::token::Token<${packageID}::oid_credit::OID_CREDIT>`;
|
|
81
|
+
const policyTokenType = `0x2::token::TokenPolicy<${packageID}::oid_credit::OID_CREDIT>`;
|
|
82
|
+
const OIDobjectType = `${packageID}::oid_object::OIDObject`;
|
|
83
|
+
// Discover the policy object id via GraphQL (required for Move calls)
|
|
84
|
+
const edges = await searchObjectsByType(policyTokenType, null, graphqlProvider);
|
|
85
|
+
if (!edges?.length)
|
|
86
|
+
throw new Error("Cannot resolve policy object (no TokenPolicy found)");
|
|
87
|
+
const policy = edges[0].node.address;
|
|
88
|
+
return {
|
|
89
|
+
client,
|
|
90
|
+
keyPair,
|
|
91
|
+
sender,
|
|
92
|
+
network: net,
|
|
93
|
+
graphqlProvider,
|
|
94
|
+
packageID,
|
|
95
|
+
documentPackageID,
|
|
96
|
+
policy,
|
|
97
|
+
tokenCreditType,
|
|
98
|
+
policyTokenType,
|
|
99
|
+
OIDobjectType,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Converts an input value to a JSON string.
|
|
104
|
+
* - If value is already a string, returns it as-is.
|
|
105
|
+
* - Otherwise JSON.stringify(value). Undefined/null becomes "{}".
|
|
106
|
+
*/
|
|
107
|
+
export function asJsonString(value) {
|
|
108
|
+
if (typeof value === "string")
|
|
109
|
+
return value;
|
|
110
|
+
if (value === null || value === undefined)
|
|
111
|
+
return "{}";
|
|
112
|
+
return JSON.stringify(value);
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=env.js.map
|
package/dist/env.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type { ObjectIdProviderConfig, TxExecResult, ObjectEdge } from "./types/types";
|
|
2
|
+
export type { ObjectIdApi, TxMethodName, TxMethods, MethodParams, MethodReturn } from "./api";
|
|
3
|
+
export { createObjectIdApi } from "./api";
|
|
4
|
+
export { createOid, type Oid, type OidSession, type ConnectParams, type Network } from "./oid";
|
|
5
|
+
export { ObjectID, type ObjectIDProps, useObjectId, useOptionalObjectId, useObjectIDSession } from "./react";
|
|
6
|
+
export type { ConfigPackageIds, LoadedConfig } from "./onchain/config";
|
|
7
|
+
export { loadPublicConfig, loadConfigJsonByObjectId, loadEffectiveConfig, findUserConfigObjectId, configType, dlvcProxyUrl, } from "./onchain/config";
|
|
8
|
+
export { DEFAULT_CONFIG_PACKAGE_IDS, DEFAULT_SHARED_CONFIG_OBJECT_ID, type CanonicalNetwork } from "./onchain/defaults";
|
|
9
|
+
export * from "./methods";
|
|
10
|
+
export { asJsonString } from "./env";
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,sBAAsB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGtF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,SAAS,EAAE,KAAK,GAAG,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,OAAO,EAAE,MAAM,OAAO,CAAC;AAG/F,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,WAAW,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG7G,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,YAAY,GACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,+BAA+B,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGxH,cAAc,WAAW,CAAC;AAG1B,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { createObjectIdApi } from "./api";
|
|
2
|
+
// OID high-level wrapper
|
|
3
|
+
export { createOid } from "./oid";
|
|
4
|
+
// React provider + hooks
|
|
5
|
+
export { ObjectID, useObjectId, useOptionalObjectId, useObjectIDSession } from "./react";
|
|
6
|
+
export { loadPublicConfig, loadConfigJsonByObjectId, loadEffectiveConfig, findUserConfigObjectId, configType, dlvcProxyUrl, } from "./onchain/config";
|
|
7
|
+
export { DEFAULT_CONFIG_PACKAGE_IDS, DEFAULT_SHARED_CONFIG_OBJECT_ID } from "./onchain/defaults";
|
|
8
|
+
// Tx methods + their exported Params types (for IntelliSense)
|
|
9
|
+
export * from "./methods";
|
|
10
|
+
// Utilities
|
|
11
|
+
export { asJsonString } from "./env";
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE1C,yBAAyB;AACzB,OAAO,EAAE,SAAS,EAA+D,MAAM,OAAO,CAAC;AAE/F,yBAAyB;AACzB,OAAO,EAAE,QAAQ,EAAsB,WAAW,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAI7G,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,YAAY,GACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,+BAA+B,EAAyB,MAAM,oBAAoB,CAAC;AAExH,8DAA8D;AAC9D,cAAc,WAAW,CAAC;AAE1B,YAAY;AACZ,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ObjectIdApi } from "../api";
|
|
2
|
+
import type { IotaAddressString, ObjectIdString } from "../types/types";
|
|
3
|
+
export type CreateComponentParams = {
|
|
4
|
+
creditToken: ObjectIdString;
|
|
5
|
+
controllerCap: ObjectIdString;
|
|
6
|
+
object: ObjectIdString;
|
|
7
|
+
component_id: IotaAddressString;
|
|
8
|
+
description: string;
|
|
9
|
+
};
|
|
10
|
+
export declare function create_component(api: ObjectIdApi, params: CreateComponentParams): Promise<import("..").TxExecResult>;
|
|
11
|
+
export type DeleteComponentParams = {
|
|
12
|
+
creditToken: ObjectIdString;
|
|
13
|
+
controllerCap: ObjectIdString;
|
|
14
|
+
object: ObjectIdString;
|
|
15
|
+
component: ObjectIdString;
|
|
16
|
+
};
|
|
17
|
+
export declare function delete_component(api: ObjectIdApi, params: DeleteComponentParams): Promise<import("..").TxExecResult>;
|
|
18
|
+
//# sourceMappingURL=component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/methods/component.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAExE,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,cAAc,CAAC;IAC5B,aAAa,EAAE,cAAc,CAAC;IAC9B,MAAM,EAAE,cAAc,CAAC;IACvB,YAAY,EAAE,iBAAiB,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,qBAAqB,sCA+BrF;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,cAAc,CAAC;IAC5B,aAAa,EAAE,cAAc,CAAC;IAC9B,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,qBAAqB,sCA8BrF"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Transaction } from "@iota/iota-sdk/transactions";
|
|
2
|
+
import { signAndExecute } from "../utils/tx";
|
|
3
|
+
export async function create_component(api, params) {
|
|
4
|
+
const { creditToken, controllerCap, object, component_id, description } = params;
|
|
5
|
+
const env = await api.env();
|
|
6
|
+
const gasBudget = api.gasBudget;
|
|
7
|
+
const tx = new Transaction();
|
|
8
|
+
const moveFunction = env.packageID + "::oid_object::create_component";
|
|
9
|
+
tx.moveCall({
|
|
10
|
+
arguments: [
|
|
11
|
+
tx.object(creditToken),
|
|
12
|
+
tx.object(env.policy),
|
|
13
|
+
tx.object(controllerCap),
|
|
14
|
+
tx.object(object),
|
|
15
|
+
tx.pure.address(component_id),
|
|
16
|
+
tx.pure.string(String(description ?? "")),
|
|
17
|
+
],
|
|
18
|
+
target: moveFunction,
|
|
19
|
+
});
|
|
20
|
+
tx.setGasBudget(10_000_000);
|
|
21
|
+
tx.setSender(env.sender);
|
|
22
|
+
const r = await signAndExecute(env.client, env.keyPair, tx, {
|
|
23
|
+
network: env.network,
|
|
24
|
+
gasBudget,
|
|
25
|
+
useGasStation: api.useGasStation,
|
|
26
|
+
gasStation: api.gasStation,
|
|
27
|
+
onExecuted: api.onTxExecuted,
|
|
28
|
+
});
|
|
29
|
+
return r;
|
|
30
|
+
}
|
|
31
|
+
export async function delete_component(api, params) {
|
|
32
|
+
const { creditToken, controllerCap, object, component } = params;
|
|
33
|
+
const env = await api.env();
|
|
34
|
+
const gasBudget = api.gasBudget;
|
|
35
|
+
const tx = new Transaction();
|
|
36
|
+
const moveFunction = env.packageID + "::oid_object::delete_component";
|
|
37
|
+
tx.moveCall({
|
|
38
|
+
arguments: [
|
|
39
|
+
tx.object(creditToken),
|
|
40
|
+
tx.object(env.policy),
|
|
41
|
+
tx.object(controllerCap),
|
|
42
|
+
tx.object(object),
|
|
43
|
+
tx.object(component),
|
|
44
|
+
],
|
|
45
|
+
target: moveFunction,
|
|
46
|
+
});
|
|
47
|
+
tx.setGasBudget(10_000_000);
|
|
48
|
+
tx.setSender(env.sender);
|
|
49
|
+
const r = await signAndExecute(env.client, env.keyPair, tx, {
|
|
50
|
+
network: env.network,
|
|
51
|
+
gasBudget,
|
|
52
|
+
useGasStation: api.useGasStation,
|
|
53
|
+
gasStation: api.gasStation,
|
|
54
|
+
onExecuted: api.onTxExecuted,
|
|
55
|
+
});
|
|
56
|
+
return r;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/methods/component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ObjectIdApi } from "../api";
|
|
2
|
+
import type { JsonInput, ObjectIdString, U64Input } from "../types/types";
|
|
3
|
+
export type CreateCounterParams = {
|
|
4
|
+
creditToken: ObjectIdString;
|
|
5
|
+
controllerCap: ObjectIdString;
|
|
6
|
+
object: ObjectIdString;
|
|
7
|
+
value: U64Input;
|
|
8
|
+
unit: string;
|
|
9
|
+
step: U64Input;
|
|
10
|
+
immutable_metadata: JsonInput;
|
|
11
|
+
mutable_metadata: JsonInput;
|
|
12
|
+
};
|
|
13
|
+
export declare function create_counter(api: ObjectIdApi, params: CreateCounterParams): Promise<import("..").TxExecResult>;
|
|
14
|
+
export type DeleteCounterParams = {
|
|
15
|
+
creditToken: ObjectIdString;
|
|
16
|
+
controllerCap: ObjectIdString;
|
|
17
|
+
object: ObjectIdString;
|
|
18
|
+
counter: ObjectIdString;
|
|
19
|
+
};
|
|
20
|
+
export declare function delete_counter(api: ObjectIdApi, params: DeleteCounterParams): Promise<import("..").TxExecResult>;
|
|
21
|
+
export type CounterSetValueParams = {
|
|
22
|
+
creditToken: ObjectIdString;
|
|
23
|
+
controllerCap: ObjectIdString;
|
|
24
|
+
objectId: ObjectIdString;
|
|
25
|
+
counter: ObjectIdString;
|
|
26
|
+
new_value: U64Input;
|
|
27
|
+
};
|
|
28
|
+
export declare function counter_set_value(api: ObjectIdApi, params: CounterSetValueParams): Promise<import("..").TxExecResult>;
|
|
29
|
+
export type CounterStepParams = {
|
|
30
|
+
creditToken: ObjectIdString;
|
|
31
|
+
controllerCap: ObjectIdString;
|
|
32
|
+
objectId: ObjectIdString;
|
|
33
|
+
counter: ObjectIdString;
|
|
34
|
+
};
|
|
35
|
+
export declare function counter_stepdown(api: ObjectIdApi, params: CounterStepParams): Promise<import("..").TxExecResult>;
|
|
36
|
+
export type CounterStepUpParams = {
|
|
37
|
+
creditToken: ObjectIdString;
|
|
38
|
+
controllerCap: ObjectIdString;
|
|
39
|
+
object: ObjectIdString;
|
|
40
|
+
counter: ObjectIdString;
|
|
41
|
+
};
|
|
42
|
+
export declare function counter_stepup(api: ObjectIdApi, params: CounterStepUpParams): Promise<import("..").TxExecResult>;
|
|
43
|
+
//# sourceMappingURL=counter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"counter.d.ts","sourceRoot":"","sources":["../../src/methods/counter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG1C,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1E,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,cAAc,CAAC;IAC5B,aAAa,EAAE,cAAc,CAAC;IAC9B,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,QAAQ,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,kBAAkB,EAAE,SAAS,CAAC;IAC9B,gBAAgB,EAAE,SAAS,CAAC;CAC7B,CAAC;AAEF,wBAAsB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB,sCAkCjF;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,cAAc,CAAC;IAC5B,aAAa,EAAE,cAAc,CAAC;IAC9B,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF,wBAAsB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB,sCA8BjF;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,cAAc,CAAC;IAC5B,aAAa,EAAE,cAAc,CAAC;IAC9B,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,cAAc,CAAC;IACxB,SAAS,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,qBAAqB,sCA+BtF;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,cAAc,CAAC;IAC5B,aAAa,EAAE,cAAc,CAAC;IAC9B,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,sCA8BjF;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,cAAc,CAAC;IAC5B,aAAa,EAAE,cAAc,CAAC;IAC9B,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF,wBAAsB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB,sCA8BjF"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { Transaction } from "@iota/iota-sdk/transactions";
|
|
2
|
+
import { asJsonString } from "../env";
|
|
3
|
+
import { signAndExecute } from "../utils/tx";
|
|
4
|
+
export async function create_counter(api, params) {
|
|
5
|
+
const { creditToken, controllerCap, object, value, unit, step, immutable_metadata, mutable_metadata } = params;
|
|
6
|
+
const env = await api.env();
|
|
7
|
+
const gasBudget = api.gasBudget;
|
|
8
|
+
const tx = new Transaction();
|
|
9
|
+
const moveFunction = env.packageID + "::oid_object::create_counter";
|
|
10
|
+
tx.moveCall({
|
|
11
|
+
arguments: [
|
|
12
|
+
tx.object(creditToken),
|
|
13
|
+
tx.object(env.policy),
|
|
14
|
+
tx.object(controllerCap),
|
|
15
|
+
tx.pure.address(object),
|
|
16
|
+
tx.pure.u64(value),
|
|
17
|
+
tx.pure.string(String(unit ?? "")),
|
|
18
|
+
tx.pure.u64(step),
|
|
19
|
+
tx.pure.string(asJsonString(immutable_metadata)),
|
|
20
|
+
tx.pure.string(asJsonString(mutable_metadata)),
|
|
21
|
+
],
|
|
22
|
+
target: moveFunction,
|
|
23
|
+
});
|
|
24
|
+
tx.setGasBudget(10_000_000);
|
|
25
|
+
tx.setSender(env.sender);
|
|
26
|
+
const r = await signAndExecute(env.client, env.keyPair, tx, {
|
|
27
|
+
network: env.network,
|
|
28
|
+
gasBudget,
|
|
29
|
+
useGasStation: api.useGasStation,
|
|
30
|
+
gasStation: api.gasStation,
|
|
31
|
+
onExecuted: api.onTxExecuted,
|
|
32
|
+
});
|
|
33
|
+
return r;
|
|
34
|
+
}
|
|
35
|
+
export async function delete_counter(api, params) {
|
|
36
|
+
const { creditToken, controllerCap, object, counter } = params;
|
|
37
|
+
const env = await api.env();
|
|
38
|
+
const gasBudget = api.gasBudget;
|
|
39
|
+
const tx = new Transaction();
|
|
40
|
+
const moveFunction = env.packageID + "::oid_object::delete_counter";
|
|
41
|
+
tx.moveCall({
|
|
42
|
+
arguments: [
|
|
43
|
+
tx.object(creditToken),
|
|
44
|
+
tx.object(env.policy),
|
|
45
|
+
tx.object(controllerCap),
|
|
46
|
+
tx.object(object),
|
|
47
|
+
tx.object(counter),
|
|
48
|
+
],
|
|
49
|
+
target: moveFunction,
|
|
50
|
+
});
|
|
51
|
+
tx.setGasBudget(10_000_000);
|
|
52
|
+
tx.setSender(env.sender);
|
|
53
|
+
const r = await signAndExecute(env.client, env.keyPair, tx, {
|
|
54
|
+
network: env.network,
|
|
55
|
+
gasBudget,
|
|
56
|
+
useGasStation: api.useGasStation,
|
|
57
|
+
gasStation: api.gasStation,
|
|
58
|
+
onExecuted: api.onTxExecuted,
|
|
59
|
+
});
|
|
60
|
+
return r;
|
|
61
|
+
}
|
|
62
|
+
export async function counter_set_value(api, params) {
|
|
63
|
+
const { creditToken, controllerCap, objectId, counter, new_value } = params;
|
|
64
|
+
const env = await api.env();
|
|
65
|
+
const gasBudget = api.gasBudget;
|
|
66
|
+
const tx = new Transaction();
|
|
67
|
+
const moveFunction = env.packageID + "::oid_object::counter_set_value";
|
|
68
|
+
tx.moveCall({
|
|
69
|
+
arguments: [
|
|
70
|
+
tx.object(creditToken),
|
|
71
|
+
tx.object(env.policy),
|
|
72
|
+
tx.object(controllerCap),
|
|
73
|
+
tx.object(objectId),
|
|
74
|
+
tx.object(counter),
|
|
75
|
+
tx.pure.u64(new_value),
|
|
76
|
+
],
|
|
77
|
+
target: moveFunction,
|
|
78
|
+
});
|
|
79
|
+
tx.setGasBudget(10_000_000);
|
|
80
|
+
tx.setSender(env.sender);
|
|
81
|
+
const r = await signAndExecute(env.client, env.keyPair, tx, {
|
|
82
|
+
network: env.network,
|
|
83
|
+
gasBudget,
|
|
84
|
+
useGasStation: api.useGasStation,
|
|
85
|
+
gasStation: api.gasStation,
|
|
86
|
+
onExecuted: api.onTxExecuted,
|
|
87
|
+
});
|
|
88
|
+
return r;
|
|
89
|
+
}
|
|
90
|
+
export async function counter_stepdown(api, params) {
|
|
91
|
+
const { creditToken, controllerCap, objectId, counter } = params;
|
|
92
|
+
const env = await api.env();
|
|
93
|
+
const gasBudget = api.gasBudget;
|
|
94
|
+
const tx = new Transaction();
|
|
95
|
+
const moveFunction = env.packageID + "::oid_object::counter_stepdown";
|
|
96
|
+
tx.moveCall({
|
|
97
|
+
arguments: [
|
|
98
|
+
tx.object(creditToken),
|
|
99
|
+
tx.object(env.policy),
|
|
100
|
+
tx.object(controllerCap),
|
|
101
|
+
tx.object(objectId),
|
|
102
|
+
tx.object(counter),
|
|
103
|
+
],
|
|
104
|
+
target: moveFunction,
|
|
105
|
+
});
|
|
106
|
+
tx.setGasBudget(10_000_000);
|
|
107
|
+
tx.setSender(env.sender);
|
|
108
|
+
const r = await signAndExecute(env.client, env.keyPair, tx, {
|
|
109
|
+
network: env.network,
|
|
110
|
+
gasBudget,
|
|
111
|
+
useGasStation: api.useGasStation,
|
|
112
|
+
gasStation: api.gasStation,
|
|
113
|
+
onExecuted: api.onTxExecuted,
|
|
114
|
+
});
|
|
115
|
+
return r;
|
|
116
|
+
}
|
|
117
|
+
export async function counter_stepup(api, params) {
|
|
118
|
+
const { creditToken, controllerCap, object, counter } = params;
|
|
119
|
+
const env = await api.env();
|
|
120
|
+
const gasBudget = api.gasBudget;
|
|
121
|
+
const tx = new Transaction();
|
|
122
|
+
const moveFunction = env.packageID + "::oid_object::counter_stepup";
|
|
123
|
+
tx.moveCall({
|
|
124
|
+
arguments: [
|
|
125
|
+
tx.object(creditToken),
|
|
126
|
+
tx.object(env.policy),
|
|
127
|
+
tx.object(controllerCap),
|
|
128
|
+
tx.object(object),
|
|
129
|
+
tx.object(counter),
|
|
130
|
+
],
|
|
131
|
+
target: moveFunction,
|
|
132
|
+
});
|
|
133
|
+
tx.setGasBudget(10_000_000);
|
|
134
|
+
tx.setSender(env.sender);
|
|
135
|
+
const r = await signAndExecute(env.client, env.keyPair, tx, {
|
|
136
|
+
network: env.network,
|
|
137
|
+
gasBudget,
|
|
138
|
+
useGasStation: api.useGasStation,
|
|
139
|
+
gasStation: api.gasStation,
|
|
140
|
+
onExecuted: api.onTxExecuted,
|
|
141
|
+
});
|
|
142
|
+
return r;
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=counter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"counter.js","sourceRoot":"","sources":["../../src/methods/counter.ts"],"names":[],"mappings":"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"}
|