@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.
Files changed (189) hide show
  1. package/README.md +67 -0
  2. package/dist/api.d.ts +30 -0
  3. package/dist/api.d.ts.map +1 -0
  4. package/dist/api.js +41 -0
  5. package/dist/api.js.map +1 -0
  6. package/dist/env.d.ts +28 -0
  7. package/dist/env.d.ts.map +1 -0
  8. package/dist/env.js +114 -0
  9. package/dist/env.js.map +1 -0
  10. package/dist/index.d.ts +11 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +12 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/methods/component.d.ts +18 -0
  15. package/dist/methods/component.d.ts.map +1 -0
  16. package/dist/methods/component.js +58 -0
  17. package/dist/methods/component.js.map +1 -0
  18. package/dist/methods/counter.d.ts +43 -0
  19. package/dist/methods/counter.d.ts.map +1 -0
  20. package/dist/methods/counter.js +144 -0
  21. package/dist/methods/counter.js.map +1 -0
  22. package/dist/methods/document.d.ts +90 -0
  23. package/dist/methods/document.d.ts.map +1 -0
  24. package/dist/methods/document.js +332 -0
  25. package/dist/methods/document.js.map +1 -0
  26. package/dist/methods/event.d.ts +26 -0
  27. package/dist/methods/event.d.ts.map +1 -0
  28. package/dist/methods/event.js +107 -0
  29. package/dist/methods/event.js.map +1 -0
  30. package/dist/methods/index.d.ts +7 -0
  31. package/dist/methods/index.d.ts.map +1 -0
  32. package/dist/methods/index.js +7 -0
  33. package/dist/methods/index.js.map +1 -0
  34. package/dist/methods/object.d.ts +74 -0
  35. package/dist/methods/object.d.ts.map +1 -0
  36. package/dist/methods/object.js +293 -0
  37. package/dist/methods/object.js.map +1 -0
  38. package/dist/methods/objectMessages.d.ts +30 -0
  39. package/dist/methods/objectMessages.d.ts.map +1 -0
  40. package/dist/methods/objectMessages.js +144 -0
  41. package/dist/methods/objectMessages.js.map +1 -0
  42. package/dist/methods.d.ts +2 -0
  43. package/dist/methods.d.ts.map +1 -0
  44. package/dist/methods.js +2 -0
  45. package/dist/methods.js.map +1 -0
  46. package/dist/oid/caps.d.ts +8 -0
  47. package/dist/oid/caps.d.ts.map +1 -0
  48. package/dist/oid/caps.js +61 -0
  49. package/dist/oid/caps.js.map +1 -0
  50. package/dist/oid/credit.d.ts +7 -0
  51. package/dist/oid/credit.d.ts.map +1 -0
  52. package/dist/oid/credit.js +48 -0
  53. package/dist/oid/credit.js.map +1 -0
  54. package/dist/oid/graphql.d.ts +4 -0
  55. package/dist/oid/graphql.d.ts.map +1 -0
  56. package/dist/oid/graphql.js +69 -0
  57. package/dist/oid/graphql.js.map +1 -0
  58. package/dist/oid/index.d.ts +92 -0
  59. package/dist/oid/index.d.ts.map +1 -0
  60. package/dist/oid/index.js +378 -0
  61. package/dist/oid/index.js.map +1 -0
  62. package/dist/oid/ownedObjects.d.ts +9 -0
  63. package/dist/oid/ownedObjects.d.ts.map +1 -0
  64. package/dist/oid/ownedObjects.js +38 -0
  65. package/dist/oid/ownedObjects.js.map +1 -0
  66. package/dist/onchain/config.d.ts +37 -0
  67. package/dist/onchain/config.d.ts.map +1 -0
  68. package/dist/onchain/config.js +109 -0
  69. package/dist/onchain/config.js.map +1 -0
  70. package/dist/onchain/defaults.d.ts +13 -0
  71. package/dist/onchain/defaults.d.ts.map +1 -0
  72. package/dist/onchain/defaults.js +17 -0
  73. package/dist/onchain/defaults.js.map +1 -0
  74. package/dist/onchain/getObjects.d.ts +17 -0
  75. package/dist/onchain/getObjects.d.ts.map +1 -0
  76. package/dist/onchain/getObjects.js +112 -0
  77. package/dist/onchain/getObjects.js.map +1 -0
  78. package/dist/onchain/identity.d.ts +2 -0
  79. package/dist/onchain/identity.d.ts.map +1 -0
  80. package/dist/onchain/identity.js +9 -0
  81. package/dist/onchain/identity.js.map +1 -0
  82. package/dist/react/ObjectIdProvider.d.ts +53 -0
  83. package/dist/react/ObjectIdProvider.d.ts.map +1 -0
  84. package/dist/react/ObjectIdProvider.js +431 -0
  85. package/dist/react/ObjectIdProvider.js.map +1 -0
  86. package/dist/react/index.d.ts +4 -0
  87. package/dist/react/index.d.ts.map +1 -0
  88. package/dist/react/index.js +3 -0
  89. package/dist/react/index.js.map +1 -0
  90. package/dist/types/documentData.d.ts +25 -0
  91. package/dist/types/documentData.d.ts.map +1 -0
  92. package/dist/types/documentData.js +2 -0
  93. package/dist/types/documentData.js.map +1 -0
  94. package/dist/types/objectData.d.ts +24 -0
  95. package/dist/types/objectData.d.ts.map +1 -0
  96. package/dist/types/objectData.js +2 -0
  97. package/dist/types/objectData.js.map +1 -0
  98. package/dist/types/types.d.ts +65 -0
  99. package/dist/types/types.d.ts.map +1 -0
  100. package/dist/types/types.js +2 -0
  101. package/dist/types/types.js.map +1 -0
  102. package/dist/utils/geolocation.d.ts +1 -0
  103. package/dist/utils/geolocation.d.ts.map +1 -0
  104. package/dist/utils/geolocation.js +2 -0
  105. package/dist/utils/geolocation.js.map +1 -0
  106. package/dist/utils/getObject.d.ts +3 -0
  107. package/dist/utils/getObject.d.ts.map +1 -0
  108. package/dist/utils/getObject.js +18 -0
  109. package/dist/utils/getObject.js.map +1 -0
  110. package/dist/utils/getObjectData.d.ts +4 -0
  111. package/dist/utils/getObjectData.d.ts.map +1 -0
  112. package/dist/utils/getObjectData.js +26 -0
  113. package/dist/utils/getObjectData.js.map +1 -0
  114. package/dist/utils/graphql.d.ts +3 -0
  115. package/dist/utils/graphql.d.ts.map +1 -0
  116. package/dist/utils/graphql.js +35 -0
  117. package/dist/utils/graphql.js.map +1 -0
  118. package/dist/utils/tx.d.ts +21 -0
  119. package/dist/utils/tx.d.ts.map +1 -0
  120. package/dist/utils/tx.js +125 -0
  121. package/dist/utils/tx.js.map +1 -0
  122. package/dist/utils/url.d.ts +10 -0
  123. package/dist/utils/url.d.ts.map +1 -0
  124. package/dist/utils/url.js +24 -0
  125. package/dist/utils/url.js.map +1 -0
  126. package/dist-cjs/api.js +44 -0
  127. package/dist-cjs/api.js.map +1 -0
  128. package/dist-cjs/env.js +118 -0
  129. package/dist-cjs/env.js.map +1 -0
  130. package/dist-cjs/index.js +44 -0
  131. package/dist-cjs/index.js.map +1 -0
  132. package/dist-cjs/methods/component.js +62 -0
  133. package/dist-cjs/methods/component.js.map +1 -0
  134. package/dist-cjs/methods/counter.js +151 -0
  135. package/dist-cjs/methods/counter.js.map +1 -0
  136. package/dist-cjs/methods/document.js +348 -0
  137. package/dist-cjs/methods/document.js.map +1 -0
  138. package/dist-cjs/methods/event.js +112 -0
  139. package/dist-cjs/methods/event.js.map +1 -0
  140. package/dist-cjs/methods/index.js +23 -0
  141. package/dist-cjs/methods/index.js.map +1 -0
  142. package/dist-cjs/methods/object.js +305 -0
  143. package/dist-cjs/methods/object.js.map +1 -0
  144. package/dist-cjs/methods/objectMessages.js +151 -0
  145. package/dist-cjs/methods/objectMessages.js.map +1 -0
  146. package/dist-cjs/methods.js +18 -0
  147. package/dist-cjs/methods.js.map +1 -0
  148. package/dist-cjs/oid/caps.js +65 -0
  149. package/dist-cjs/oid/caps.js.map +1 -0
  150. package/dist-cjs/oid/credit.js +51 -0
  151. package/dist-cjs/oid/credit.js.map +1 -0
  152. package/dist-cjs/oid/graphql.js +73 -0
  153. package/dist-cjs/oid/graphql.js.map +1 -0
  154. package/dist-cjs/oid/index.js +381 -0
  155. package/dist-cjs/oid/index.js.map +1 -0
  156. package/dist-cjs/oid/ownedObjects.js +41 -0
  157. package/dist-cjs/oid/ownedObjects.js.map +1 -0
  158. package/dist-cjs/onchain/config.js +118 -0
  159. package/dist-cjs/onchain/config.js.map +1 -0
  160. package/dist-cjs/onchain/defaults.js +20 -0
  161. package/dist-cjs/onchain/defaults.js.map +1 -0
  162. package/dist-cjs/onchain/getObjects.js +117 -0
  163. package/dist-cjs/onchain/getObjects.js.map +1 -0
  164. package/dist-cjs/onchain/identity.js +10 -0
  165. package/dist-cjs/onchain/identity.js.map +1 -0
  166. package/dist-cjs/package.json +3 -0
  167. package/dist-cjs/react/ObjectIdProvider.js +437 -0
  168. package/dist-cjs/react/ObjectIdProvider.js.map +1 -0
  169. package/dist-cjs/react/index.js +10 -0
  170. package/dist-cjs/react/index.js.map +1 -0
  171. package/dist-cjs/types/documentData.js +3 -0
  172. package/dist-cjs/types/documentData.js.map +1 -0
  173. package/dist-cjs/types/objectData.js +3 -0
  174. package/dist-cjs/types/objectData.js.map +1 -0
  175. package/dist-cjs/types/types.js +3 -0
  176. package/dist-cjs/types/types.js.map +1 -0
  177. package/dist-cjs/utils/geolocation.js +2 -0
  178. package/dist-cjs/utils/geolocation.js.map +1 -0
  179. package/dist-cjs/utils/getObject.js +21 -0
  180. package/dist-cjs/utils/getObject.js.map +1 -0
  181. package/dist-cjs/utils/getObjectData.js +29 -0
  182. package/dist-cjs/utils/getObjectData.js.map +1 -0
  183. package/dist-cjs/utils/graphql.js +38 -0
  184. package/dist-cjs/utils/graphql.js.map +1 -0
  185. package/dist-cjs/utils/tx.js +128 -0
  186. package/dist-cjs/utils/tx.js.map +1 -0
  187. package/dist-cjs/utils/url.js +27 -0
  188. package/dist-cjs/utils/url.js.map +1 -0
  189. package/package.json +61 -0
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=geolocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geolocation.js","sourceRoot":"","sources":["../../src/utils/geolocation.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getObject = getObject;
4
+ async function getObject(client, id) {
5
+ if (!id)
6
+ return {};
7
+ const { data } = await client.getObject({
8
+ id,
9
+ options: {
10
+ showType: true,
11
+ showOwner: true,
12
+ showPreviousTransaction: false,
13
+ showDisplay: true,
14
+ showContent: true,
15
+ showBcs: true,
16
+ showStorageRebate: false,
17
+ },
18
+ });
19
+ return data;
20
+ }
21
+ //# sourceMappingURL=getObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getObject.js","sourceRoot":"","sources":["../../src/utils/getObject.ts"],"names":[],"mappings":";;AAEA,8BAgBC;AAhBM,KAAK,UAAU,SAAS,CAAC,MAAkB,EAAE,EAAU;IAC5D,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IAEnB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC;QACtC,EAAE;QACF,OAAO,EAAE;YACP,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,uBAAuB,EAAE,KAAK;YAC9B,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,IAAI;YACb,iBAAiB,EAAE,KAAK;SACzB;KACF,CAAC,CAAC;IACH,OAAO,IAAsB,CAAC;AAChC,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getObjectData = getObjectData;
4
+ const getObject_1 = require("./getObject");
5
+ const debug = false;
6
+ async function getObjectData(client, network, oid) {
7
+ try {
8
+ const localNetwork = network === "testnet" ? "testnet" : "mainnet";
9
+ const object = (await (0, getObject_1.getObject)(client, oid));
10
+ if (object && object.content?.fields) {
11
+ return {
12
+ fields: object.content.fields,
13
+ type: object.type,
14
+ id: oid,
15
+ network: localNetwork,
16
+ };
17
+ }
18
+ else {
19
+ console.warn(`Object ${oid} on network ${localNetwork} found, but content or fields are missing.`);
20
+ return null;
21
+ }
22
+ }
23
+ catch (error) {
24
+ if (debug)
25
+ console.error(`Error fetching or processing object ${oid} on network ${network}:`, error);
26
+ return null;
27
+ }
28
+ }
29
+ //# sourceMappingURL=getObjectData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getObjectData.js","sourceRoot":"","sources":["../../src/utils/getObjectData.ts"],"names":[],"mappings":";;AAMA,sCAqBC;AAzBD,2CAAwC;AAExC,MAAM,KAAK,GAAG,KAAK,CAAC;AAEb,KAAK,UAAU,aAAa,CAAC,MAAkB,EAAE,OAAe,EAAE,GAAW;IAClF,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnE,MAAM,MAAM,GAAG,CAAC,MAAM,IAAA,qBAAS,EAAC,MAAM,EAAE,GAAG,CAAC,CAAQ,CAAC;QAErD,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACrC,OAAO;gBACL,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;gBAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,EAAE,EAAE,GAAG;gBACP,OAAO,EAAE,YAAY;aACtB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,eAAe,YAAY,4CAA4C,CAAC,CAAC;YACnG,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,uCAAuC,GAAG,eAAe,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;QACrG,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.searchObjectsByType = searchObjectsByType;
4
+ async function searchObjectsByType(type, after, graphqlProvider) {
5
+ const query = `
6
+ query ($type: String!, $after: String) {
7
+ objects(filter: { type: $type }, after: $after) {
8
+ edges {
9
+ cursor
10
+ node {
11
+ address
12
+ asMoveObject {
13
+ contents {
14
+ type { repr }
15
+ data
16
+ }
17
+ }
18
+ }
19
+ }
20
+ pageInfo { hasNextPage endCursor }
21
+ }
22
+ }`;
23
+ const resp = await fetch(graphqlProvider, {
24
+ method: "POST",
25
+ headers: { "content-type": "application/json" },
26
+ body: JSON.stringify({ query, variables: { type, after } }),
27
+ });
28
+ const json = await resp.json();
29
+ if (!resp.ok)
30
+ throw Object.assign(new Error(`GraphQL HTTP ${resp.status}`), { status: resp.status, json });
31
+ if (json.errors)
32
+ throw Object.assign(new Error("GraphQL errors"), { errors: json.errors });
33
+ const edges = json?.data?.objects?.edges;
34
+ if (!edges)
35
+ throw new Error("No data returned from the GraphQL query.");
36
+ return edges;
37
+ }
38
+ //# sourceMappingURL=graphql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../src/utils/graphql.ts"],"names":[],"mappings":";;AAEA,kDAqCC;AArCM,KAAK,UAAU,mBAAmB,CACvC,IAAY,EACZ,KAAoB,EACpB,eAAuB;IAEvB,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;IAiBZ,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE;QACxC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;KAC5D,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3G,IAAI,IAAI,CAAC,MAAM;QAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAE3F,MAAM,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC;IACzC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACxE,OAAO,KAAqB,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.signAndExecute = signAndExecute;
4
+ /**
5
+ * Browser-safe Uint8Array -> base64 encoding (no Buffer).
6
+ */
7
+ function u8ToB64(u8) {
8
+ let s = "";
9
+ const chunk = 0x8000;
10
+ for (let i = 0; i < u8.length; i += chunk) {
11
+ s += String.fromCharCode(...u8.subarray(i, i + chunk));
12
+ }
13
+ return btoa(s);
14
+ }
15
+ async function postJson(url, token, body) {
16
+ const res = await fetch(url, {
17
+ method: "POST",
18
+ headers: {
19
+ "content-type": "application/json",
20
+ ...(token ? { Authorization: `Bearer ${token}` } : {}),
21
+ },
22
+ body: JSON.stringify(body ?? {}),
23
+ });
24
+ const text = await res.text();
25
+ const data = text ? JSON.parse(text) : null;
26
+ if (!res.ok)
27
+ throw Object.assign(new Error(`HTTP ${res.status}`), { status: res.status, data });
28
+ return data;
29
+ }
30
+ async function reserveGas(gasBudget, gasStationUrl, gasStationToken) {
31
+ const resp = await postJson(`${gasStationUrl}/v1/reserve_gas`, gasStationToken, {
32
+ gas_budget: gasBudget,
33
+ reserve_duration_secs: 10,
34
+ });
35
+ return resp?.result;
36
+ }
37
+ async function sponsorSignAndSubmit(reservationId, txBytes, userSig, gasStationUrl, gasStationToken) {
38
+ const resp = await postJson(`${gasStationUrl}/v1/execute_tx`, gasStationToken, {
39
+ reservation_id: reservationId,
40
+ tx_bytes: u8ToB64(txBytes),
41
+ user_sig: userSig,
42
+ });
43
+ return resp?.effects;
44
+ }
45
+ async function attemptWithGasStation(network, client, keyPair, tx, gasBudget, gasStationUrl, gasStationToken) {
46
+ const reserved = await reserveGas(gasBudget, gasStationUrl, gasStationToken);
47
+ tx.setSender(keyPair.toIotaAddress());
48
+ tx.setGasOwner(reserved.sponsor_address);
49
+ tx.setGasPayment(reserved.gas_coins);
50
+ tx.setGasBudget(gasBudget);
51
+ const unsignedTxBytes = await tx.build({ client });
52
+ const signedTx = await keyPair.signTransaction(unsignedTxBytes);
53
+ const userSig = signedTx.signature;
54
+ const effects = await sponsorSignAndSubmit(reserved.reservation_id, unsignedTxBytes, userSig, gasStationUrl, gasStationToken);
55
+ const txEffect = {
56
+ digest: effects.transactionDigest,
57
+ effects,
58
+ };
59
+ const status = txEffect.effects?.status;
60
+ const ok = status?.status === "success";
61
+ return {
62
+ success: !!ok,
63
+ txDigest: txEffect.digest,
64
+ status,
65
+ error: ok ? undefined : status?.error,
66
+ txEffect,
67
+ };
68
+ }
69
+ /**
70
+ * Signs and executes a transaction.
71
+ * - If useGasStation=true, tries gasStation1 then gasStation2 (if provided).
72
+ * - If useGasStation=false, executes directly with user's gas.
73
+ */
74
+ async function signAndExecute(client, keyPair, tx, opts) {
75
+ let res = { success: false, error: new Error("Unknown error") };
76
+ try {
77
+ if (opts.useGasStation) {
78
+ const gs = opts.gasStation;
79
+ if (!gs?.gasStation1URL || !gs?.gasStation1Token) {
80
+ throw new Error("useGasStation=true but gasStation config is missing.");
81
+ }
82
+ try {
83
+ res = await attemptWithGasStation(opts.network, client, keyPair, tx, opts.gasBudget, gs.gasStation1URL, gs.gasStation1Token);
84
+ }
85
+ catch (e1) {
86
+ if (gs.gasStation2URL && gs.gasStation2Token) {
87
+ res = await attemptWithGasStation(opts.network, client, keyPair, tx, opts.gasBudget, gs.gasStation2URL, gs.gasStation2Token);
88
+ }
89
+ else {
90
+ throw e1;
91
+ }
92
+ }
93
+ return res;
94
+ }
95
+ // Direct execution (user pays gas)
96
+ const result = await client.signAndExecuteTransaction({
97
+ signer: keyPair,
98
+ transaction: tx,
99
+ });
100
+ const txEffect = await client.waitForTransaction({
101
+ digest: result.digest,
102
+ options: { showEffects: true },
103
+ });
104
+ const status = txEffect.effects?.status;
105
+ const ok = status?.status === "success";
106
+ res = {
107
+ success: !!ok,
108
+ txDigest: txEffect.digest,
109
+ status,
110
+ error: ok ? undefined : status?.error,
111
+ txEffect,
112
+ };
113
+ return res;
114
+ }
115
+ catch (error) {
116
+ res = { success: false, error };
117
+ return res;
118
+ }
119
+ finally {
120
+ try {
121
+ opts.onExecuted?.(res);
122
+ }
123
+ catch {
124
+ // ignore listener errors
125
+ }
126
+ }
127
+ }
128
+ //# sourceMappingURL=tx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx.js","sourceRoot":"","sources":["../../src/utils/tx.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ensureTrailingSlashForOriginOnly = ensureTrailingSlashForOriginOnly;
4
+ /**
5
+ * If `input` is a valid absolute URL and represents only an origin (no path/query/hash),
6
+ * ensure it ends with a trailing slash.
7
+ *
8
+ * Why: some Move modules compare prefixes using std::string::substring with the on-chain
9
+ * linked_domain length. If linked_domain is stored with a trailing slash ("https://x/")
10
+ * but the client passes "https://x", substring(0, linked_len) will abort out-of-bounds.
11
+ */
12
+ function ensureTrailingSlashForOriginOnly(input) {
13
+ const s = String(input ?? "").trim();
14
+ if (!s)
15
+ return s;
16
+ try {
17
+ const u = new URL(s);
18
+ const isOriginOnly = u.pathname === "/" && !u.search && !u.hash;
19
+ if (isOriginOnly && !s.endsWith("/"))
20
+ return s + "/";
21
+ }
22
+ catch {
23
+ // Not a URL; return as-is.
24
+ }
25
+ return s;
26
+ }
27
+ //# sourceMappingURL=url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/utils/url.ts"],"names":[],"mappings":";;AAQA,4EAaC;AArBD;;;;;;;GAOG;AACH,SAAgB,gCAAgC,CAAC,KAAc;IAC7D,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAEjB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,YAAY,GAAG,CAAC,CAAC,QAAQ,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAChE,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,GAAG,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC"}
package/package.json ADDED
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "@objectid/oid-provider",
3
+ "version": "1.0.6",
4
+ "description": "Client-side ObjectID Provider SDK: executes Move calls directly (no backend).",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "main": "./dist-cjs/index.js",
8
+ "module": "./dist/index.js",
9
+ "types": "./dist/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js",
14
+ "require": "./dist-cjs/index.js"
15
+ },
16
+ "./react": {
17
+ "types": "./dist/react/index.d.ts",
18
+ "import": "./dist/react/index.js",
19
+ "require": "./dist-cjs/react/index.js"
20
+ }
21
+ },
22
+ "files": [
23
+ "dist",
24
+ "dist-cjs",
25
+ "README.md"
26
+ ],
27
+ "sideEffects": false,
28
+ "scripts": {
29
+ "build": "node scripts/build.mjs",
30
+ "prepublishOnly": "npm run build"
31
+ },
32
+ "publishConfig": {
33
+ "registry": "https://registry.npmjs.org/",
34
+ "access": "public"
35
+ },
36
+ "peerDependencies": {
37
+ "@iota/identity-wasm": "^1.8.0-beta.2",
38
+ "react": "^18.0.0 || ^19.0.0"
39
+ },
40
+ "peerDependenciesMeta": {
41
+ "react": {
42
+ "optional": true
43
+ }
44
+ },
45
+ "dependencies": {
46
+ "@iota/iota-sdk": "^1.0.0",
47
+ "@objectid-io/oid-provider": "^1.0.1",
48
+ "axios": "^1.13.2",
49
+ "open-location-code-typescript": "^1.5.0"
50
+ },
51
+ "devDependencies": {
52
+ "@iota/identity-wasm": "^1.8.0-beta.2",
53
+ "@types/react": "^18.3.5",
54
+ "react": "^18.3.1",
55
+ "typescript": "^5.5.4"
56
+ },
57
+ "repository": {
58
+ "type": "git",
59
+ "url": "git+https://github.com/ObjectID-io/oid-provider.git"
60
+ }
61
+ }