@mysten/sui 1.2.1 → 1.3.1

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 (190) hide show
  1. package/CHANGELOG.md +210 -84
  2. package/README.md +0 -44
  3. package/dist/cjs/bcs/bcs.d.ts +2 -2
  4. package/dist/cjs/bcs/bcs.js.map +2 -2
  5. package/dist/cjs/bcs/index.d.ts +20 -20
  6. package/dist/cjs/bcs/type-tag-serializer.js.map +1 -1
  7. package/dist/cjs/client/client.d.ts +5 -2
  8. package/dist/cjs/client/client.js +5 -0
  9. package/dist/cjs/client/client.js.map +2 -2
  10. package/dist/cjs/client/http-transport.js +14 -28
  11. package/dist/cjs/client/http-transport.js.map +1 -1
  12. package/dist/cjs/client/network.js.map +1 -1
  13. package/dist/cjs/client/rpc-websocket-client.d.ts +1 -8
  14. package/dist/cjs/client/rpc-websocket-client.js +14 -31
  15. package/dist/cjs/client/rpc-websocket-client.js.map +1 -1
  16. package/dist/cjs/cryptography/publickey.js +1 -2
  17. package/dist/cjs/cryptography/publickey.js.map +1 -1
  18. package/dist/cjs/faucet/faucet.js.map +1 -1
  19. package/dist/cjs/graphql/client.js +11 -22
  20. package/dist/cjs/graphql/client.js.map +2 -2
  21. package/dist/cjs/graphql/schemas/2024.1/index.d.ts +681 -681
  22. package/dist/cjs/graphql/schemas/2024.4/index.d.ts +682 -682
  23. package/dist/cjs/keypairs/ed25519/keypair.js.map +1 -1
  24. package/dist/cjs/keypairs/ed25519/publickey.js.map +1 -1
  25. package/dist/cjs/keypairs/secp256k1/publickey.js.map +1 -1
  26. package/dist/cjs/keypairs/secp256r1/publickey.js.map +1 -1
  27. package/dist/cjs/multisig/publickey.js.map +1 -1
  28. package/dist/cjs/multisig/signer.js +9 -20
  29. package/dist/cjs/multisig/signer.js.map +1 -1
  30. package/dist/cjs/transactions/Arguments.d.ts +988 -0
  31. package/dist/cjs/transactions/Arguments.js +32 -0
  32. package/dist/cjs/transactions/Arguments.js.map +7 -0
  33. package/dist/cjs/transactions/Commands.d.ts +19 -72
  34. package/dist/cjs/transactions/Commands.js.map +1 -1
  35. package/dist/cjs/transactions/ObjectCache.d.ts +1 -4
  36. package/dist/cjs/transactions/ObjectCache.js +8 -19
  37. package/dist/cjs/transactions/ObjectCache.js.map +1 -1
  38. package/dist/cjs/transactions/Transaction.d.ts +47 -49
  39. package/dist/cjs/transactions/Transaction.js +25 -51
  40. package/dist/cjs/transactions/Transaction.js.map +2 -2
  41. package/dist/cjs/transactions/TransactionData.d.ts +2 -2
  42. package/dist/cjs/transactions/TransactionData.js.map +2 -2
  43. package/dist/cjs/transactions/data/internal.d.ts +447 -2128
  44. package/dist/cjs/transactions/data/internal.js +32 -29
  45. package/dist/cjs/transactions/data/internal.js.map +2 -2
  46. package/dist/cjs/transactions/data/v1.d.ts +288 -1818
  47. package/dist/cjs/transactions/data/v1.js +80 -80
  48. package/dist/cjs/transactions/data/v1.js.map +2 -2
  49. package/dist/cjs/transactions/data/v2.d.ts +24 -192
  50. package/dist/cjs/transactions/data/v2.js +3 -3
  51. package/dist/cjs/transactions/data/v2.js.map +2 -2
  52. package/dist/cjs/transactions/executor/caching.d.ts +1 -0
  53. package/dist/cjs/transactions/executor/caching.js +23 -22
  54. package/dist/cjs/transactions/executor/caching.js.map +2 -2
  55. package/dist/cjs/transactions/executor/parallel.d.ts +1 -0
  56. package/dist/cjs/transactions/executor/parallel.js +36 -60
  57. package/dist/cjs/transactions/executor/parallel.js.map +2 -2
  58. package/dist/cjs/transactions/executor/queue.js +6 -13
  59. package/dist/cjs/transactions/executor/queue.js.map +1 -1
  60. package/dist/cjs/transactions/executor/serial.d.ts +2 -1
  61. package/dist/cjs/transactions/executor/serial.js +14 -40
  62. package/dist/cjs/transactions/executor/serial.js.map +2 -2
  63. package/dist/cjs/transactions/hash.js.map +1 -1
  64. package/dist/cjs/transactions/index.d.ts +1 -0
  65. package/dist/cjs/transactions/index.js +2 -2
  66. package/dist/cjs/transactions/index.js.map +2 -2
  67. package/dist/cjs/transactions/intents/CoinWithBalance.js.map +2 -2
  68. package/dist/cjs/transactions/json-rpc-resolver.js +4 -2
  69. package/dist/cjs/transactions/json-rpc-resolver.js.map +2 -2
  70. package/dist/cjs/transactions/pure.d.ts +25 -182
  71. package/dist/cjs/transactions/pure.js +58 -12
  72. package/dist/cjs/transactions/pure.js.map +3 -3
  73. package/dist/cjs/transactions/serializer.js.map +1 -1
  74. package/dist/cjs/utils/constants.js.map +1 -1
  75. package/dist/cjs/utils/format.js.map +1 -1
  76. package/dist/cjs/utils/sui-types.js +1 -2
  77. package/dist/cjs/utils/sui-types.js.map +2 -2
  78. package/dist/cjs/utils/suins.js.map +1 -1
  79. package/dist/cjs/verify/verify.js.map +1 -1
  80. package/dist/cjs/version.d.ts +2 -2
  81. package/dist/cjs/version.js +2 -2
  82. package/dist/cjs/version.js.map +1 -1
  83. package/dist/cjs/zklogin/jwt-utils.js.map +1 -1
  84. package/dist/cjs/zklogin/publickey.js +11 -22
  85. package/dist/cjs/zklogin/publickey.js.map +1 -1
  86. package/dist/esm/bcs/bcs.d.ts +2 -2
  87. package/dist/esm/bcs/bcs.js.map +2 -2
  88. package/dist/esm/bcs/index.d.ts +20 -20
  89. package/dist/esm/bcs/type-tag-serializer.js.map +1 -1
  90. package/dist/esm/client/client.d.ts +5 -2
  91. package/dist/esm/client/client.js +5 -0
  92. package/dist/esm/client/client.js.map +2 -2
  93. package/dist/esm/client/http-transport.js +13 -27
  94. package/dist/esm/client/http-transport.js.map +1 -1
  95. package/dist/esm/client/network.js.map +1 -1
  96. package/dist/esm/client/rpc-websocket-client.d.ts +1 -8
  97. package/dist/esm/client/rpc-websocket-client.js +13 -30
  98. package/dist/esm/client/rpc-websocket-client.js.map +1 -1
  99. package/dist/esm/cryptography/publickey.js +1 -2
  100. package/dist/esm/cryptography/publickey.js.map +1 -1
  101. package/dist/esm/faucet/faucet.js.map +1 -1
  102. package/dist/esm/graphql/client.js +10 -21
  103. package/dist/esm/graphql/client.js.map +2 -2
  104. package/dist/esm/graphql/schemas/2024.1/index.d.ts +681 -681
  105. package/dist/esm/graphql/schemas/2024.4/index.d.ts +682 -682
  106. package/dist/esm/keypairs/ed25519/keypair.js.map +1 -1
  107. package/dist/esm/keypairs/ed25519/publickey.js.map +1 -1
  108. package/dist/esm/keypairs/secp256k1/publickey.js.map +1 -1
  109. package/dist/esm/keypairs/secp256r1/publickey.js.map +1 -1
  110. package/dist/esm/multisig/publickey.js.map +1 -1
  111. package/dist/esm/multisig/signer.js +8 -19
  112. package/dist/esm/multisig/signer.js.map +1 -1
  113. package/dist/esm/transactions/Arguments.d.ts +988 -0
  114. package/dist/esm/transactions/Arguments.js +12 -0
  115. package/dist/esm/transactions/Arguments.js.map +7 -0
  116. package/dist/esm/transactions/Commands.d.ts +19 -72
  117. package/dist/esm/transactions/Commands.js.map +1 -1
  118. package/dist/esm/transactions/ObjectCache.d.ts +1 -4
  119. package/dist/esm/transactions/ObjectCache.js +7 -18
  120. package/dist/esm/transactions/ObjectCache.js.map +1 -1
  121. package/dist/esm/transactions/Transaction.d.ts +47 -49
  122. package/dist/esm/transactions/Transaction.js +24 -50
  123. package/dist/esm/transactions/Transaction.js.map +2 -2
  124. package/dist/esm/transactions/TransactionData.d.ts +2 -2
  125. package/dist/esm/transactions/TransactionData.js.map +2 -2
  126. package/dist/esm/transactions/data/internal.d.ts +447 -2128
  127. package/dist/esm/transactions/data/internal.js +35 -31
  128. package/dist/esm/transactions/data/internal.js.map +2 -2
  129. package/dist/esm/transactions/data/v1.d.ts +288 -1818
  130. package/dist/esm/transactions/data/v1.js +83 -82
  131. package/dist/esm/transactions/data/v1.js.map +2 -2
  132. package/dist/esm/transactions/data/v2.d.ts +24 -192
  133. package/dist/esm/transactions/data/v2.js +4 -3
  134. package/dist/esm/transactions/data/v2.js.map +2 -2
  135. package/dist/esm/transactions/executor/caching.d.ts +1 -0
  136. package/dist/esm/transactions/executor/caching.js +22 -21
  137. package/dist/esm/transactions/executor/caching.js.map +2 -2
  138. package/dist/esm/transactions/executor/parallel.d.ts +1 -0
  139. package/dist/esm/transactions/executor/parallel.js +35 -59
  140. package/dist/esm/transactions/executor/parallel.js.map +2 -2
  141. package/dist/esm/transactions/executor/queue.js +5 -12
  142. package/dist/esm/transactions/executor/queue.js.map +1 -1
  143. package/dist/esm/transactions/executor/serial.d.ts +2 -1
  144. package/dist/esm/transactions/executor/serial.js +13 -39
  145. package/dist/esm/transactions/executor/serial.js.map +2 -2
  146. package/dist/esm/transactions/hash.js.map +1 -1
  147. package/dist/esm/transactions/index.d.ts +1 -0
  148. package/dist/esm/transactions/index.js +2 -2
  149. package/dist/esm/transactions/index.js.map +2 -2
  150. package/dist/esm/transactions/intents/CoinWithBalance.js.map +2 -2
  151. package/dist/esm/transactions/json-rpc-resolver.js +4 -2
  152. package/dist/esm/transactions/json-rpc-resolver.js.map +2 -2
  153. package/dist/esm/transactions/pure.d.ts +25 -182
  154. package/dist/esm/transactions/pure.js +48 -2
  155. package/dist/esm/transactions/pure.js.map +2 -2
  156. package/dist/esm/transactions/serializer.js.map +1 -1
  157. package/dist/esm/utils/constants.js.map +1 -1
  158. package/dist/esm/utils/format.js.map +1 -1
  159. package/dist/esm/utils/sui-types.js +1 -2
  160. package/dist/esm/utils/sui-types.js.map +2 -2
  161. package/dist/esm/utils/suins.js.map +1 -1
  162. package/dist/esm/verify/verify.js.map +1 -1
  163. package/dist/esm/version.d.ts +2 -2
  164. package/dist/esm/version.js +2 -2
  165. package/dist/esm/version.js.map +1 -1
  166. package/dist/esm/zklogin/jwt-utils.js.map +1 -1
  167. package/dist/esm/zklogin/publickey.js +10 -21
  168. package/dist/esm/zklogin/publickey.js.map +1 -1
  169. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  170. package/dist/tsconfig.tsbuildinfo +1 -1
  171. package/package.json +26 -26
  172. package/src/bcs/bcs.ts +2 -2
  173. package/src/client/client.ts +7 -4
  174. package/src/graphql/client.ts +1 -1
  175. package/src/transactions/Arguments.ts +23 -0
  176. package/src/transactions/Commands.ts +12 -12
  177. package/src/transactions/Transaction.ts +11 -11
  178. package/src/transactions/TransactionData.ts +4 -2
  179. package/src/transactions/data/internal.ts +52 -47
  180. package/src/transactions/data/v1.ts +102 -100
  181. package/src/transactions/data/v2.ts +9 -8
  182. package/src/transactions/executor/caching.ts +14 -2
  183. package/src/transactions/executor/parallel.ts +5 -1
  184. package/src/transactions/executor/serial.ts +3 -10
  185. package/src/transactions/index.ts +2 -0
  186. package/src/transactions/intents/CoinWithBalance.ts +2 -2
  187. package/src/transactions/json-rpc-resolver.ts +5 -1
  188. package/src/transactions/pure.ts +106 -4
  189. package/src/utils/sui-types.ts +1 -1
  190. package/src/version.ts +2 -2
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/bcs/type-tag-serializer.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { splitGenericParameters } from '@mysten/bcs';\n\nimport { normalizeSuiAddress } from '../utils/sui-types.js';\nimport type { TypeTag } from './types.js';\n\nconst VECTOR_REGEX = /^vector<(.+)>$/;\nconst STRUCT_REGEX = /^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/;\n\nexport class TypeTagSerializer {\n\tstatic parseFromStr(str: string, normalizeAddress = false): TypeTag {\n\t\tif (str === 'address') {\n\t\t\treturn { address: null };\n\t\t} else if (str === 'bool') {\n\t\t\treturn { bool: null };\n\t\t} else if (str === 'u8') {\n\t\t\treturn { u8: null };\n\t\t} else if (str === 'u16') {\n\t\t\treturn { u16: null };\n\t\t} else if (str === 'u32') {\n\t\t\treturn { u32: null };\n\t\t} else if (str === 'u64') {\n\t\t\treturn { u64: null };\n\t\t} else if (str === 'u128') {\n\t\t\treturn { u128: null };\n\t\t} else if (str === 'u256') {\n\t\t\treturn { u256: null };\n\t\t} else if (str === 'signer') {\n\t\t\treturn { signer: null };\n\t\t}\n\n\t\tconst vectorMatch = str.match(VECTOR_REGEX);\n\t\tif (vectorMatch) {\n\t\t\treturn {\n\t\t\t\tvector: TypeTagSerializer.parseFromStr(vectorMatch[1], normalizeAddress),\n\t\t\t};\n\t\t}\n\n\t\tconst structMatch = str.match(STRUCT_REGEX);\n\t\tif (structMatch) {\n\t\t\tconst address = normalizeAddress ? normalizeSuiAddress(structMatch[1]) : structMatch[1];\n\t\t\treturn {\n\t\t\t\tstruct: {\n\t\t\t\t\taddress,\n\t\t\t\t\tmodule: structMatch[2],\n\t\t\t\t\tname: structMatch[3],\n\t\t\t\t\ttypeParams:\n\t\t\t\t\t\tstructMatch[5] === undefined\n\t\t\t\t\t\t\t? []\n\t\t\t\t\t\t\t: TypeTagSerializer.parseStructTypeArgs(structMatch[5], normalizeAddress),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tthrow new Error(`Encountered unexpected token when parsing type args for ${str}`);\n\t}\n\n\tstatic parseStructTypeArgs(str: string, normalizeAddress = false): TypeTag[] {\n\t\treturn splitGenericParameters(str).map((tok) =>\n\t\t\tTypeTagSerializer.parseFromStr(tok, normalizeAddress),\n\t\t);\n\t}\n\n\tstatic tagToString(tag: TypeTag): string {\n\t\tif ('bool' in tag) {\n\t\t\treturn 'bool';\n\t\t}\n\t\tif ('u8' in tag) {\n\t\t\treturn 'u8';\n\t\t}\n\t\tif ('u16' in tag) {\n\t\t\treturn 'u16';\n\t\t}\n\t\tif ('u32' in tag) {\n\t\t\treturn 'u32';\n\t\t}\n\t\tif ('u64' in tag) {\n\t\t\treturn 'u64';\n\t\t}\n\t\tif ('u128' in tag) {\n\t\t\treturn 'u128';\n\t\t}\n\t\tif ('u256' in tag) {\n\t\t\treturn 'u256';\n\t\t}\n\t\tif ('address' in tag) {\n\t\t\treturn 'address';\n\t\t}\n\t\tif ('signer' in tag) {\n\t\t\treturn 'signer';\n\t\t}\n\t\tif ('vector' in tag) {\n\t\t\treturn `vector<${TypeTagSerializer.tagToString(tag.vector)}>`;\n\t\t}\n\t\tif ('struct' in tag) {\n\t\t\tconst struct = tag.struct;\n\t\t\tconst typeParams = struct.typeParams.map(TypeTagSerializer.tagToString).join(', ');\n\t\t\treturn `${struct.address}::${struct.module}::${struct.name}${\n\t\t\t\ttypeParams ? `<${typeParams}>` : ''\n\t\t\t}`;\n\t\t}\n\t\tthrow new Error('Invalid TypeTag');\n\t}\n}\n"],
5
- "mappings": "AAGA,SAAS,8BAA8B;AAEvC,SAAS,2BAA2B;AAGpC,MAAM,eAAe;AACrB,MAAM,eAAe;AAEd,MAAM,kBAAkB;AAAA,EAC9B,OAAO,aAAa,KAAa,mBAAmB,OAAgB;AACnE,QAAI,QAAQ,WAAW;AACtB,aAAO,EAAE,SAAS,KAAK;AAAA,IACxB,WAAW,QAAQ,QAAQ;AAC1B,aAAO,EAAE,MAAM,KAAK;AAAA,IACrB,WAAW,QAAQ,MAAM;AACxB,aAAO,EAAE,IAAI,KAAK;AAAA,IACnB,WAAW,QAAQ,OAAO;AACzB,aAAO,EAAE,KAAK,KAAK;AAAA,IACpB,WAAW,QAAQ,OAAO;AACzB,aAAO,EAAE,KAAK,KAAK;AAAA,IACpB,WAAW,QAAQ,OAAO;AACzB,aAAO,EAAE,KAAK,KAAK;AAAA,IACpB,WAAW,QAAQ,QAAQ;AAC1B,aAAO,EAAE,MAAM,KAAK;AAAA,IACrB,WAAW,QAAQ,QAAQ;AAC1B,aAAO,EAAE,MAAM,KAAK;AAAA,IACrB,WAAW,QAAQ,UAAU;AAC5B,aAAO,EAAE,QAAQ,KAAK;AAAA,IACvB;AAEA,UAAM,cAAc,IAAI,MAAM,YAAY;AAC1C,QAAI,aAAa;AAChB,aAAO;AAAA,QACN,QAAQ,kBAAkB,aAAa,YAAY,CAAC,GAAG,gBAAgB;AAAA,MACxE;AAAA,IACD;AAEA,UAAM,cAAc,IAAI,MAAM,YAAY;AAC1C,QAAI,aAAa;AAChB,YAAM,UAAU,mBAAmB,oBAAoB,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC;AACtF,aAAO;AAAA,QACN,QAAQ;AAAA,UACP;AAAA,UACA,QAAQ,YAAY,CAAC;AAAA,UACrB,MAAM,YAAY,CAAC;AAAA,UACnB,YACC,YAAY,CAAC,MAAM,SAChB,CAAC,IACD,kBAAkB,oBAAoB,YAAY,CAAC,GAAG,gBAAgB;AAAA,QAC3E;AAAA,MACD;AAAA,IACD;AAEA,UAAM,IAAI,MAAM,2DAA2D,KAAK;AAAA,EACjF;AAAA,EAEA,OAAO,oBAAoB,KAAa,mBAAmB,OAAkB;AAC5E,WAAO,uBAAuB,GAAG,EAAE;AAAA,MAAI,CAAC,QACvC,kBAAkB,aAAa,KAAK,gBAAgB;AAAA,IACrD;AAAA,EACD;AAAA,EAEA,OAAO,YAAY,KAAsB;AACxC,QAAI,UAAU,KAAK;AAClB,aAAO;AAAA,IACR;AACA,QAAI,QAAQ,KAAK;AAChB,aAAO;AAAA,IACR;AACA,QAAI,SAAS,KAAK;AACjB,aAAO;AAAA,IACR;AACA,QAAI,SAAS,KAAK;AACjB,aAAO;AAAA,IACR;AACA,QAAI,SAAS,KAAK;AACjB,aAAO;AAAA,IACR;AACA,QAAI,UAAU,KAAK;AAClB,aAAO;AAAA,IACR;AACA,QAAI,UAAU,KAAK;AAClB,aAAO;AAAA,IACR;AACA,QAAI,aAAa,KAAK;AACrB,aAAO;AAAA,IACR;AACA,QAAI,YAAY,KAAK;AACpB,aAAO;AAAA,IACR;AACA,QAAI,YAAY,KAAK;AACpB,aAAO,UAAU,kBAAkB,YAAY,IAAI,MAAM;AAAA,IAC1D;AACA,QAAI,YAAY,KAAK;AACpB,YAAM,SAAS,IAAI;AACnB,YAAM,aAAa,OAAO,WAAW,IAAI,kBAAkB,WAAW,EAAE,KAAK,IAAI;AACjF,aAAO,GAAG,OAAO,YAAY,OAAO,WAAW,OAAO,OACrD,aAAa,IAAI,gBAAgB;AAAA,IAEnC;AACA,UAAM,IAAI,MAAM,iBAAiB;AAAA,EAClC;AACD;",
5
+ "mappings": "AAGA,SAAS,8BAA8B;AAEvC,SAAS,2BAA2B;AAGpC,MAAM,eAAe;AACrB,MAAM,eAAe;AAEd,MAAM,kBAAkB;AAAA,EAC9B,OAAO,aAAa,KAAa,mBAAmB,OAAgB;AACnE,QAAI,QAAQ,WAAW;AACtB,aAAO,EAAE,SAAS,KAAK;AAAA,IACxB,WAAW,QAAQ,QAAQ;AAC1B,aAAO,EAAE,MAAM,KAAK;AAAA,IACrB,WAAW,QAAQ,MAAM;AACxB,aAAO,EAAE,IAAI,KAAK;AAAA,IACnB,WAAW,QAAQ,OAAO;AACzB,aAAO,EAAE,KAAK,KAAK;AAAA,IACpB,WAAW,QAAQ,OAAO;AACzB,aAAO,EAAE,KAAK,KAAK;AAAA,IACpB,WAAW,QAAQ,OAAO;AACzB,aAAO,EAAE,KAAK,KAAK;AAAA,IACpB,WAAW,QAAQ,QAAQ;AAC1B,aAAO,EAAE,MAAM,KAAK;AAAA,IACrB,WAAW,QAAQ,QAAQ;AAC1B,aAAO,EAAE,MAAM,KAAK;AAAA,IACrB,WAAW,QAAQ,UAAU;AAC5B,aAAO,EAAE,QAAQ,KAAK;AAAA,IACvB;AAEA,UAAM,cAAc,IAAI,MAAM,YAAY;AAC1C,QAAI,aAAa;AAChB,aAAO;AAAA,QACN,QAAQ,kBAAkB,aAAa,YAAY,CAAC,GAAG,gBAAgB;AAAA,MACxE;AAAA,IACD;AAEA,UAAM,cAAc,IAAI,MAAM,YAAY;AAC1C,QAAI,aAAa;AAChB,YAAM,UAAU,mBAAmB,oBAAoB,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC;AACtF,aAAO;AAAA,QACN,QAAQ;AAAA,UACP;AAAA,UACA,QAAQ,YAAY,CAAC;AAAA,UACrB,MAAM,YAAY,CAAC;AAAA,UACnB,YACC,YAAY,CAAC,MAAM,SAChB,CAAC,IACD,kBAAkB,oBAAoB,YAAY,CAAC,GAAG,gBAAgB;AAAA,QAC3E;AAAA,MACD;AAAA,IACD;AAEA,UAAM,IAAI,MAAM,2DAA2D,GAAG,EAAE;AAAA,EACjF;AAAA,EAEA,OAAO,oBAAoB,KAAa,mBAAmB,OAAkB;AAC5E,WAAO,uBAAuB,GAAG,EAAE;AAAA,MAAI,CAAC,QACvC,kBAAkB,aAAa,KAAK,gBAAgB;AAAA,IACrD;AAAA,EACD;AAAA,EAEA,OAAO,YAAY,KAAsB;AACxC,QAAI,UAAU,KAAK;AAClB,aAAO;AAAA,IACR;AACA,QAAI,QAAQ,KAAK;AAChB,aAAO;AAAA,IACR;AACA,QAAI,SAAS,KAAK;AACjB,aAAO;AAAA,IACR;AACA,QAAI,SAAS,KAAK;AACjB,aAAO;AAAA,IACR;AACA,QAAI,SAAS,KAAK;AACjB,aAAO;AAAA,IACR;AACA,QAAI,UAAU,KAAK;AAClB,aAAO;AAAA,IACR;AACA,QAAI,UAAU,KAAK;AAClB,aAAO;AAAA,IACR;AACA,QAAI,aAAa,KAAK;AACrB,aAAO;AAAA,IACR;AACA,QAAI,YAAY,KAAK;AACpB,aAAO;AAAA,IACR;AACA,QAAI,YAAY,KAAK;AACpB,aAAO,UAAU,kBAAkB,YAAY,IAAI,MAAM,CAAC;AAAA,IAC3D;AACA,QAAI,YAAY,KAAK;AACpB,YAAM,SAAS,IAAI;AACnB,YAAM,aAAa,OAAO,WAAW,IAAI,kBAAkB,WAAW,EAAE,KAAK,IAAI;AACjF,aAAO,GAAG,OAAO,OAAO,KAAK,OAAO,MAAM,KAAK,OAAO,IAAI,GACzD,aAAa,IAAI,UAAU,MAAM,EAClC;AAAA,IACD;AACA,UAAM,IAAI,MAAM,iBAAiB;AAAA,EAClC;AACD;",
6
6
  "names": []
7
7
  }
@@ -23,11 +23,9 @@ type NetworkOrTransport = {
23
23
  transport: SuiTransport;
24
24
  url?: never;
25
25
  };
26
- declare const SUI_CLIENT_BRAND: unique symbol;
27
26
  export declare function isSuiClient(client: unknown): client is SuiClient;
28
27
  export declare class SuiClient {
29
28
  protected transport: SuiTransport;
30
- get [SUI_CLIENT_BRAND](): boolean;
31
29
  /**
32
30
  * Establish a connection to a Sui RPC endpoint
33
31
  *
@@ -136,11 +134,16 @@ export declare class SuiClient {
136
134
  queryEvents(input: QueryEventsParams): Promise<PaginatedEvents>;
137
135
  /**
138
136
  * Subscribe to get notifications whenever an event matching the filter occurs
137
+ *
138
+ * @deprecated
139
139
  */
140
140
  subscribeEvent(input: SubscribeEventParams & {
141
141
  /** function to run when we receive a notification of a new event matching the filter */
142
142
  onMessage: (event: SuiEvent) => void;
143
143
  }): Promise<Unsubscribe>;
144
+ /**
145
+ * @deprecated
146
+ */
144
147
  subscribeTransaction(input: SubscribeTransactionParams & {
145
148
  /** function to run when we receive a notification of a new event matching the filter */
146
149
  onMessage: (event: TransactionEffects) => void;
@@ -341,6 +341,8 @@ class SuiClient {
341
341
  }
342
342
  /**
343
343
  * Subscribe to get notifications whenever an event matching the filter occurs
344
+ *
345
+ * @deprecated
344
346
  */
345
347
  async subscribeEvent(input) {
346
348
  return this.transport.subscribe({
@@ -350,6 +352,9 @@ class SuiClient {
350
352
  onMessage: input.onMessage
351
353
  });
352
354
  }
355
+ /**
356
+ * @deprecated
357
+ */
353
358
  async subscribeTransaction(input) {
354
359
  return this.transport.subscribe({
355
360
  method: "suix_subscribeTransaction",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/client/client.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport { fromB58, toB64, toHEX } from '@mysten/bcs';\n\nimport type { Signer } from '../cryptography/index.js';\nimport type { Transaction } from '../transactions/index.js';\nimport { isTransaction } from '../transactions/index.js';\nimport {\n\tisValidSuiAddress,\n\tisValidSuiObjectId,\n\tisValidTransactionDigest,\n\tnormalizeSuiAddress,\n\tnormalizeSuiObjectId,\n} from '../utils/sui-types.js';\nimport { normalizeSuiNSName } from '../utils/suins.js';\nimport { SuiHTTPTransport } from './http-transport.js';\nimport type { SuiTransport } from './http-transport.js';\nimport type {\n\tAddressMetrics,\n\tAllEpochsAddressMetrics,\n\tCheckpoint,\n\tCheckpointPage,\n\tCoinBalance,\n\tCoinMetadata,\n\tCoinSupply,\n\tCommitteeInfo,\n\tDelegatedStake,\n\tDevInspectResults,\n\tDevInspectTransactionBlockParams,\n\tDryRunTransactionBlockParams,\n\tDryRunTransactionBlockResponse,\n\tDynamicFieldPage,\n\tEpochInfo,\n\tEpochMetricsPage,\n\tEpochPage,\n\tExecuteTransactionBlockParams,\n\tGetAllBalancesParams,\n\tGetAllCoinsParams,\n\tGetBalanceParams,\n\tGetCheckpointParams,\n\tGetCheckpointsParams,\n\tGetCoinMetadataParams,\n\tGetCoinsParams,\n\tGetCommitteeInfoParams,\n\tGetDynamicFieldObjectParams,\n\tGetDynamicFieldsParams,\n\tGetMoveFunctionArgTypesParams,\n\tGetNormalizedMoveFunctionParams,\n\tGetNormalizedMoveModuleParams,\n\tGetNormalizedMoveModulesByPackageParams,\n\tGetNormalizedMoveStructParams,\n\tGetObjectParams,\n\tGetOwnedObjectsParams,\n\tGetProtocolConfigParams,\n\tGetStakesByIdsParams,\n\tGetStakesParams,\n\tGetTotalSupplyParams,\n\tGetTransactionBlockParams,\n\tMoveCallMetrics,\n\tMultiGetObjectsParams,\n\tMultiGetTransactionBlocksParams,\n\tNetworkMetrics,\n\tObjectRead,\n\tOrder,\n\tPaginatedCoins,\n\tPaginatedEvents,\n\tPaginatedObjectsResponse,\n\tPaginatedTransactionResponse,\n\tProtocolConfig,\n\tQueryEventsParams,\n\tQueryTransactionBlocksParams,\n\tResolvedNameServiceNames,\n\tResolveNameServiceAddressParams,\n\tResolveNameServiceNamesParams,\n\tSubscribeEventParams,\n\tSubscribeTransactionParams,\n\tSuiEvent,\n\tSuiMoveFunctionArgType,\n\tSuiMoveNormalizedFunction,\n\tSuiMoveNormalizedModule,\n\tSuiMoveNormalizedModules,\n\tSuiMoveNormalizedStruct,\n\tSuiObjectResponse,\n\tSuiObjectResponseQuery,\n\tSuiSystemStateSummary,\n\tSuiTransactionBlockResponse,\n\tSuiTransactionBlockResponseQuery,\n\tTransactionEffects,\n\tTryGetPastObjectParams,\n\tUnsubscribe,\n\tValidatorsApy,\n} from './types/index.js';\n\nexport interface PaginationArguments<Cursor> {\n\t/** Optional paging cursor */\n\tcursor?: Cursor;\n\t/** Maximum item returned per page */\n\tlimit?: number | null;\n}\n\nexport interface OrderArguments {\n\torder?: Order | null;\n}\n\n/**\n * Configuration options for the SuiClient\n * You must provide either a `url` or a `transport`\n */\nexport type SuiClientOptions = NetworkOrTransport;\n\ntype NetworkOrTransport =\n\t| {\n\t\t\turl: string;\n\t\t\ttransport?: never;\n\t }\n\t| {\n\t\t\ttransport: SuiTransport;\n\t\t\turl?: never;\n\t };\n\nconst SUI_CLIENT_BRAND = Symbol.for('@mysten/SuiClient');\n\nexport function isSuiClient(client: unknown): client is SuiClient {\n\treturn (\n\t\ttypeof client === 'object' &&\n\t\tclient !== null &&\n\t\t(client as { [SUI_CLIENT_BRAND]: unknown })[SUI_CLIENT_BRAND] === true\n\t);\n}\n\nexport class SuiClient {\n\tprotected transport: SuiTransport;\n\n\tget [SUI_CLIENT_BRAND]() {\n\t\treturn true;\n\t}\n\n\t/**\n\t * Establish a connection to a Sui RPC endpoint\n\t *\n\t * @param options configuration options for the API Client\n\t */\n\tconstructor(options: SuiClientOptions) {\n\t\tthis.transport = options.transport ?? new SuiHTTPTransport({ url: options.url });\n\t}\n\n\tasync getRpcApiVersion(): Promise<string | undefined> {\n\t\tconst resp = await this.transport.request<{ info: { version: string } }>({\n\t\t\tmethod: 'rpc.discover',\n\t\t\tparams: [],\n\t\t});\n\n\t\treturn resp.info.version;\n\t}\n\n\t/**\n\t * Get all Coin<`coin_type`> objects owned by an address.\n\t */\n\tasync getCoins(input: GetCoinsParams): Promise<PaginatedCoins> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getCoins',\n\t\t\tparams: [input.owner, input.coinType, input.cursor, input.limit],\n\t\t});\n\t}\n\n\t/**\n\t * Get all Coin objects owned by an address.\n\t */\n\tasync getAllCoins(input: GetAllCoinsParams): Promise<PaginatedCoins> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getAllCoins',\n\t\t\tparams: [input.owner, input.cursor, input.limit],\n\t\t});\n\t}\n\n\t/**\n\t * Get the total coin balance for one coin type, owned by the address owner.\n\t */\n\tasync getBalance(input: GetBalanceParams): Promise<CoinBalance> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getBalance',\n\t\t\tparams: [input.owner, input.coinType],\n\t\t});\n\t}\n\n\t/**\n\t * Get the total coin balance for all coin types, owned by the address owner.\n\t */\n\tasync getAllBalances(input: GetAllBalancesParams): Promise<CoinBalance[]> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\t\treturn await this.transport.request({ method: 'suix_getAllBalances', params: [input.owner] });\n\t}\n\n\t/**\n\t * Fetch CoinMetadata for a given coin type\n\t */\n\tasync getCoinMetadata(input: GetCoinMetadataParams): Promise<CoinMetadata | null> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getCoinMetadata',\n\t\t\tparams: [input.coinType],\n\t\t});\n\t}\n\n\t/**\n\t * Fetch total supply for a coin\n\t */\n\tasync getTotalSupply(input: GetTotalSupplyParams): Promise<CoinSupply> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getTotalSupply',\n\t\t\tparams: [input.coinType],\n\t\t});\n\t}\n\n\t/**\n\t * Invoke any RPC method\n\t * @param method the method to be invoked\n\t * @param args the arguments to be passed to the RPC request\n\t */\n\tasync call<T = unknown>(method: string, params: unknown[]): Promise<T> {\n\t\treturn await this.transport.request({ method, params });\n\t}\n\n\t/**\n\t * Get Move function argument types like read, write and full access\n\t */\n\tasync getMoveFunctionArgTypes(\n\t\tinput: GetMoveFunctionArgTypesParams,\n\t): Promise<SuiMoveFunctionArgType[]> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getMoveFunctionArgTypes',\n\t\t\tparams: [input.package, input.module, input.function],\n\t\t});\n\t}\n\n\t/**\n\t * Get a map from module name to\n\t * structured representations of Move modules\n\t */\n\tasync getNormalizedMoveModulesByPackage(\n\t\tinput: GetNormalizedMoveModulesByPackageParams,\n\t): Promise<SuiMoveNormalizedModules> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveModulesByPackage',\n\t\t\tparams: [input.package],\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move module\n\t */\n\tasync getNormalizedMoveModule(\n\t\tinput: GetNormalizedMoveModuleParams,\n\t): Promise<SuiMoveNormalizedModule> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveModule',\n\t\t\tparams: [input.package, input.module],\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move function\n\t */\n\tasync getNormalizedMoveFunction(\n\t\tinput: GetNormalizedMoveFunctionParams,\n\t): Promise<SuiMoveNormalizedFunction> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveFunction',\n\t\t\tparams: [input.package, input.module, input.function],\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move struct\n\t */\n\tasync getNormalizedMoveStruct(\n\t\tinput: GetNormalizedMoveStructParams,\n\t): Promise<SuiMoveNormalizedStruct> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveStruct',\n\t\t\tparams: [input.package, input.module, input.struct],\n\t\t});\n\t}\n\n\t/**\n\t * Get all objects owned by an address\n\t */\n\tasync getOwnedObjects(input: GetOwnedObjectsParams): Promise<PaginatedObjectsResponse> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getOwnedObjects',\n\t\t\tparams: [\n\t\t\t\tinput.owner,\n\t\t\t\t{\n\t\t\t\t\tfilter: input.filter,\n\t\t\t\t\toptions: input.options,\n\t\t\t\t} as SuiObjectResponseQuery,\n\t\t\t\tinput.cursor,\n\t\t\t\tinput.limit,\n\t\t\t],\n\t\t});\n\t}\n\n\t/**\n\t * Get details about an object\n\t */\n\tasync getObject(input: GetObjectParams): Promise<SuiObjectResponse> {\n\t\tif (!input.id || !isValidSuiObjectId(normalizeSuiObjectId(input.id))) {\n\t\t\tthrow new Error('Invalid Sui Object id');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getObject',\n\t\t\tparams: [input.id, input.options],\n\t\t});\n\t}\n\n\tasync tryGetPastObject(input: TryGetPastObjectParams): Promise<ObjectRead> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_tryGetPastObject',\n\t\t\tparams: [input.id, input.version, input.options],\n\t\t});\n\t}\n\n\t/**\n\t * Batch get details about a list of objects. If any of the object ids are duplicates the call will fail\n\t */\n\tasync multiGetObjects(input: MultiGetObjectsParams): Promise<SuiObjectResponse[]> {\n\t\tinput.ids.forEach((id) => {\n\t\t\tif (!id || !isValidSuiObjectId(normalizeSuiObjectId(id))) {\n\t\t\t\tthrow new Error(`Invalid Sui Object id ${id}`);\n\t\t\t}\n\t\t});\n\t\tconst hasDuplicates = input.ids.length !== new Set(input.ids).size;\n\t\tif (hasDuplicates) {\n\t\t\tthrow new Error(`Duplicate object ids in batch call ${input.ids}`);\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_multiGetObjects',\n\t\t\tparams: [input.ids, input.options],\n\t\t});\n\t}\n\n\t/**\n\t * Get transaction blocks for a given query criteria\n\t */\n\tasync queryTransactionBlocks(\n\t\tinput: QueryTransactionBlocksParams,\n\t): Promise<PaginatedTransactionResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_queryTransactionBlocks',\n\t\t\tparams: [\n\t\t\t\t{\n\t\t\t\t\tfilter: input.filter,\n\t\t\t\t\toptions: input.options,\n\t\t\t\t} as SuiTransactionBlockResponseQuery,\n\t\t\t\tinput.cursor,\n\t\t\t\tinput.limit,\n\t\t\t\t(input.order || 'descending') === 'descending',\n\t\t\t],\n\t\t});\n\t}\n\n\tasync getTransactionBlock(\n\t\tinput: GetTransactionBlockParams,\n\t): Promise<SuiTransactionBlockResponse> {\n\t\tif (!isValidTransactionDigest(input.digest)) {\n\t\t\tthrow new Error('Invalid Transaction digest');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getTransactionBlock',\n\t\t\tparams: [input.digest, input.options],\n\t\t});\n\t}\n\n\tasync multiGetTransactionBlocks(\n\t\tinput: MultiGetTransactionBlocksParams,\n\t): Promise<SuiTransactionBlockResponse[]> {\n\t\tinput.digests.forEach((d) => {\n\t\t\tif (!isValidTransactionDigest(d)) {\n\t\t\t\tthrow new Error(`Invalid Transaction digest ${d}`);\n\t\t\t}\n\t\t});\n\n\t\tconst hasDuplicates = input.digests.length !== new Set(input.digests).size;\n\t\tif (hasDuplicates) {\n\t\t\tthrow new Error(`Duplicate digests in batch call ${input.digests}`);\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_multiGetTransactionBlocks',\n\t\t\tparams: [input.digests, input.options],\n\t\t});\n\t}\n\n\tasync executeTransactionBlock(\n\t\tinput: ExecuteTransactionBlockParams,\n\t): Promise<SuiTransactionBlockResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_executeTransactionBlock',\n\t\t\tparams: [\n\t\t\t\ttypeof input.transactionBlock === 'string'\n\t\t\t\t\t? input.transactionBlock\n\t\t\t\t\t: toB64(input.transactionBlock),\n\t\t\t\tArray.isArray(input.signature) ? input.signature : [input.signature],\n\t\t\t\tinput.options,\n\t\t\t\tinput.requestType,\n\t\t\t],\n\t\t});\n\t}\n\n\tasync signAndExecuteTransaction({\n\t\ttransaction,\n\t\tsigner,\n\t\t...input\n\t}: {\n\t\ttransaction: Uint8Array | Transaction;\n\t\tsigner: Signer;\n\t} & Omit<\n\t\tExecuteTransactionBlockParams,\n\t\t'transactionBlock' | 'signature'\n\t>): Promise<SuiTransactionBlockResponse> {\n\t\tlet transactionBytes;\n\n\t\tif (transaction instanceof Uint8Array) {\n\t\t\ttransactionBytes = transaction;\n\t\t} else {\n\t\t\ttransaction.setSenderIfNotSet(signer.toSuiAddress());\n\t\t\ttransactionBytes = await transaction.build({ client: this });\n\t\t}\n\n\t\tconst { signature, bytes } = await signer.signTransaction(transactionBytes);\n\n\t\treturn this.executeTransactionBlock({\n\t\t\ttransactionBlock: bytes,\n\t\t\tsignature,\n\t\t\t...input,\n\t\t});\n\t}\n\n\t/**\n\t * Get total number of transactions\n\t */\n\n\tasync getTotalTransactionBlocks(): Promise<bigint> {\n\t\tconst resp = await this.transport.request<string>({\n\t\t\tmethod: 'sui_getTotalTransactionBlocks',\n\t\t\tparams: [],\n\t\t});\n\t\treturn BigInt(resp);\n\t}\n\n\t/**\n\t * Getting the reference gas price for the network\n\t */\n\tasync getReferenceGasPrice(): Promise<bigint> {\n\t\tconst resp = await this.transport.request<string>({\n\t\t\tmethod: 'suix_getReferenceGasPrice',\n\t\t\tparams: [],\n\t\t});\n\t\treturn BigInt(resp);\n\t}\n\n\t/**\n\t * Return the delegated stakes for an address\n\t */\n\tasync getStakes(input: GetStakesParams): Promise<DelegatedStake[]> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\t\treturn await this.transport.request({ method: 'suix_getStakes', params: [input.owner] });\n\t}\n\n\t/**\n\t * Return the delegated stakes queried by id.\n\t */\n\tasync getStakesByIds(input: GetStakesByIdsParams): Promise<DelegatedStake[]> {\n\t\tinput.stakedSuiIds.forEach((id) => {\n\t\t\tif (!id || !isValidSuiObjectId(normalizeSuiObjectId(id))) {\n\t\t\t\tthrow new Error(`Invalid Sui Stake id ${id}`);\n\t\t\t}\n\t\t});\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getStakesByIds',\n\t\t\tparams: [input.stakedSuiIds],\n\t\t});\n\t}\n\n\t/**\n\t * Return the latest system state content.\n\t */\n\tasync getLatestSuiSystemState(): Promise<SuiSystemStateSummary> {\n\t\treturn await this.transport.request({ method: 'suix_getLatestSuiSystemState', params: [] });\n\t}\n\n\t/**\n\t * Get events for a given query criteria\n\t */\n\tasync queryEvents(input: QueryEventsParams): Promise<PaginatedEvents> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_queryEvents',\n\t\t\tparams: [\n\t\t\t\tinput.query,\n\t\t\t\tinput.cursor,\n\t\t\t\tinput.limit,\n\t\t\t\t(input.order || 'descending') === 'descending',\n\t\t\t],\n\t\t});\n\t}\n\n\t/**\n\t * Subscribe to get notifications whenever an event matching the filter occurs\n\t */\n\tasync subscribeEvent(\n\t\tinput: SubscribeEventParams & {\n\t\t\t/** function to run when we receive a notification of a new event matching the filter */\n\t\t\tonMessage: (event: SuiEvent) => void;\n\t\t},\n\t): Promise<Unsubscribe> {\n\t\treturn this.transport.subscribe({\n\t\t\tmethod: 'suix_subscribeEvent',\n\t\t\tunsubscribe: 'suix_unsubscribeEvent',\n\t\t\tparams: [input.filter],\n\t\t\tonMessage: input.onMessage,\n\t\t});\n\t}\n\n\tasync subscribeTransaction(\n\t\tinput: SubscribeTransactionParams & {\n\t\t\t/** function to run when we receive a notification of a new event matching the filter */\n\t\t\tonMessage: (event: TransactionEffects) => void;\n\t\t},\n\t): Promise<Unsubscribe> {\n\t\treturn this.transport.subscribe({\n\t\t\tmethod: 'suix_subscribeTransaction',\n\t\t\tunsubscribe: 'suix_unsubscribeTransaction',\n\t\t\tparams: [input.filter],\n\t\t\tonMessage: input.onMessage,\n\t\t});\n\t}\n\n\t/**\n\t * Runs the transaction block in dev-inspect mode. Which allows for nearly any\n\t * transaction (or Move call) with any arguments. Detailed results are\n\t * provided, including both the transaction effects and any return values.\n\t */\n\tasync devInspectTransactionBlock(\n\t\tinput: DevInspectTransactionBlockParams,\n\t): Promise<DevInspectResults> {\n\t\tlet devInspectTxBytes;\n\t\tif (isTransaction(input.transactionBlock)) {\n\t\t\tinput.transactionBlock.setSenderIfNotSet(input.sender);\n\t\t\tdevInspectTxBytes = toB64(\n\t\t\t\tawait input.transactionBlock.build({\n\t\t\t\t\tclient: this,\n\t\t\t\t\tonlyTransactionKind: true,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else if (typeof input.transactionBlock === 'string') {\n\t\t\tdevInspectTxBytes = input.transactionBlock;\n\t\t} else if (input.transactionBlock instanceof Uint8Array) {\n\t\t\tdevInspectTxBytes = toB64(input.transactionBlock);\n\t\t} else {\n\t\t\tthrow new Error('Unknown transaction block format.');\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_devInspectTransactionBlock',\n\t\t\tparams: [input.sender, devInspectTxBytes, input.gasPrice?.toString(), input.epoch],\n\t\t});\n\t}\n\n\t/**\n\t * Dry run a transaction block and return the result.\n\t */\n\tasync dryRunTransactionBlock(\n\t\tinput: DryRunTransactionBlockParams,\n\t): Promise<DryRunTransactionBlockResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_dryRunTransactionBlock',\n\t\t\tparams: [\n\t\t\t\ttypeof input.transactionBlock === 'string'\n\t\t\t\t\t? input.transactionBlock\n\t\t\t\t\t: toB64(input.transactionBlock),\n\t\t\t],\n\t\t});\n\t}\n\n\t/**\n\t * Return the list of dynamic field objects owned by an object\n\t */\n\tasync getDynamicFields(input: GetDynamicFieldsParams): Promise<DynamicFieldPage> {\n\t\tif (!input.parentId || !isValidSuiObjectId(normalizeSuiObjectId(input.parentId))) {\n\t\t\tthrow new Error('Invalid Sui Object id');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getDynamicFields',\n\t\t\tparams: [input.parentId, input.cursor, input.limit],\n\t\t});\n\t}\n\n\t/**\n\t * Return the dynamic field object information for a specified object\n\t */\n\tasync getDynamicFieldObject(input: GetDynamicFieldObjectParams): Promise<SuiObjectResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getDynamicFieldObject',\n\t\t\tparams: [input.parentId, input.name],\n\t\t});\n\t}\n\n\t/**\n\t * Get the sequence number of the latest checkpoint that has been executed\n\t */\n\tasync getLatestCheckpointSequenceNumber(): Promise<string> {\n\t\tconst resp = await this.transport.request({\n\t\t\tmethod: 'sui_getLatestCheckpointSequenceNumber',\n\t\t\tparams: [],\n\t\t});\n\t\treturn String(resp);\n\t}\n\n\t/**\n\t * Returns information about a given checkpoint\n\t */\n\tasync getCheckpoint(input: GetCheckpointParams): Promise<Checkpoint> {\n\t\treturn await this.transport.request({ method: 'sui_getCheckpoint', params: [input.id] });\n\t}\n\n\t/**\n\t * Returns historical checkpoints paginated\n\t */\n\tasync getCheckpoints(\n\t\tinput: PaginationArguments<CheckpointPage['nextCursor']> & GetCheckpointsParams,\n\t): Promise<CheckpointPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getCheckpoints',\n\t\t\tparams: [input.cursor, input?.limit, input.descendingOrder],\n\t\t});\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getCommitteeInfo(input?: GetCommitteeInfoParams): Promise<CommitteeInfo> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getCommitteeInfo',\n\t\t\tparams: [input?.epoch],\n\t\t});\n\t}\n\n\tasync getNetworkMetrics(): Promise<NetworkMetrics> {\n\t\treturn await this.transport.request({ method: 'suix_getNetworkMetrics', params: [] });\n\t}\n\n\tasync getAddressMetrics(): Promise<AddressMetrics> {\n\t\treturn await this.transport.request({ method: 'suix_getLatestAddressMetrics', params: [] });\n\t}\n\n\tasync getEpochMetrics(\n\t\tinput?: { descendingOrder?: boolean } & PaginationArguments<EpochMetricsPage['nextCursor']>,\n\t): Promise<EpochMetricsPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getEpochMetrics',\n\t\t\tparams: [input?.cursor, input?.limit, input?.descendingOrder],\n\t\t});\n\t}\n\n\tasync getAllEpochAddressMetrics(input?: {\n\t\tdescendingOrder?: boolean;\n\t}): Promise<AllEpochsAddressMetrics> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getAllEpochAddressMetrics',\n\t\t\tparams: [input?.descendingOrder],\n\t\t});\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getEpochs(\n\t\tinput?: {\n\t\t\tdescendingOrder?: boolean;\n\t\t} & PaginationArguments<EpochPage['nextCursor']>,\n\t): Promise<EpochPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getEpochs',\n\t\t\tparams: [input?.cursor, input?.limit, input?.descendingOrder],\n\t\t});\n\t}\n\n\t/**\n\t * Returns list of top move calls by usage\n\t */\n\tasync getMoveCallMetrics(): Promise<MoveCallMetrics> {\n\t\treturn await this.transport.request({ method: 'suix_getMoveCallMetrics', params: [] });\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getCurrentEpoch(): Promise<EpochInfo> {\n\t\treturn await this.transport.request({ method: 'suix_getCurrentEpoch', params: [] });\n\t}\n\n\t/**\n\t * Return the Validators APYs\n\t */\n\tasync getValidatorsApy(): Promise<ValidatorsApy> {\n\t\treturn await this.transport.request({ method: 'suix_getValidatorsApy', params: [] });\n\t}\n\n\t// TODO: Migrate this to `sui_getChainIdentifier` once it is widely available.\n\tasync getChainIdentifier(): Promise<string> {\n\t\tconst checkpoint = await this.getCheckpoint({ id: '0' });\n\t\tconst bytes = fromB58(checkpoint.digest);\n\t\treturn toHEX(bytes.slice(0, 4));\n\t}\n\n\tasync resolveNameServiceAddress(input: ResolveNameServiceAddressParams): Promise<string | null> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_resolveNameServiceAddress',\n\t\t\tparams: [input.name],\n\t\t});\n\t}\n\n\tasync resolveNameServiceNames({\n\t\tformat = 'dot',\n\t\t...input\n\t}: ResolveNameServiceNamesParams & {\n\t\tformat?: 'at' | 'dot';\n\t}): Promise<ResolvedNameServiceNames> {\n\t\tconst { nextCursor, hasNextPage, data }: ResolvedNameServiceNames =\n\t\t\tawait this.transport.request({\n\t\t\t\tmethod: 'suix_resolveNameServiceNames',\n\t\t\t\tparams: [input.address, input.cursor, input.limit],\n\t\t\t});\n\n\t\treturn {\n\t\t\thasNextPage,\n\t\t\tnextCursor,\n\t\t\tdata: data.map((name) => normalizeSuiNSName(name, format)),\n\t\t};\n\t}\n\n\tasync getProtocolConfig(input?: GetProtocolConfigParams): Promise<ProtocolConfig> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getProtocolConfig',\n\t\t\tparams: [input?.version],\n\t\t});\n\t}\n\n\t/**\n\t * Wait for a transaction block result to be available over the API.\n\t * This can be used in conjunction with `executeTransactionBlock` to wait for the transaction to\n\t * be available via the API.\n\t * This currently polls the `getTransactionBlock` API to check for the transaction.\n\t */\n\tasync waitForTransaction({\n\t\tsignal,\n\t\ttimeout = 60 * 1000,\n\t\tpollInterval = 2 * 1000,\n\t\t...input\n\t}: {\n\t\t/** An optional abort signal that can be used to cancel */\n\t\tsignal?: AbortSignal;\n\t\t/** The amount of time to wait for a transaction block. Defaults to one minute. */\n\t\ttimeout?: number;\n\t\t/** The amount of time to wait between checks for the transaction block. Defaults to 2 seconds. */\n\t\tpollInterval?: number;\n\t} & Parameters<SuiClient['getTransactionBlock']>[0]): Promise<SuiTransactionBlockResponse> {\n\t\tconst timeoutSignal = AbortSignal.timeout(timeout);\n\t\tconst timeoutPromise = new Promise((_, reject) => {\n\t\t\ttimeoutSignal.addEventListener('abort', () => reject(timeoutSignal.reason));\n\t\t});\n\n\t\ttimeoutPromise.catch(() => {\n\t\t\t// Swallow unhandled rejections that might be thrown after early return\n\t\t});\n\n\t\twhile (!timeoutSignal.aborted) {\n\t\t\tsignal?.throwIfAborted();\n\t\t\ttry {\n\t\t\t\treturn await this.getTransactionBlock(input);\n\t\t\t} catch (e) {\n\t\t\t\t// Wait for either the next poll interval, or the timeout.\n\t\t\t\tawait Promise.race([\n\t\t\t\t\tnew Promise((resolve) => setTimeout(resolve, pollInterval)),\n\t\t\t\t\ttimeoutPromise,\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\n\t\ttimeoutSignal.throwIfAborted();\n\n\t\t// This should never happen, because the above case should always throw, but just adding it in the event that something goes horribly wrong.\n\t\tthrow new Error('Unexpected error while waiting for transaction block.');\n\t}\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport { fromB58, toB64, toHEX } from '@mysten/bcs';\n\nimport type { Signer } from '../cryptography/index.js';\nimport type { Transaction } from '../transactions/index.js';\nimport { isTransaction } from '../transactions/index.js';\nimport {\n\tisValidSuiAddress,\n\tisValidSuiObjectId,\n\tisValidTransactionDigest,\n\tnormalizeSuiAddress,\n\tnormalizeSuiObjectId,\n} from '../utils/sui-types.js';\nimport { normalizeSuiNSName } from '../utils/suins.js';\nimport { SuiHTTPTransport } from './http-transport.js';\nimport type { SuiTransport } from './http-transport.js';\nimport type {\n\tAddressMetrics,\n\tAllEpochsAddressMetrics,\n\tCheckpoint,\n\tCheckpointPage,\n\tCoinBalance,\n\tCoinMetadata,\n\tCoinSupply,\n\tCommitteeInfo,\n\tDelegatedStake,\n\tDevInspectResults,\n\tDevInspectTransactionBlockParams,\n\tDryRunTransactionBlockParams,\n\tDryRunTransactionBlockResponse,\n\tDynamicFieldPage,\n\tEpochInfo,\n\tEpochMetricsPage,\n\tEpochPage,\n\tExecuteTransactionBlockParams,\n\tGetAllBalancesParams,\n\tGetAllCoinsParams,\n\tGetBalanceParams,\n\tGetCheckpointParams,\n\tGetCheckpointsParams,\n\tGetCoinMetadataParams,\n\tGetCoinsParams,\n\tGetCommitteeInfoParams,\n\tGetDynamicFieldObjectParams,\n\tGetDynamicFieldsParams,\n\tGetMoveFunctionArgTypesParams,\n\tGetNormalizedMoveFunctionParams,\n\tGetNormalizedMoveModuleParams,\n\tGetNormalizedMoveModulesByPackageParams,\n\tGetNormalizedMoveStructParams,\n\tGetObjectParams,\n\tGetOwnedObjectsParams,\n\tGetProtocolConfigParams,\n\tGetStakesByIdsParams,\n\tGetStakesParams,\n\tGetTotalSupplyParams,\n\tGetTransactionBlockParams,\n\tMoveCallMetrics,\n\tMultiGetObjectsParams,\n\tMultiGetTransactionBlocksParams,\n\tNetworkMetrics,\n\tObjectRead,\n\tOrder,\n\tPaginatedCoins,\n\tPaginatedEvents,\n\tPaginatedObjectsResponse,\n\tPaginatedTransactionResponse,\n\tProtocolConfig,\n\tQueryEventsParams,\n\tQueryTransactionBlocksParams,\n\tResolvedNameServiceNames,\n\tResolveNameServiceAddressParams,\n\tResolveNameServiceNamesParams,\n\tSubscribeEventParams,\n\tSubscribeTransactionParams,\n\tSuiEvent,\n\tSuiMoveFunctionArgType,\n\tSuiMoveNormalizedFunction,\n\tSuiMoveNormalizedModule,\n\tSuiMoveNormalizedModules,\n\tSuiMoveNormalizedStruct,\n\tSuiObjectResponse,\n\tSuiObjectResponseQuery,\n\tSuiSystemStateSummary,\n\tSuiTransactionBlockResponse,\n\tSuiTransactionBlockResponseQuery,\n\tTransactionEffects,\n\tTryGetPastObjectParams,\n\tUnsubscribe,\n\tValidatorsApy,\n} from './types/index.js';\n\nexport interface PaginationArguments<Cursor> {\n\t/** Optional paging cursor */\n\tcursor?: Cursor;\n\t/** Maximum item returned per page */\n\tlimit?: number | null;\n}\n\nexport interface OrderArguments {\n\torder?: Order | null;\n}\n\n/**\n * Configuration options for the SuiClient\n * You must provide either a `url` or a `transport`\n */\nexport type SuiClientOptions = NetworkOrTransport;\n\ntype NetworkOrTransport =\n\t| {\n\t\t\turl: string;\n\t\t\ttransport?: never;\n\t }\n\t| {\n\t\t\ttransport: SuiTransport;\n\t\t\turl?: never;\n\t };\n\nconst SUI_CLIENT_BRAND = Symbol.for('@mysten/SuiClient') as never;\n\nexport function isSuiClient(client: unknown): client is SuiClient {\n\treturn (\n\t\ttypeof client === 'object' && client !== null && (client as any)[SUI_CLIENT_BRAND] === true\n\t);\n}\n\nexport class SuiClient {\n\tprotected transport: SuiTransport;\n\n\tget [SUI_CLIENT_BRAND]() {\n\t\treturn true;\n\t}\n\n\t/**\n\t * Establish a connection to a Sui RPC endpoint\n\t *\n\t * @param options configuration options for the API Client\n\t */\n\tconstructor(options: SuiClientOptions) {\n\t\tthis.transport = options.transport ?? new SuiHTTPTransport({ url: options.url });\n\t}\n\n\tasync getRpcApiVersion(): Promise<string | undefined> {\n\t\tconst resp = await this.transport.request<{ info: { version: string } }>({\n\t\t\tmethod: 'rpc.discover',\n\t\t\tparams: [],\n\t\t});\n\n\t\treturn resp.info.version;\n\t}\n\n\t/**\n\t * Get all Coin<`coin_type`> objects owned by an address.\n\t */\n\tasync getCoins(input: GetCoinsParams): Promise<PaginatedCoins> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getCoins',\n\t\t\tparams: [input.owner, input.coinType, input.cursor, input.limit],\n\t\t});\n\t}\n\n\t/**\n\t * Get all Coin objects owned by an address.\n\t */\n\tasync getAllCoins(input: GetAllCoinsParams): Promise<PaginatedCoins> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getAllCoins',\n\t\t\tparams: [input.owner, input.cursor, input.limit],\n\t\t});\n\t}\n\n\t/**\n\t * Get the total coin balance for one coin type, owned by the address owner.\n\t */\n\tasync getBalance(input: GetBalanceParams): Promise<CoinBalance> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getBalance',\n\t\t\tparams: [input.owner, input.coinType],\n\t\t});\n\t}\n\n\t/**\n\t * Get the total coin balance for all coin types, owned by the address owner.\n\t */\n\tasync getAllBalances(input: GetAllBalancesParams): Promise<CoinBalance[]> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\t\treturn await this.transport.request({ method: 'suix_getAllBalances', params: [input.owner] });\n\t}\n\n\t/**\n\t * Fetch CoinMetadata for a given coin type\n\t */\n\tasync getCoinMetadata(input: GetCoinMetadataParams): Promise<CoinMetadata | null> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getCoinMetadata',\n\t\t\tparams: [input.coinType],\n\t\t});\n\t}\n\n\t/**\n\t * Fetch total supply for a coin\n\t */\n\tasync getTotalSupply(input: GetTotalSupplyParams): Promise<CoinSupply> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getTotalSupply',\n\t\t\tparams: [input.coinType],\n\t\t});\n\t}\n\n\t/**\n\t * Invoke any RPC method\n\t * @param method the method to be invoked\n\t * @param args the arguments to be passed to the RPC request\n\t */\n\tasync call<T = unknown>(method: string, params: unknown[]): Promise<T> {\n\t\treturn await this.transport.request({ method, params });\n\t}\n\n\t/**\n\t * Get Move function argument types like read, write and full access\n\t */\n\tasync getMoveFunctionArgTypes(\n\t\tinput: GetMoveFunctionArgTypesParams,\n\t): Promise<SuiMoveFunctionArgType[]> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getMoveFunctionArgTypes',\n\t\t\tparams: [input.package, input.module, input.function],\n\t\t});\n\t}\n\n\t/**\n\t * Get a map from module name to\n\t * structured representations of Move modules\n\t */\n\tasync getNormalizedMoveModulesByPackage(\n\t\tinput: GetNormalizedMoveModulesByPackageParams,\n\t): Promise<SuiMoveNormalizedModules> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveModulesByPackage',\n\t\t\tparams: [input.package],\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move module\n\t */\n\tasync getNormalizedMoveModule(\n\t\tinput: GetNormalizedMoveModuleParams,\n\t): Promise<SuiMoveNormalizedModule> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveModule',\n\t\t\tparams: [input.package, input.module],\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move function\n\t */\n\tasync getNormalizedMoveFunction(\n\t\tinput: GetNormalizedMoveFunctionParams,\n\t): Promise<SuiMoveNormalizedFunction> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveFunction',\n\t\t\tparams: [input.package, input.module, input.function],\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move struct\n\t */\n\tasync getNormalizedMoveStruct(\n\t\tinput: GetNormalizedMoveStructParams,\n\t): Promise<SuiMoveNormalizedStruct> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveStruct',\n\t\t\tparams: [input.package, input.module, input.struct],\n\t\t});\n\t}\n\n\t/**\n\t * Get all objects owned by an address\n\t */\n\tasync getOwnedObjects(input: GetOwnedObjectsParams): Promise<PaginatedObjectsResponse> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getOwnedObjects',\n\t\t\tparams: [\n\t\t\t\tinput.owner,\n\t\t\t\t{\n\t\t\t\t\tfilter: input.filter,\n\t\t\t\t\toptions: input.options,\n\t\t\t\t} as SuiObjectResponseQuery,\n\t\t\t\tinput.cursor,\n\t\t\t\tinput.limit,\n\t\t\t],\n\t\t});\n\t}\n\n\t/**\n\t * Get details about an object\n\t */\n\tasync getObject(input: GetObjectParams): Promise<SuiObjectResponse> {\n\t\tif (!input.id || !isValidSuiObjectId(normalizeSuiObjectId(input.id))) {\n\t\t\tthrow new Error('Invalid Sui Object id');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getObject',\n\t\t\tparams: [input.id, input.options],\n\t\t});\n\t}\n\n\tasync tryGetPastObject(input: TryGetPastObjectParams): Promise<ObjectRead> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_tryGetPastObject',\n\t\t\tparams: [input.id, input.version, input.options],\n\t\t});\n\t}\n\n\t/**\n\t * Batch get details about a list of objects. If any of the object ids are duplicates the call will fail\n\t */\n\tasync multiGetObjects(input: MultiGetObjectsParams): Promise<SuiObjectResponse[]> {\n\t\tinput.ids.forEach((id) => {\n\t\t\tif (!id || !isValidSuiObjectId(normalizeSuiObjectId(id))) {\n\t\t\t\tthrow new Error(`Invalid Sui Object id ${id}`);\n\t\t\t}\n\t\t});\n\t\tconst hasDuplicates = input.ids.length !== new Set(input.ids).size;\n\t\tif (hasDuplicates) {\n\t\t\tthrow new Error(`Duplicate object ids in batch call ${input.ids}`);\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_multiGetObjects',\n\t\t\tparams: [input.ids, input.options],\n\t\t});\n\t}\n\n\t/**\n\t * Get transaction blocks for a given query criteria\n\t */\n\tasync queryTransactionBlocks(\n\t\tinput: QueryTransactionBlocksParams,\n\t): Promise<PaginatedTransactionResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_queryTransactionBlocks',\n\t\t\tparams: [\n\t\t\t\t{\n\t\t\t\t\tfilter: input.filter,\n\t\t\t\t\toptions: input.options,\n\t\t\t\t} as SuiTransactionBlockResponseQuery,\n\t\t\t\tinput.cursor,\n\t\t\t\tinput.limit,\n\t\t\t\t(input.order || 'descending') === 'descending',\n\t\t\t],\n\t\t});\n\t}\n\n\tasync getTransactionBlock(\n\t\tinput: GetTransactionBlockParams,\n\t): Promise<SuiTransactionBlockResponse> {\n\t\tif (!isValidTransactionDigest(input.digest)) {\n\t\t\tthrow new Error('Invalid Transaction digest');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getTransactionBlock',\n\t\t\tparams: [input.digest, input.options],\n\t\t});\n\t}\n\n\tasync multiGetTransactionBlocks(\n\t\tinput: MultiGetTransactionBlocksParams,\n\t): Promise<SuiTransactionBlockResponse[]> {\n\t\tinput.digests.forEach((d) => {\n\t\t\tif (!isValidTransactionDigest(d)) {\n\t\t\t\tthrow new Error(`Invalid Transaction digest ${d}`);\n\t\t\t}\n\t\t});\n\n\t\tconst hasDuplicates = input.digests.length !== new Set(input.digests).size;\n\t\tif (hasDuplicates) {\n\t\t\tthrow new Error(`Duplicate digests in batch call ${input.digests}`);\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_multiGetTransactionBlocks',\n\t\t\tparams: [input.digests, input.options],\n\t\t});\n\t}\n\n\tasync executeTransactionBlock(\n\t\tinput: ExecuteTransactionBlockParams,\n\t): Promise<SuiTransactionBlockResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_executeTransactionBlock',\n\t\t\tparams: [\n\t\t\t\ttypeof input.transactionBlock === 'string'\n\t\t\t\t\t? input.transactionBlock\n\t\t\t\t\t: toB64(input.transactionBlock),\n\t\t\t\tArray.isArray(input.signature) ? input.signature : [input.signature],\n\t\t\t\tinput.options,\n\t\t\t\tinput.requestType,\n\t\t\t],\n\t\t});\n\t}\n\n\tasync signAndExecuteTransaction({\n\t\ttransaction,\n\t\tsigner,\n\t\t...input\n\t}: {\n\t\ttransaction: Uint8Array | Transaction;\n\t\tsigner: Signer;\n\t} & Omit<\n\t\tExecuteTransactionBlockParams,\n\t\t'transactionBlock' | 'signature'\n\t>): Promise<SuiTransactionBlockResponse> {\n\t\tlet transactionBytes;\n\n\t\tif (transaction instanceof Uint8Array) {\n\t\t\ttransactionBytes = transaction;\n\t\t} else {\n\t\t\ttransaction.setSenderIfNotSet(signer.toSuiAddress());\n\t\t\ttransactionBytes = await transaction.build({ client: this });\n\t\t}\n\n\t\tconst { signature, bytes } = await signer.signTransaction(transactionBytes);\n\n\t\treturn this.executeTransactionBlock({\n\t\t\ttransactionBlock: bytes,\n\t\t\tsignature,\n\t\t\t...input,\n\t\t});\n\t}\n\n\t/**\n\t * Get total number of transactions\n\t */\n\n\tasync getTotalTransactionBlocks(): Promise<bigint> {\n\t\tconst resp = await this.transport.request<string>({\n\t\t\tmethod: 'sui_getTotalTransactionBlocks',\n\t\t\tparams: [],\n\t\t});\n\t\treturn BigInt(resp);\n\t}\n\n\t/**\n\t * Getting the reference gas price for the network\n\t */\n\tasync getReferenceGasPrice(): Promise<bigint> {\n\t\tconst resp = await this.transport.request<string>({\n\t\t\tmethod: 'suix_getReferenceGasPrice',\n\t\t\tparams: [],\n\t\t});\n\t\treturn BigInt(resp);\n\t}\n\n\t/**\n\t * Return the delegated stakes for an address\n\t */\n\tasync getStakes(input: GetStakesParams): Promise<DelegatedStake[]> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\t\treturn await this.transport.request({ method: 'suix_getStakes', params: [input.owner] });\n\t}\n\n\t/**\n\t * Return the delegated stakes queried by id.\n\t */\n\tasync getStakesByIds(input: GetStakesByIdsParams): Promise<DelegatedStake[]> {\n\t\tinput.stakedSuiIds.forEach((id) => {\n\t\t\tif (!id || !isValidSuiObjectId(normalizeSuiObjectId(id))) {\n\t\t\t\tthrow new Error(`Invalid Sui Stake id ${id}`);\n\t\t\t}\n\t\t});\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getStakesByIds',\n\t\t\tparams: [input.stakedSuiIds],\n\t\t});\n\t}\n\n\t/**\n\t * Return the latest system state content.\n\t */\n\tasync getLatestSuiSystemState(): Promise<SuiSystemStateSummary> {\n\t\treturn await this.transport.request({ method: 'suix_getLatestSuiSystemState', params: [] });\n\t}\n\n\t/**\n\t * Get events for a given query criteria\n\t */\n\tasync queryEvents(input: QueryEventsParams): Promise<PaginatedEvents> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_queryEvents',\n\t\t\tparams: [\n\t\t\t\tinput.query,\n\t\t\t\tinput.cursor,\n\t\t\t\tinput.limit,\n\t\t\t\t(input.order || 'descending') === 'descending',\n\t\t\t],\n\t\t});\n\t}\n\n\t/**\n\t * Subscribe to get notifications whenever an event matching the filter occurs\n\t *\n\t * @deprecated\n\t */\n\tasync subscribeEvent(\n\t\tinput: SubscribeEventParams & {\n\t\t\t/** function to run when we receive a notification of a new event matching the filter */\n\t\t\tonMessage: (event: SuiEvent) => void;\n\t\t},\n\t): Promise<Unsubscribe> {\n\t\treturn this.transport.subscribe({\n\t\t\tmethod: 'suix_subscribeEvent',\n\t\t\tunsubscribe: 'suix_unsubscribeEvent',\n\t\t\tparams: [input.filter],\n\t\t\tonMessage: input.onMessage,\n\t\t});\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\tasync subscribeTransaction(\n\t\tinput: SubscribeTransactionParams & {\n\t\t\t/** function to run when we receive a notification of a new event matching the filter */\n\t\t\tonMessage: (event: TransactionEffects) => void;\n\t\t},\n\t): Promise<Unsubscribe> {\n\t\treturn this.transport.subscribe({\n\t\t\tmethod: 'suix_subscribeTransaction',\n\t\t\tunsubscribe: 'suix_unsubscribeTransaction',\n\t\t\tparams: [input.filter],\n\t\t\tonMessage: input.onMessage,\n\t\t});\n\t}\n\n\t/**\n\t * Runs the transaction block in dev-inspect mode. Which allows for nearly any\n\t * transaction (or Move call) with any arguments. Detailed results are\n\t * provided, including both the transaction effects and any return values.\n\t */\n\tasync devInspectTransactionBlock(\n\t\tinput: DevInspectTransactionBlockParams,\n\t): Promise<DevInspectResults> {\n\t\tlet devInspectTxBytes;\n\t\tif (isTransaction(input.transactionBlock)) {\n\t\t\tinput.transactionBlock.setSenderIfNotSet(input.sender);\n\t\t\tdevInspectTxBytes = toB64(\n\t\t\t\tawait input.transactionBlock.build({\n\t\t\t\t\tclient: this,\n\t\t\t\t\tonlyTransactionKind: true,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else if (typeof input.transactionBlock === 'string') {\n\t\t\tdevInspectTxBytes = input.transactionBlock;\n\t\t} else if (input.transactionBlock instanceof Uint8Array) {\n\t\t\tdevInspectTxBytes = toB64(input.transactionBlock);\n\t\t} else {\n\t\t\tthrow new Error('Unknown transaction block format.');\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_devInspectTransactionBlock',\n\t\t\tparams: [input.sender, devInspectTxBytes, input.gasPrice?.toString(), input.epoch],\n\t\t});\n\t}\n\n\t/**\n\t * Dry run a transaction block and return the result.\n\t */\n\tasync dryRunTransactionBlock(\n\t\tinput: DryRunTransactionBlockParams,\n\t): Promise<DryRunTransactionBlockResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_dryRunTransactionBlock',\n\t\t\tparams: [\n\t\t\t\ttypeof input.transactionBlock === 'string'\n\t\t\t\t\t? input.transactionBlock\n\t\t\t\t\t: toB64(input.transactionBlock),\n\t\t\t],\n\t\t});\n\t}\n\n\t/**\n\t * Return the list of dynamic field objects owned by an object\n\t */\n\tasync getDynamicFields(input: GetDynamicFieldsParams): Promise<DynamicFieldPage> {\n\t\tif (!input.parentId || !isValidSuiObjectId(normalizeSuiObjectId(input.parentId))) {\n\t\t\tthrow new Error('Invalid Sui Object id');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getDynamicFields',\n\t\t\tparams: [input.parentId, input.cursor, input.limit],\n\t\t});\n\t}\n\n\t/**\n\t * Return the dynamic field object information for a specified object\n\t */\n\tasync getDynamicFieldObject(input: GetDynamicFieldObjectParams): Promise<SuiObjectResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getDynamicFieldObject',\n\t\t\tparams: [input.parentId, input.name],\n\t\t});\n\t}\n\n\t/**\n\t * Get the sequence number of the latest checkpoint that has been executed\n\t */\n\tasync getLatestCheckpointSequenceNumber(): Promise<string> {\n\t\tconst resp = await this.transport.request({\n\t\t\tmethod: 'sui_getLatestCheckpointSequenceNumber',\n\t\t\tparams: [],\n\t\t});\n\t\treturn String(resp);\n\t}\n\n\t/**\n\t * Returns information about a given checkpoint\n\t */\n\tasync getCheckpoint(input: GetCheckpointParams): Promise<Checkpoint> {\n\t\treturn await this.transport.request({ method: 'sui_getCheckpoint', params: [input.id] });\n\t}\n\n\t/**\n\t * Returns historical checkpoints paginated\n\t */\n\tasync getCheckpoints(\n\t\tinput: PaginationArguments<CheckpointPage['nextCursor']> & GetCheckpointsParams,\n\t): Promise<CheckpointPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getCheckpoints',\n\t\t\tparams: [input.cursor, input?.limit, input.descendingOrder],\n\t\t});\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getCommitteeInfo(input?: GetCommitteeInfoParams): Promise<CommitteeInfo> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getCommitteeInfo',\n\t\t\tparams: [input?.epoch],\n\t\t});\n\t}\n\n\tasync getNetworkMetrics(): Promise<NetworkMetrics> {\n\t\treturn await this.transport.request({ method: 'suix_getNetworkMetrics', params: [] });\n\t}\n\n\tasync getAddressMetrics(): Promise<AddressMetrics> {\n\t\treturn await this.transport.request({ method: 'suix_getLatestAddressMetrics', params: [] });\n\t}\n\n\tasync getEpochMetrics(\n\t\tinput?: { descendingOrder?: boolean } & PaginationArguments<EpochMetricsPage['nextCursor']>,\n\t): Promise<EpochMetricsPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getEpochMetrics',\n\t\t\tparams: [input?.cursor, input?.limit, input?.descendingOrder],\n\t\t});\n\t}\n\n\tasync getAllEpochAddressMetrics(input?: {\n\t\tdescendingOrder?: boolean;\n\t}): Promise<AllEpochsAddressMetrics> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getAllEpochAddressMetrics',\n\t\t\tparams: [input?.descendingOrder],\n\t\t});\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getEpochs(\n\t\tinput?: {\n\t\t\tdescendingOrder?: boolean;\n\t\t} & PaginationArguments<EpochPage['nextCursor']>,\n\t): Promise<EpochPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getEpochs',\n\t\t\tparams: [input?.cursor, input?.limit, input?.descendingOrder],\n\t\t});\n\t}\n\n\t/**\n\t * Returns list of top move calls by usage\n\t */\n\tasync getMoveCallMetrics(): Promise<MoveCallMetrics> {\n\t\treturn await this.transport.request({ method: 'suix_getMoveCallMetrics', params: [] });\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getCurrentEpoch(): Promise<EpochInfo> {\n\t\treturn await this.transport.request({ method: 'suix_getCurrentEpoch', params: [] });\n\t}\n\n\t/**\n\t * Return the Validators APYs\n\t */\n\tasync getValidatorsApy(): Promise<ValidatorsApy> {\n\t\treturn await this.transport.request({ method: 'suix_getValidatorsApy', params: [] });\n\t}\n\n\t// TODO: Migrate this to `sui_getChainIdentifier` once it is widely available.\n\tasync getChainIdentifier(): Promise<string> {\n\t\tconst checkpoint = await this.getCheckpoint({ id: '0' });\n\t\tconst bytes = fromB58(checkpoint.digest);\n\t\treturn toHEX(bytes.slice(0, 4));\n\t}\n\n\tasync resolveNameServiceAddress(input: ResolveNameServiceAddressParams): Promise<string | null> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_resolveNameServiceAddress',\n\t\t\tparams: [input.name],\n\t\t});\n\t}\n\n\tasync resolveNameServiceNames({\n\t\tformat = 'dot',\n\t\t...input\n\t}: ResolveNameServiceNamesParams & {\n\t\tformat?: 'at' | 'dot';\n\t}): Promise<ResolvedNameServiceNames> {\n\t\tconst { nextCursor, hasNextPage, data }: ResolvedNameServiceNames =\n\t\t\tawait this.transport.request({\n\t\t\t\tmethod: 'suix_resolveNameServiceNames',\n\t\t\t\tparams: [input.address, input.cursor, input.limit],\n\t\t\t});\n\n\t\treturn {\n\t\t\thasNextPage,\n\t\t\tnextCursor,\n\t\t\tdata: data.map((name) => normalizeSuiNSName(name, format)),\n\t\t};\n\t}\n\n\tasync getProtocolConfig(input?: GetProtocolConfigParams): Promise<ProtocolConfig> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getProtocolConfig',\n\t\t\tparams: [input?.version],\n\t\t});\n\t}\n\n\t/**\n\t * Wait for a transaction block result to be available over the API.\n\t * This can be used in conjunction with `executeTransactionBlock` to wait for the transaction to\n\t * be available via the API.\n\t * This currently polls the `getTransactionBlock` API to check for the transaction.\n\t */\n\tasync waitForTransaction({\n\t\tsignal,\n\t\ttimeout = 60 * 1000,\n\t\tpollInterval = 2 * 1000,\n\t\t...input\n\t}: {\n\t\t/** An optional abort signal that can be used to cancel */\n\t\tsignal?: AbortSignal;\n\t\t/** The amount of time to wait for a transaction block. Defaults to one minute. */\n\t\ttimeout?: number;\n\t\t/** The amount of time to wait between checks for the transaction block. Defaults to 2 seconds. */\n\t\tpollInterval?: number;\n\t} & Parameters<SuiClient['getTransactionBlock']>[0]): Promise<SuiTransactionBlockResponse> {\n\t\tconst timeoutSignal = AbortSignal.timeout(timeout);\n\t\tconst timeoutPromise = new Promise((_, reject) => {\n\t\t\ttimeoutSignal.addEventListener('abort', () => reject(timeoutSignal.reason));\n\t\t});\n\n\t\ttimeoutPromise.catch(() => {\n\t\t\t// Swallow unhandled rejections that might be thrown after early return\n\t\t});\n\n\t\twhile (!timeoutSignal.aborted) {\n\t\t\tsignal?.throwIfAborted();\n\t\t\ttry {\n\t\t\t\treturn await this.getTransactionBlock(input);\n\t\t\t} catch (e) {\n\t\t\t\t// Wait for either the next poll interval, or the timeout.\n\t\t\t\tawait Promise.race([\n\t\t\t\t\tnew Promise((resolve) => setTimeout(resolve, pollInterval)),\n\t\t\t\t\ttimeoutPromise,\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\n\t\ttimeoutSignal.throwIfAborted();\n\n\t\t// This should never happen, because the above case should always throw, but just adding it in the event that something goes horribly wrong.\n\t\tthrow new Error('Unexpected error while waiting for transaction block.');\n\t}\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,35 +1,21 @@
1
- var __accessCheck = (obj, member, msg) => {
2
- if (!member.has(obj))
3
- throw TypeError("Cannot " + msg);
1
+ var __typeError = (msg) => {
2
+ throw TypeError(msg);
4
3
  };
5
- var __privateGet = (obj, member, getter) => {
6
- __accessCheck(obj, member, "read from private field");
7
- return getter ? getter.call(obj) : member.get(obj);
8
- };
9
- var __privateAdd = (obj, member, value) => {
10
- if (member.has(obj))
11
- throw TypeError("Cannot add the same private member more than once");
12
- member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
13
- };
14
- var __privateSet = (obj, member, value, setter) => {
15
- __accessCheck(obj, member, "write to private field");
16
- setter ? setter.call(obj, value) : member.set(obj, value);
17
- return value;
18
- };
19
- var __privateMethod = (obj, member, method) => {
20
- __accessCheck(obj, member, "access private method");
21
- return method;
22
- };
23
- var _requestId, _options, _websocketClient, _getWebsocketClient, getWebsocketClient_fn;
4
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
9
+ var _requestId, _options, _websocketClient, _SuiHTTPTransport_instances, getWebsocketClient_fn;
24
10
  import { PACKAGE_VERSION, TARGETED_RPC_VERSION } from "../version.js";
25
11
  import { JsonRpcError, SuiHTTPStatusError } from "./errors.js";
26
12
  import { WebsocketClient } from "./rpc-websocket-client.js";
27
13
  class SuiHTTPTransport {
28
14
  constructor(options) {
29
- __privateAdd(this, _getWebsocketClient);
15
+ __privateAdd(this, _SuiHTTPTransport_instances);
30
16
  __privateAdd(this, _requestId, 0);
31
- __privateAdd(this, _options, void 0);
32
- __privateAdd(this, _websocketClient, void 0);
17
+ __privateAdd(this, _options);
18
+ __privateAdd(this, _websocketClient);
33
19
  __privateSet(this, _options, options);
34
20
  }
35
21
  fetch(input, init) {
@@ -73,14 +59,14 @@ class SuiHTTPTransport {
73
59
  return data.result;
74
60
  }
75
61
  async subscribe(input) {
76
- const unsubscribe = await __privateMethod(this, _getWebsocketClient, getWebsocketClient_fn).call(this).subscribe(input);
62
+ const unsubscribe = await __privateMethod(this, _SuiHTTPTransport_instances, getWebsocketClient_fn).call(this).subscribe(input);
77
63
  return async () => !!await unsubscribe();
78
64
  }
79
65
  }
80
66
  _requestId = new WeakMap();
81
67
  _options = new WeakMap();
82
68
  _websocketClient = new WeakMap();
83
- _getWebsocketClient = new WeakSet();
69
+ _SuiHTTPTransport_instances = new WeakSet();
84
70
  getWebsocketClient_fn = function() {
85
71
  if (!__privateGet(this, _websocketClient)) {
86
72
  const WebSocketConstructor = __privateGet(this, _options).WebSocketConstructor ?? WebSocket;
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/client/http-transport.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { PACKAGE_VERSION, TARGETED_RPC_VERSION } from '../version.js';\nimport { JsonRpcError, SuiHTTPStatusError } from './errors.js';\nimport type { WebsocketClientOptions } from './rpc-websocket-client.js';\nimport { WebsocketClient } from './rpc-websocket-client.js';\n\n/**\n * An object defining headers to be passed to the RPC server\n */\nexport type HttpHeaders = { [header: string]: string };\n\nexport interface SuiHTTPTransportOptions {\n\tfetch?: typeof fetch;\n\tWebSocketConstructor?: typeof WebSocket;\n\turl: string;\n\trpc?: {\n\t\theaders?: HttpHeaders;\n\t\turl?: string;\n\t};\n\twebsocket?: WebsocketClientOptions & {\n\t\turl?: string;\n\t};\n}\n\nexport interface SuiTransportRequestOptions {\n\tmethod: string;\n\tparams: unknown[];\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\n\nexport interface SuiTransportSubscribeOptions<T> {\n\tmethod: string;\n\tunsubscribe: string;\n\tparams: unknown[];\n\tonMessage: (event: T) => void;\n}\n\nexport interface SuiTransport {\n\trequest<T = unknown>(input: SuiTransportRequestOptions): Promise<T>;\n\tsubscribe<T = unknown>(input: SuiTransportSubscribeOptions<T>): Promise<() => Promise<boolean>>;\n}\n\nexport class SuiHTTPTransport implements SuiTransport {\n\t#requestId = 0;\n\t#options: SuiHTTPTransportOptions;\n\t#websocketClient?: WebsocketClient;\n\n\tconstructor(options: SuiHTTPTransportOptions) {\n\t\tthis.#options = options;\n\t}\n\n\tfetch(input: RequestInfo, init?: RequestInit): Promise<Response> {\n\t\tconst fetchFn = this.#options.fetch ?? fetch;\n\n\t\tif (!fetchFn) {\n\t\t\tthrow new Error(\n\t\t\t\t'The current environment does not support fetch, you can provide a fetch implementation in the options for SuiHTTPTransport.',\n\t\t\t);\n\t\t}\n\n\t\treturn fetchFn(input, init);\n\t}\n\n\t#getWebsocketClient(): WebsocketClient {\n\t\tif (!this.#websocketClient) {\n\t\t\tconst WebSocketConstructor = this.#options.WebSocketConstructor ?? WebSocket;\n\t\t\tif (!WebSocketConstructor) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'The current environment does not support WebSocket, you can provide a WebSocketConstructor in the options for SuiHTTPTransport.',\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthis.#websocketClient = new WebsocketClient(\n\t\t\t\tthis.#options.websocket?.url ?? this.#options.url,\n\t\t\t\t{\n\t\t\t\t\tWebSocketConstructor,\n\t\t\t\t\t...this.#options.websocket,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\n\t\treturn this.#websocketClient;\n\t}\n\n\tasync request<T>(input: SuiTransportRequestOptions): Promise<T> {\n\t\tthis.#requestId += 1;\n\n\t\tconst res = await this.fetch(this.#options.rpc?.url ?? this.#options.url, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t'Client-Sdk-Type': 'typescript',\n\t\t\t\t'Client-Sdk-Version': PACKAGE_VERSION,\n\t\t\t\t'Client-Target-Api-Version': TARGETED_RPC_VERSION,\n\t\t\t\t...this.#options.rpc?.headers,\n\t\t\t},\n\t\t\tbody: JSON.stringify({\n\t\t\t\tjsonrpc: '2.0',\n\t\t\t\tid: this.#requestId,\n\t\t\t\tmethod: input.method,\n\t\t\t\tparams: input.params,\n\t\t\t}),\n\t\t});\n\n\t\tif (!res.ok) {\n\t\t\tthrow new SuiHTTPStatusError(\n\t\t\t\t`Unexpected status code: ${res.status}`,\n\t\t\t\tres.status,\n\t\t\t\tres.statusText,\n\t\t\t);\n\t\t}\n\n\t\tconst data = await res.json();\n\n\t\tif ('error' in data && data.error != null) {\n\t\t\tthrow new JsonRpcError(data.error.message, data.error.code);\n\t\t}\n\n\t\treturn data.result;\n\t}\n\n\tasync subscribe<T>(input: SuiTransportSubscribeOptions<T>): Promise<() => Promise<boolean>> {\n\t\tconst unsubscribe = await this.#getWebsocketClient().subscribe(input);\n\n\t\treturn async () => !!(await unsubscribe());\n\t}\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAGA,SAAS,iBAAiB,4BAA4B;AACtD,SAAS,cAAc,0BAA0B;AAEjD,SAAS,uBAAuB;AAuCzB,MAAM,iBAAyC;AAAA,EAKrD,YAAY,SAAkC;AAgB9C;AApBA,mCAAa;AACb;AACA;AAGC,uBAAK,UAAW;AAAA,EACjB;AAAA,EAEA,MAAM,OAAoB,MAAuC;AAChE,UAAM,UAAU,mBAAK,UAAS,SAAS;AAEvC,QAAI,CAAC,SAAS;AACb,YAAM,IAAI;AAAA,QACT;AAAA,MACD;AAAA,IACD;AAEA,WAAO,QAAQ,OAAO,IAAI;AAAA,EAC3B;AAAA,EAuBA,MAAM,QAAW,OAA+C;AAC/D,uBAAK,YAAL,mBAAK,cAAc;AAEnB,UAAM,MAAM,MAAM,KAAK,MAAM,mBAAK,UAAS,KAAK,OAAO,mBAAK,UAAS,KAAK;AAAA,MACzE,QAAQ;AAAA,MACR,SAAS;AAAA,QACR,gBAAgB;AAAA,QAChB,mBAAmB;AAAA,QACnB,sBAAsB;AAAA,QACtB,6BAA6B;AAAA,QAC7B,GAAG,mBAAK,UAAS,KAAK;AAAA,MACvB;AAAA,MACA,MAAM,KAAK,UAAU;AAAA,QACpB,SAAS;AAAA,QACT,IAAI,mBAAK;AAAA,QACT,QAAQ,MAAM;AAAA,QACd,QAAQ,MAAM;AAAA,MACf,CAAC;AAAA,IACF,CAAC;AAED,QAAI,CAAC,IAAI,IAAI;AACZ,YAAM,IAAI;AAAA,QACT,2BAA2B,IAAI;AAAA,QAC/B,IAAI;AAAA,QACJ,IAAI;AAAA,MACL;AAAA,IACD;AAEA,UAAM,OAAO,MAAM,IAAI,KAAK;AAE5B,QAAI,WAAW,QAAQ,KAAK,SAAS,MAAM;AAC1C,YAAM,IAAI,aAAa,KAAK,MAAM,SAAS,KAAK,MAAM,IAAI;AAAA,IAC3D;AAEA,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,MAAM,UAAa,OAAyE;AAC3F,UAAM,cAAc,MAAM,sBAAK,4CAAL,WAA2B,UAAU,KAAK;AAEpE,WAAO,YAAY,CAAC,CAAE,MAAM,YAAY;AAAA,EACzC;AACD;AAnFC;AACA;AACA;AAkBA;AAAA,wBAAmB,WAAoB;AACtC,MAAI,CAAC,mBAAK,mBAAkB;AAC3B,UAAM,uBAAuB,mBAAK,UAAS,wBAAwB;AACnE,QAAI,CAAC,sBAAsB;AAC1B,YAAM,IAAI;AAAA,QACT;AAAA,MACD;AAAA,IACD;AAEA,uBAAK,kBAAmB,IAAI;AAAA,MAC3B,mBAAK,UAAS,WAAW,OAAO,mBAAK,UAAS;AAAA,MAC9C;AAAA,QACC;AAAA,QACA,GAAG,mBAAK,UAAS;AAAA,MAClB;AAAA,IACD;AAAA,EACD;AAEA,SAAO,mBAAK;AACb;",
5
+ "mappings": ";;;;;;;;AAAA;AAGA,SAAS,iBAAiB,4BAA4B;AACtD,SAAS,cAAc,0BAA0B;AAEjD,SAAS,uBAAuB;AAuCzB,MAAM,iBAAyC;AAAA,EAKrD,YAAY,SAAkC;AALxC;AACN,mCAAa;AACb;AACA;AAGC,uBAAK,UAAW;AAAA,EACjB;AAAA,EAEA,MAAM,OAAoB,MAAuC;AAChE,UAAM,UAAU,mBAAK,UAAS,SAAS;AAEvC,QAAI,CAAC,SAAS;AACb,YAAM,IAAI;AAAA,QACT;AAAA,MACD;AAAA,IACD;AAEA,WAAO,QAAQ,OAAO,IAAI;AAAA,EAC3B;AAAA,EAuBA,MAAM,QAAW,OAA+C;AAC/D,uBAAK,YAAL,mBAAK,cAAc;AAEnB,UAAM,MAAM,MAAM,KAAK,MAAM,mBAAK,UAAS,KAAK,OAAO,mBAAK,UAAS,KAAK;AAAA,MACzE,QAAQ;AAAA,MACR,SAAS;AAAA,QACR,gBAAgB;AAAA,QAChB,mBAAmB;AAAA,QACnB,sBAAsB;AAAA,QACtB,6BAA6B;AAAA,QAC7B,GAAG,mBAAK,UAAS,KAAK;AAAA,MACvB;AAAA,MACA,MAAM,KAAK,UAAU;AAAA,QACpB,SAAS;AAAA,QACT,IAAI,mBAAK;AAAA,QACT,QAAQ,MAAM;AAAA,QACd,QAAQ,MAAM;AAAA,MACf,CAAC;AAAA,IACF,CAAC;AAED,QAAI,CAAC,IAAI,IAAI;AACZ,YAAM,IAAI;AAAA,QACT,2BAA2B,IAAI,MAAM;AAAA,QACrC,IAAI;AAAA,QACJ,IAAI;AAAA,MACL;AAAA,IACD;AAEA,UAAM,OAAO,MAAM,IAAI,KAAK;AAE5B,QAAI,WAAW,QAAQ,KAAK,SAAS,MAAM;AAC1C,YAAM,IAAI,aAAa,KAAK,MAAM,SAAS,KAAK,MAAM,IAAI;AAAA,IAC3D;AAEA,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,MAAM,UAAa,OAAyE;AAC3F,UAAM,cAAc,MAAM,sBAAK,oDAAL,WAA2B,UAAU,KAAK;AAEpE,WAAO,YAAY,CAAC,CAAE,MAAM,YAAY;AAAA,EACzC;AACD;AAnFC;AACA;AACA;AAHM;AAqBN,wBAAmB,WAAoB;AACtC,MAAI,CAAC,mBAAK,mBAAkB;AAC3B,UAAM,uBAAuB,mBAAK,UAAS,wBAAwB;AACnE,QAAI,CAAC,sBAAsB;AAC1B,YAAM,IAAI;AAAA,QACT;AAAA,MACD;AAAA,IACD;AAEA,uBAAK,kBAAmB,IAAI;AAAA,MAC3B,mBAAK,UAAS,WAAW,OAAO,mBAAK,UAAS;AAAA,MAC9C;AAAA,QACC;AAAA,QACA,GAAG,mBAAK,UAAS;AAAA,MAClB;AAAA,IACD;AAAA,EACD;AAEA,SAAO,mBAAK;AACb;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/client/network.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nexport function getFullnodeUrl(network: 'mainnet' | 'testnet' | 'devnet' | 'localnet') {\n\tswitch (network) {\n\t\tcase 'mainnet':\n\t\t\treturn 'https://fullnode.mainnet.sui.io:443';\n\t\tcase 'testnet':\n\t\t\treturn 'https://fullnode.testnet.sui.io:443';\n\t\tcase 'devnet':\n\t\t\treturn 'https://fullnode.devnet.sui.io:443';\n\t\tcase 'localnet':\n\t\t\treturn 'http://127.0.0.1:9000';\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown network: ${network}`);\n\t}\n}\n"],
5
- "mappings": "AAGO,SAAS,eAAe,SAAwD;AACtF,UAAQ,SAAS;AAAA,IAChB,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR;AACC,YAAM,IAAI,MAAM,oBAAoB,SAAS;AAAA,EAC/C;AACD;",
5
+ "mappings": "AAGO,SAAS,eAAe,SAAwD;AACtF,UAAQ,SAAS;AAAA,IAChB,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR;AACC,YAAM,IAAI,MAAM,oBAAoB,OAAO,EAAE;AAAA,EAC/C;AACD;",
6
6
  "names": []
7
7
  }
@@ -26,14 +26,7 @@ export type WebsocketClientOptions = {
26
26
  maxReconnects?: number;
27
27
  };
28
28
  export declare const DEFAULT_CLIENT_OPTIONS: {
29
- WebSocketConstructor: {
30
- new (url: string | URL, protocols?: string | string[] | undefined): WebSocket;
31
- prototype: WebSocket;
32
- readonly CONNECTING: 0;
33
- readonly OPEN: 1;
34
- readonly CLOSING: 2;
35
- readonly CLOSED: 3;
36
- };
29
+ WebSocketConstructor: typeof WebSocket;
37
30
  callTimeout: number;
38
31
  reconnectTimeout: number;
39
32
  maxReconnects: number;
@@ -1,21 +1,11 @@
1
- var __accessCheck = (obj, member, msg) => {
2
- if (!member.has(obj))
3
- throw TypeError("Cannot " + msg);
4
- };
5
- var __privateGet = (obj, member, getter) => {
6
- __accessCheck(obj, member, "read from private field");
7
- return getter ? getter.call(obj) : member.get(obj);
8
- };
9
- var __privateAdd = (obj, member, value) => {
10
- if (member.has(obj))
11
- throw TypeError("Cannot add the same private member more than once");
12
- member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
13
- };
14
- var __privateSet = (obj, member, value, setter) => {
15
- __accessCheck(obj, member, "write to private field");
16
- setter ? setter.call(obj, value) : member.set(obj, value);
17
- return value;
1
+ var __typeError = (msg) => {
2
+ throw TypeError(msg);
18
3
  };
4
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
19
9
  var __privateWrapper = (obj, member, setter, getter) => ({
20
10
  set _(value) {
21
11
  __privateSet(obj, member, value, setter);
@@ -24,11 +14,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
24
14
  return __privateGet(obj, member, getter);
25
15
  }
26
16
  });
27
- var __privateMethod = (obj, member, method) => {
28
- __accessCheck(obj, member, "access private method");
29
- return method;
30
- };
31
- var _requestId, _disconnects, _webSocket, _connectionPromise, _subscriptions, _pendingRequests, _setupWebSocket, setupWebSocket_fn, _reconnect, reconnect_fn;
17
+ var _requestId, _disconnects, _webSocket, _connectionPromise, _subscriptions, _pendingRequests, _WebsocketClient_instances, setupWebSocket_fn, reconnect_fn;
32
18
  import { JsonRpcError } from "./errors.js";
33
19
  function getWebsocketUrl(httpUrl) {
34
20
  const url = new URL(httpUrl);
@@ -44,8 +30,7 @@ const DEFAULT_CLIENT_OPTIONS = {
44
30
  };
45
31
  class WebsocketClient {
46
32
  constructor(endpoint, options = {}) {
47
- __privateAdd(this, _setupWebSocket);
48
- __privateAdd(this, _reconnect);
33
+ __privateAdd(this, _WebsocketClient_instances);
49
34
  __privateAdd(this, _requestId, 0);
50
35
  __privateAdd(this, _disconnects, 0);
51
36
  __privateAdd(this, _webSocket, null);
@@ -62,7 +47,7 @@ class WebsocketClient {
62
47
  }
63
48
  }
64
49
  async makeRequest(method, params) {
65
- const webSocket = await __privateMethod(this, _setupWebSocket, setupWebSocket_fn).call(this);
50
+ const webSocket = await __privateMethod(this, _WebsocketClient_instances, setupWebSocket_fn).call(this);
66
51
  return new Promise((resolve, reject) => {
67
52
  __privateSet(this, _requestId, __privateGet(this, _requestId) + 1);
68
53
  __privateGet(this, _pendingRequests).set(__privateGet(this, _requestId), {
@@ -94,7 +79,7 @@ _webSocket = new WeakMap();
94
79
  _connectionPromise = new WeakMap();
95
80
  _subscriptions = new WeakMap();
96
81
  _pendingRequests = new WeakMap();
97
- _setupWebSocket = new WeakSet();
82
+ _WebsocketClient_instances = new WeakSet();
98
83
  setupWebSocket_fn = function() {
99
84
  if (__privateGet(this, _connectionPromise)) {
100
85
  return __privateGet(this, _connectionPromise);
@@ -110,7 +95,7 @@ setupWebSocket_fn = function() {
110
95
  __privateWrapper(this, _disconnects)._++;
111
96
  if (__privateGet(this, _disconnects) <= this.options.maxReconnects) {
112
97
  setTimeout(() => {
113
- __privateMethod(this, _reconnect, reconnect_fn).call(this);
98
+ __privateMethod(this, _WebsocketClient_instances, reconnect_fn).call(this);
114
99
  }, this.options.reconnectTimeout);
115
100
  }
116
101
  });
@@ -140,7 +125,6 @@ setupWebSocket_fn = function() {
140
125
  }));
141
126
  return __privateGet(this, _connectionPromise);
142
127
  };
143
- _reconnect = new WeakSet();
144
128
  reconnect_fn = async function() {
145
129
  __privateGet(this, _webSocket)?.close();
146
130
  __privateSet(this, _connectionPromise, null);
@@ -162,8 +146,7 @@ class RpcSubscription {
162
146
  async unsubscribe(client) {
163
147
  const { subscriptionId } = this;
164
148
  this.subscribed = false;
165
- if (subscriptionId == null)
166
- return false;
149
+ if (subscriptionId == null) return false;
167
150
  this.subscriptionId = null;
168
151
  return client.makeRequest(this.input.unsubscribe, [subscriptionId]);
169
152
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/client/rpc-websocket-client.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { JsonRpcError } from './errors.js';\n\nfunction getWebsocketUrl(httpUrl: string): string {\n\tconst url = new URL(httpUrl);\n\turl.protocol = url.protocol.replace('http', 'ws');\n\treturn url.toString();\n}\n\ntype JsonRpcMessage =\n\t| {\n\t\t\tid: number;\n\t\t\tresult: never;\n\t\t\terror: {\n\t\t\t\tcode: number;\n\t\t\t\tmessage: string;\n\t\t\t};\n\t }\n\t| {\n\t\t\tid: number;\n\t\t\tresult: unknown;\n\t\t\terror: never;\n\t }\n\t| {\n\t\t\tmethod: string;\n\t\t\tparams: NotificationMessageParams;\n\t };\n\ntype NotificationMessageParams = {\n\tsubscription?: number;\n\tresult: object;\n};\n\ntype SubscriptionRequest<T = any> = {\n\tmethod: string;\n\tunsubscribe: string;\n\tparams: any[];\n\tonMessage: (event: T) => void;\n};\n\n/**\n * Configuration options for the websocket connection\n */\nexport type WebsocketClientOptions = {\n\t/**\n\t * Custom WebSocket class to use. Defaults to the global WebSocket class, if available.\n\t */\n\tWebSocketConstructor?: typeof WebSocket;\n\t/**\n\t * Milliseconds before timing out while calling an RPC method\n\t */\n\tcallTimeout?: number;\n\t/**\n\t * Milliseconds between attempts to connect\n\t */\n\treconnectTimeout?: number;\n\t/**\n\t * Maximum number of times to try connecting before giving up\n\t */\n\tmaxReconnects?: number;\n};\n\nexport const DEFAULT_CLIENT_OPTIONS = {\n\t// We fudge the typing because we also check for undefined in the constructor:\n\tWebSocketConstructor: (typeof WebSocket !== 'undefined'\n\t\t? WebSocket\n\t\t: undefined) as typeof WebSocket,\n\tcallTimeout: 30000,\n\treconnectTimeout: 3000,\n\tmaxReconnects: 5,\n} satisfies WebsocketClientOptions;\n\nexport class WebsocketClient {\n\tendpoint: string;\n\toptions: Required<WebsocketClientOptions>;\n\t#requestId = 0;\n\t#disconnects = 0;\n\t#webSocket: WebSocket | null = null;\n\t#connectionPromise: Promise<WebSocket> | null = null;\n\t#subscriptions = new Set<RpcSubscription>();\n\t#pendingRequests = new Map<\n\t\tnumber,\n\t\t{\n\t\t\tresolve: (result: Extract<JsonRpcMessage, { id: number }>) => void;\n\t\t\treject: (reason: unknown) => void;\n\t\t\ttimeout: ReturnType<typeof setTimeout>;\n\t\t}\n\t>();\n\n\tconstructor(endpoint: string, options: WebsocketClientOptions = {}) {\n\t\tthis.endpoint = endpoint;\n\t\tthis.options = { ...DEFAULT_CLIENT_OPTIONS, ...options };\n\n\t\tif (!this.options.WebSocketConstructor) {\n\t\t\tthrow new Error('Missing WebSocket constructor');\n\t\t}\n\n\t\tif (this.endpoint.startsWith('http')) {\n\t\t\tthis.endpoint = getWebsocketUrl(this.endpoint);\n\t\t}\n\t}\n\n\tasync makeRequest<T>(method: string, params: any[]): Promise<T> {\n\t\tconst webSocket = await this.#setupWebSocket();\n\n\t\treturn new Promise<Extract<JsonRpcMessage, { id: number }>>((resolve, reject) => {\n\t\t\tthis.#requestId += 1;\n\t\t\tthis.#pendingRequests.set(this.#requestId, {\n\t\t\t\tresolve: resolve,\n\t\t\t\treject,\n\t\t\t\ttimeout: setTimeout(() => {\n\t\t\t\t\tthis.#pendingRequests.delete(this.#requestId);\n\t\t\t\t\treject(new Error(`Request timeout: ${method}`));\n\t\t\t\t}, this.options.callTimeout),\n\t\t\t});\n\n\t\t\twebSocket.send(JSON.stringify({ jsonrpc: '2.0', id: this.#requestId, method, params }));\n\t\t}).then(({ error, result }) => {\n\t\t\tif (error) {\n\t\t\t\tthrow new JsonRpcError(error.message, error.code);\n\t\t\t}\n\n\t\t\treturn result as T;\n\t\t});\n\t}\n\n\t#setupWebSocket() {\n\t\tif (this.#connectionPromise) {\n\t\t\treturn this.#connectionPromise;\n\t\t}\n\n\t\tthis.#connectionPromise = new Promise<WebSocket>((resolve) => {\n\t\t\tthis.#webSocket?.close();\n\t\t\tthis.#webSocket = new this.options.WebSocketConstructor(this.endpoint);\n\n\t\t\tthis.#webSocket.addEventListener('open', () => {\n\t\t\t\tthis.#disconnects = 0;\n\t\t\t\tresolve(this.#webSocket!);\n\t\t\t});\n\n\t\t\tthis.#webSocket.addEventListener('close', () => {\n\t\t\t\tthis.#disconnects++;\n\t\t\t\tif (this.#disconnects <= this.options.maxReconnects) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.#reconnect();\n\t\t\t\t\t}, this.options.reconnectTimeout);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis.#webSocket.addEventListener('message', ({ data }: { data: string }) => {\n\t\t\t\tlet json: JsonRpcMessage;\n\t\t\t\ttry {\n\t\t\t\t\tjson = JSON.parse(data) as JsonRpcMessage;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error(new Error(`Failed to parse RPC message: ${data}`, { cause: error }));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ('id' in json && json.id != null && this.#pendingRequests.has(json.id)) {\n\t\t\t\t\tconst { resolve, timeout } = this.#pendingRequests.get(json.id)!;\n\n\t\t\t\t\tclearTimeout(timeout);\n\t\t\t\t\tresolve(json);\n\t\t\t\t} else if ('params' in json) {\n\t\t\t\t\tconst { params } = json;\n\t\t\t\t\tthis.#subscriptions.forEach((subscription) => {\n\t\t\t\t\t\tif (subscription.subscriptionId === params.subscription)\n\t\t\t\t\t\t\tif (params.subscription === subscription.subscriptionId) {\n\t\t\t\t\t\t\t\tsubscription.onMessage(params.result);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn this.#connectionPromise;\n\t}\n\n\tasync #reconnect() {\n\t\tthis.#webSocket?.close();\n\t\tthis.#connectionPromise = null;\n\n\t\treturn Promise.allSettled(\n\t\t\t[...this.#subscriptions].map((subscription) => subscription.subscribe(this)),\n\t\t);\n\t}\n\n\tasync subscribe<T>(input: SubscriptionRequest<T>) {\n\t\tconst subscription = new RpcSubscription(input);\n\t\tthis.#subscriptions.add(subscription);\n\t\tawait subscription.subscribe(this);\n\t\treturn () => subscription.unsubscribe(this);\n\t}\n}\n\nclass RpcSubscription {\n\tsubscriptionId: number | null = null;\n\tinput: SubscriptionRequest<any>;\n\tsubscribed = false;\n\n\tconstructor(input: SubscriptionRequest) {\n\t\tthis.input = input;\n\t}\n\n\tonMessage(message: unknown) {\n\t\tif (this.subscribed) {\n\t\t\tthis.input.onMessage(message);\n\t\t}\n\t}\n\n\tasync unsubscribe(client: WebsocketClient) {\n\t\tconst { subscriptionId } = this;\n\t\tthis.subscribed = false;\n\t\tif (subscriptionId == null) return false;\n\t\tthis.subscriptionId = null;\n\n\t\treturn client.makeRequest(this.input.unsubscribe, [subscriptionId]);\n\t}\n\n\tasync subscribe(client: WebsocketClient) {\n\t\tthis.subscriptionId = null;\n\t\tthis.subscribed = true;\n\t\tconst newSubscriptionId = await client.makeRequest<number>(\n\t\t\tthis.input.method,\n\t\t\tthis.input.params,\n\t\t);\n\n\t\tif (this.subscribed) {\n\t\t\tthis.subscriptionId = newSubscriptionId;\n\t\t}\n\t}\n}\n"],
5
- "mappings": "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",
5
+ "mappings": ";;;;;;;;;;;;;;;;AAAA;AAGA,SAAS,oBAAoB;AAE7B,SAAS,gBAAgB,SAAyB;AACjD,QAAM,MAAM,IAAI,IAAI,OAAO;AAC3B,MAAI,WAAW,IAAI,SAAS,QAAQ,QAAQ,IAAI;AAChD,SAAO,IAAI,SAAS;AACrB;AAuDO,MAAM,yBAAyB;AAAA;AAAA,EAErC,sBAAuB,OAAO,cAAc,cACzC,YACA;AAAA,EACH,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,eAAe;AAChB;AAEO,MAAM,gBAAgB;AAAA,EAiB5B,YAAY,UAAkB,UAAkC,CAAC,GAAG;AAjB9D;AAGN,mCAAa;AACb,qCAAe;AACf,mCAA+B;AAC/B,2CAAgD;AAChD,uCAAiB,oBAAI,IAAqB;AAC1C,yCAAmB,oBAAI,IAOrB;AAGD,SAAK,WAAW;AAChB,SAAK,UAAU,EAAE,GAAG,wBAAwB,GAAG,QAAQ;AAEvD,QAAI,CAAC,KAAK,QAAQ,sBAAsB;AACvC,YAAM,IAAI,MAAM,+BAA+B;AAAA,IAChD;AAEA,QAAI,KAAK,SAAS,WAAW,MAAM,GAAG;AACrC,WAAK,WAAW,gBAAgB,KAAK,QAAQ;AAAA,IAC9C;AAAA,EACD;AAAA,EAEA,MAAM,YAAe,QAAgB,QAA2B;AAC/D,UAAM,YAAY,MAAM,sBAAK,+CAAL;AAExB,WAAO,IAAI,QAAiD,CAAC,SAAS,WAAW;AAChF,yBAAK,YAAL,mBAAK,cAAc;AACnB,yBAAK,kBAAiB,IAAI,mBAAK,aAAY;AAAA,QAC1C;AAAA,QACA;AAAA,QACA,SAAS,WAAW,MAAM;AACzB,6BAAK,kBAAiB,OAAO,mBAAK,WAAU;AAC5C,iBAAO,IAAI,MAAM,oBAAoB,MAAM,EAAE,CAAC;AAAA,QAC/C,GAAG,KAAK,QAAQ,WAAW;AAAA,MAC5B,CAAC;AAED,gBAAU,KAAK,KAAK,UAAU,EAAE,SAAS,OAAO,IAAI,mBAAK,aAAY,QAAQ,OAAO,CAAC,CAAC;AAAA,IACvF,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,OAAO,MAAM;AAC9B,UAAI,OAAO;AACV,cAAM,IAAI,aAAa,MAAM,SAAS,MAAM,IAAI;AAAA,MACjD;AAEA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AAAA,EA+DA,MAAM,UAAa,OAA+B;AACjD,UAAM,eAAe,IAAI,gBAAgB,KAAK;AAC9C,uBAAK,gBAAe,IAAI,YAAY;AACpC,UAAM,aAAa,UAAU,IAAI;AACjC,WAAO,MAAM,aAAa,YAAY,IAAI;AAAA,EAC3C;AACD;AAtHC;AACA;AACA;AACA;AACA;AACA;AARM;AAsDN,oBAAe,WAAG;AACjB,MAAI,mBAAK,qBAAoB;AAC5B,WAAO,mBAAK;AAAA,EACb;AAEA,qBAAK,oBAAqB,IAAI,QAAmB,CAAC,YAAY;AAC7D,uBAAK,aAAY,MAAM;AACvB,uBAAK,YAAa,IAAI,KAAK,QAAQ,qBAAqB,KAAK,QAAQ;AAErE,uBAAK,YAAW,iBAAiB,QAAQ,MAAM;AAC9C,yBAAK,cAAe;AACpB,cAAQ,mBAAK,WAAW;AAAA,IACzB,CAAC;AAED,uBAAK,YAAW,iBAAiB,SAAS,MAAM;AAC/C,6BAAK,cAAL;AACA,UAAI,mBAAK,iBAAgB,KAAK,QAAQ,eAAe;AACpD,mBAAW,MAAM;AAChB,gCAAK,0CAAL;AAAA,QACD,GAAG,KAAK,QAAQ,gBAAgB;AAAA,MACjC;AAAA,IACD,CAAC;AAED,uBAAK,YAAW,iBAAiB,WAAW,CAAC,EAAE,KAAK,MAAwB;AAC3E,UAAI;AACJ,UAAI;AACH,eAAO,KAAK,MAAM,IAAI;AAAA,MACvB,SAAS,OAAO;AACf,gBAAQ,MAAM,IAAI,MAAM,gCAAgC,IAAI,IAAI,EAAE,OAAO,MAAM,CAAC,CAAC;AACjF;AAAA,MACD;AAEA,UAAI,QAAQ,QAAQ,KAAK,MAAM,QAAQ,mBAAK,kBAAiB,IAAI,KAAK,EAAE,GAAG;AAC1E,cAAM,EAAE,SAAAA,UAAS,QAAQ,IAAI,mBAAK,kBAAiB,IAAI,KAAK,EAAE;AAE9D,qBAAa,OAAO;AACpB,QAAAA,SAAQ,IAAI;AAAA,MACb,WAAW,YAAY,MAAM;AAC5B,cAAM,EAAE,OAAO,IAAI;AACnB,2BAAK,gBAAe,QAAQ,CAAC,iBAAiB;AAC7C,cAAI,aAAa,mBAAmB,OAAO;AAC1C,gBAAI,OAAO,iBAAiB,aAAa,gBAAgB;AACxD,2BAAa,UAAU,OAAO,MAAM;AAAA,YACrC;AAAA;AAAA,QACF,CAAC;AAAA,MACF;AAAA,IACD,CAAC;AAAA,EACF,CAAC;AAED,SAAO,mBAAK;AACb;AAEM,eAAU,iBAAG;AAClB,qBAAK,aAAY,MAAM;AACvB,qBAAK,oBAAqB;AAE1B,SAAO,QAAQ;AAAA,IACd,CAAC,GAAG,mBAAK,eAAc,EAAE,IAAI,CAAC,iBAAiB,aAAa,UAAU,IAAI,CAAC;AAAA,EAC5E;AACD;AAUD,MAAM,gBAAgB;AAAA,EAKrB,YAAY,OAA4B;AAJxC,0BAAgC;AAEhC,sBAAa;AAGZ,SAAK,QAAQ;AAAA,EACd;AAAA,EAEA,UAAU,SAAkB;AAC3B,QAAI,KAAK,YAAY;AACpB,WAAK,MAAM,UAAU,OAAO;AAAA,IAC7B;AAAA,EACD;AAAA,EAEA,MAAM,YAAY,QAAyB;AAC1C,UAAM,EAAE,eAAe,IAAI;AAC3B,SAAK,aAAa;AAClB,QAAI,kBAAkB,KAAM,QAAO;AACnC,SAAK,iBAAiB;AAEtB,WAAO,OAAO,YAAY,KAAK,MAAM,aAAa,CAAC,cAAc,CAAC;AAAA,EACnE;AAAA,EAEA,MAAM,UAAU,QAAyB;AACxC,SAAK,iBAAiB;AACtB,SAAK,aAAa;AAClB,UAAM,oBAAoB,MAAM,OAAO;AAAA,MACtC,KAAK,MAAM;AAAA,MACX,KAAK,MAAM;AAAA,IACZ;AAEA,QAAI,KAAK,YAAY;AACpB,WAAK,iBAAiB;AAAA,IACvB;AAAA,EACD;AACD;",
6
6
  "names": ["resolve"]
7
7
  }
@@ -5,8 +5,7 @@ import { bcs } from "../bcs/index.js";
5
5
  import { normalizeSuiAddress, SUI_ADDRESS_LENGTH } from "../utils/sui-types.js";
6
6
  import { messageWithIntent } from "./intent.js";
7
7
  function bytesEqual(a, b) {
8
- if (a === b)
9
- return true;
8
+ if (a === b) return true;
10
9
  if (a.length !== b.length) {
11
10
  return false;
12
11
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cryptography/publickey.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { toB64 } from '@mysten/bcs';\nimport { blake2b } from '@noble/hashes/blake2b';\nimport { bytesToHex } from '@noble/hashes/utils';\n\nimport { bcs } from '../bcs/index.js';\nimport { normalizeSuiAddress, SUI_ADDRESS_LENGTH } from '../utils/sui-types.js';\nimport type { IntentScope } from './intent.js';\nimport { messageWithIntent } from './intent.js';\n\n/**\n * Value to be converted into public key.\n */\nexport type PublicKeyInitData = string | Uint8Array | Iterable<number>;\n\nexport function bytesEqual(a: Uint8Array, b: Uint8Array) {\n\tif (a === b) return true;\n\n\tif (a.length !== b.length) {\n\t\treturn false;\n\t}\n\n\tfor (let i = 0; i < a.length; i++) {\n\t\tif (a[i] !== b[i]) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n/**\n * A public key\n */\nexport abstract class PublicKey {\n\t/**\n\t * Checks if two public keys are equal\n\t */\n\tequals(publicKey: PublicKey) {\n\t\treturn bytesEqual(this.toRawBytes(), publicKey.toRawBytes());\n\t}\n\n\t/**\n\t * Return the base-64 representation of the public key\n\t */\n\ttoBase64() {\n\t\treturn toB64(this.toRawBytes());\n\t}\n\n\ttoString(): never {\n\t\tthrow new Error(\n\t\t\t'`toString` is not implemented on public keys. Use `toBase64()` or `toRawBytes()` instead.',\n\t\t);\n\t}\n\n\t/**\n\t * Return the Sui representation of the public key encoded in\n\t * base-64. A Sui public key is formed by the concatenation\n\t * of the scheme flag with the raw bytes of the public key\n\t */\n\ttoSuiPublicKey(): string {\n\t\tconst bytes = this.toSuiBytes();\n\t\treturn toB64(bytes);\n\t}\n\n\tverifyWithIntent(\n\t\tbytes: Uint8Array,\n\t\tsignature: Uint8Array | string,\n\t\tintent: IntentScope,\n\t): Promise<boolean> {\n\t\tconst intentMessage = messageWithIntent(intent, bytes);\n\t\tconst digest = blake2b(intentMessage, { dkLen: 32 });\n\n\t\treturn this.verify(digest, signature);\n\t}\n\n\t/**\n\t * Verifies that the signature is valid for for the provided PersonalMessage\n\t */\n\tverifyPersonalMessage(message: Uint8Array, signature: Uint8Array | string): Promise<boolean> {\n\t\treturn this.verifyWithIntent(\n\t\t\tbcs.vector(bcs.u8()).serialize(message).toBytes(),\n\t\t\tsignature,\n\t\t\t'PersonalMessage',\n\t\t);\n\t}\n\n\t/**\n\t * Verifies that the signature is valid for for the provided Transaction\n\t */\n\tverifyTransaction(transaction: Uint8Array, signature: Uint8Array | string): Promise<boolean> {\n\t\treturn this.verifyWithIntent(transaction, signature, 'TransactionData');\n\t}\n\n\t/**\n\t * Returns the bytes representation of the public key\n\t * prefixed with the signature scheme flag\n\t */\n\ttoSuiBytes(): Uint8Array {\n\t\tconst rawBytes = this.toRawBytes();\n\t\tconst suiBytes = new Uint8Array(rawBytes.length + 1);\n\t\tsuiBytes.set([this.flag()]);\n\t\tsuiBytes.set(rawBytes, 1);\n\n\t\treturn suiBytes;\n\t}\n\n\t/**\n\t * Return the Sui address associated with this Ed25519 public key\n\t */\n\ttoSuiAddress(): string {\n\t\t// Each hex char represents half a byte, hence hex address doubles the length\n\t\treturn normalizeSuiAddress(\n\t\t\tbytesToHex(blake2b(this.toSuiBytes(), { dkLen: 32 })).slice(0, SUI_ADDRESS_LENGTH * 2),\n\t\t);\n\t}\n\n\t/**\n\t * Return the byte array representation of the public key\n\t */\n\tabstract toRawBytes(): Uint8Array;\n\n\t/**\n\t * Return signature scheme flag of the public key\n\t */\n\tabstract flag(): number;\n\n\t/**\n\t * Verifies that the signature is valid for for the provided message\n\t */\n\tabstract verify(data: Uint8Array, signature: Uint8Array | string): Promise<boolean>;\n}\n"],
5
- "mappings": "AAGA,SAAS,aAAa;AACtB,SAAS,eAAe;AACxB,SAAS,kBAAkB;AAE3B,SAAS,WAAW;AACpB,SAAS,qBAAqB,0BAA0B;AAExD,SAAS,yBAAyB;AAO3B,SAAS,WAAW,GAAe,GAAe;AACxD,MAAI,MAAM;AAAG,WAAO;AAEpB,MAAI,EAAE,WAAW,EAAE,QAAQ;AAC1B,WAAO;AAAA,EACR;AAEA,WAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;AAClC,QAAI,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG;AAClB,aAAO;AAAA,IACR;AAAA,EACD;AACA,SAAO;AACR;AAKO,MAAe,UAAU;AAAA;AAAA;AAAA;AAAA,EAI/B,OAAO,WAAsB;AAC5B,WAAO,WAAW,KAAK,WAAW,GAAG,UAAU,WAAW,CAAC;AAAA,EAC5D;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW;AACV,WAAO,MAAM,KAAK,WAAW,CAAC;AAAA,EAC/B;AAAA,EAEA,WAAkB;AACjB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,iBAAyB;AACxB,UAAM,QAAQ,KAAK,WAAW;AAC9B,WAAO,MAAM,KAAK;AAAA,EACnB;AAAA,EAEA,iBACC,OACA,WACA,QACmB;AACnB,UAAM,gBAAgB,kBAAkB,QAAQ,KAAK;AACrD,UAAM,SAAS,QAAQ,eAAe,EAAE,OAAO,GAAG,CAAC;AAEnD,WAAO,KAAK,OAAO,QAAQ,SAAS;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA,EAKA,sBAAsB,SAAqB,WAAkD;AAC5F,WAAO,KAAK;AAAA,MACX,IAAI,OAAO,IAAI,GAAG,CAAC,EAAE,UAAU,OAAO,EAAE,QAAQ;AAAA,MAChD;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAkB,aAAyB,WAAkD;AAC5F,WAAO,KAAK,iBAAiB,aAAa,WAAW,iBAAiB;AAAA,EACvE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAyB;AACxB,UAAM,WAAW,KAAK,WAAW;AACjC,UAAM,WAAW,IAAI,WAAW,SAAS,SAAS,CAAC;AACnD,aAAS,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;AAC1B,aAAS,IAAI,UAAU,CAAC;AAExB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKA,eAAuB;AAEtB,WAAO;AAAA,MACN,WAAW,QAAQ,KAAK,WAAW,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAC;AAAA,IACtF;AAAA,EACD;AAgBD;",
5
+ "mappings": "AAGA,SAAS,aAAa;AACtB,SAAS,eAAe;AACxB,SAAS,kBAAkB;AAE3B,SAAS,WAAW;AACpB,SAAS,qBAAqB,0BAA0B;AAExD,SAAS,yBAAyB;AAO3B,SAAS,WAAW,GAAe,GAAe;AACxD,MAAI,MAAM,EAAG,QAAO;AAEpB,MAAI,EAAE,WAAW,EAAE,QAAQ;AAC1B,WAAO;AAAA,EACR;AAEA,WAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;AAClC,QAAI,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG;AAClB,aAAO;AAAA,IACR;AAAA,EACD;AACA,SAAO;AACR;AAKO,MAAe,UAAU;AAAA;AAAA;AAAA;AAAA,EAI/B,OAAO,WAAsB;AAC5B,WAAO,WAAW,KAAK,WAAW,GAAG,UAAU,WAAW,CAAC;AAAA,EAC5D;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW;AACV,WAAO,MAAM,KAAK,WAAW,CAAC;AAAA,EAC/B;AAAA,EAEA,WAAkB;AACjB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,iBAAyB;AACxB,UAAM,QAAQ,KAAK,WAAW;AAC9B,WAAO,MAAM,KAAK;AAAA,EACnB;AAAA,EAEA,iBACC,OACA,WACA,QACmB;AACnB,UAAM,gBAAgB,kBAAkB,QAAQ,KAAK;AACrD,UAAM,SAAS,QAAQ,eAAe,EAAE,OAAO,GAAG,CAAC;AAEnD,WAAO,KAAK,OAAO,QAAQ,SAAS;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA,EAKA,sBAAsB,SAAqB,WAAkD;AAC5F,WAAO,KAAK;AAAA,MACX,IAAI,OAAO,IAAI,GAAG,CAAC,EAAE,UAAU,OAAO,EAAE,QAAQ;AAAA,MAChD;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAkB,aAAyB,WAAkD;AAC5F,WAAO,KAAK,iBAAiB,aAAa,WAAW,iBAAiB;AAAA,EACvE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAyB;AACxB,UAAM,WAAW,KAAK,WAAW;AACjC,UAAM,WAAW,IAAI,WAAW,SAAS,SAAS,CAAC;AACnD,aAAS,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;AAC1B,aAAS,IAAI,UAAU,CAAC;AAExB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKA,eAAuB;AAEtB,WAAO;AAAA,MACN,WAAW,QAAQ,KAAK,WAAW,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAC;AAAA,IACtF;AAAA,EACD;AAgBD;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/faucet/faucet.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nexport class FaucetRateLimitError extends Error {}\n\ntype FaucetCoinInfo = {\n\tamount: number;\n\tid: string;\n\ttransferTxDigest: string;\n};\n\ntype FaucetResponse = {\n\ttransferredGasObjects: FaucetCoinInfo[];\n\terror?: string | null;\n};\n\ntype BatchFaucetResponse = {\n\ttask?: string | null;\n\terror?: string | null;\n};\n\ntype BatchSendStatusType = {\n\tstatus: 'INPROGRESS' | 'SUCCEEDED' | 'DISCARDED';\n\ttransferred_gas_objects: { sent: FaucetCoinInfo[] };\n};\n\ntype BatchStatusFaucetResponse = {\n\tstatus: BatchSendStatusType;\n\terror?: string | null;\n};\n\ntype FaucetRequest = {\n\thost: string;\n\tpath: string;\n\tbody?: Record<string, any>;\n\theaders?: HeadersInit;\n\tmethod: 'GET' | 'POST';\n};\n\nasync function faucetRequest({ host, path, body, headers, method }: FaucetRequest) {\n\tconst endpoint = new URL(path, host).toString();\n\tconst res = await fetch(endpoint, {\n\t\tmethod,\n\t\tbody: body ? JSON.stringify(body) : undefined,\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json',\n\t\t\t...(headers || {}),\n\t\t},\n\t});\n\n\tif (res.status === 429) {\n\t\tthrow new FaucetRateLimitError(\n\t\t\t`Too many requests from this client have been sent to the faucet. Please retry later`,\n\t\t);\n\t}\n\n\ttry {\n\t\tconst parsed = await res.json();\n\t\tif (parsed.error) {\n\t\t\tthrow new Error(`Faucet returns error: ${parsed.error}`);\n\t\t}\n\t\treturn parsed;\n\t} catch (e) {\n\t\tthrow new Error(\n\t\t\t`Encountered error when parsing response from faucet, error: ${e}, status ${res.status}, response ${res}`,\n\t\t);\n\t}\n}\n\nexport async function requestSuiFromFaucetV0(input: {\n\thost: string;\n\trecipient: string;\n\theaders?: HeadersInit;\n}): Promise<FaucetResponse> {\n\treturn faucetRequest({\n\t\thost: input.host,\n\t\tpath: '/gas',\n\t\tbody: {\n\t\t\tFixedAmountRequest: {\n\t\t\t\trecipient: input.recipient,\n\t\t\t},\n\t\t},\n\t\theaders: input.headers,\n\t\tmethod: 'POST',\n\t});\n}\n\nexport async function requestSuiFromFaucetV1(input: {\n\thost: string;\n\trecipient: string;\n\theaders?: HeadersInit;\n}): Promise<BatchFaucetResponse> {\n\treturn faucetRequest({\n\t\thost: input.host,\n\t\tpath: '/v1/gas',\n\t\tbody: {\n\t\t\tFixedAmountRequest: {\n\t\t\t\trecipient: input.recipient,\n\t\t\t},\n\t\t},\n\t\theaders: input.headers,\n\t\tmethod: 'POST',\n\t});\n}\n\nexport async function getFaucetRequestStatus(input: {\n\thost: string;\n\ttaskId: string;\n\theaders?: HeadersInit;\n}): Promise<BatchStatusFaucetResponse> {\n\treturn faucetRequest({\n\t\thost: input.host,\n\t\tpath: `/v1/status/${input.taskId}`,\n\t\theaders: input.headers,\n\t\tmethod: 'GET',\n\t});\n}\n\nexport function getFaucetHost(network: 'testnet' | 'devnet' | 'localnet') {\n\tswitch (network) {\n\t\tcase 'testnet':\n\t\t\treturn 'https://faucet.testnet.sui.io';\n\t\tcase 'devnet':\n\t\t\treturn 'https://faucet.devnet.sui.io';\n\t\tcase 'localnet':\n\t\t\treturn 'http://127.0.0.1:9123';\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown network: ${network}`);\n\t}\n}\n"],
5
- "mappings": "AAGO,MAAM,6BAA6B,MAAM;AAAC;AAoCjD,eAAe,cAAc,EAAE,MAAM,MAAM,MAAM,SAAS,OAAO,GAAkB;AAClF,QAAM,WAAW,IAAI,IAAI,MAAM,IAAI,EAAE,SAAS;AAC9C,QAAM,MAAM,MAAM,MAAM,UAAU;AAAA,IACjC;AAAA,IACA,MAAM,OAAO,KAAK,UAAU,IAAI,IAAI;AAAA,IACpC,SAAS;AAAA,MACR,gBAAgB;AAAA,MAChB,GAAI,WAAW,CAAC;AAAA,IACjB;AAAA,EACD,CAAC;AAED,MAAI,IAAI,WAAW,KAAK;AACvB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,MAAI;AACH,UAAM,SAAS,MAAM,IAAI,KAAK;AAC9B,QAAI,OAAO,OAAO;AACjB,YAAM,IAAI,MAAM,yBAAyB,OAAO,OAAO;AAAA,IACxD;AACA,WAAO;AAAA,EACR,SAAS,GAAP;AACD,UAAM,IAAI;AAAA,MACT,+DAA+D,aAAa,IAAI,oBAAoB;AAAA,IACrG;AAAA,EACD;AACD;AAEA,eAAsB,uBAAuB,OAIjB;AAC3B,SAAO,cAAc;AAAA,IACpB,MAAM,MAAM;AAAA,IACZ,MAAM;AAAA,IACN,MAAM;AAAA,MACL,oBAAoB;AAAA,QACnB,WAAW,MAAM;AAAA,MAClB;AAAA,IACD;AAAA,IACA,SAAS,MAAM;AAAA,IACf,QAAQ;AAAA,EACT,CAAC;AACF;AAEA,eAAsB,uBAAuB,OAIZ;AAChC,SAAO,cAAc;AAAA,IACpB,MAAM,MAAM;AAAA,IACZ,MAAM;AAAA,IACN,MAAM;AAAA,MACL,oBAAoB;AAAA,QACnB,WAAW,MAAM;AAAA,MAClB;AAAA,IACD;AAAA,IACA,SAAS,MAAM;AAAA,IACf,QAAQ;AAAA,EACT,CAAC;AACF;AAEA,eAAsB,uBAAuB,OAIN;AACtC,SAAO,cAAc;AAAA,IACpB,MAAM,MAAM;AAAA,IACZ,MAAM,cAAc,MAAM;AAAA,IAC1B,SAAS,MAAM;AAAA,IACf,QAAQ;AAAA,EACT,CAAC;AACF;AAEO,SAAS,cAAc,SAA4C;AACzE,UAAQ,SAAS;AAAA,IAChB,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR;AACC,YAAM,IAAI,MAAM,oBAAoB,SAAS;AAAA,EAC/C;AACD;",
5
+ "mappings": "AAGO,MAAM,6BAA6B,MAAM;AAAC;AAoCjD,eAAe,cAAc,EAAE,MAAM,MAAM,MAAM,SAAS,OAAO,GAAkB;AAClF,QAAM,WAAW,IAAI,IAAI,MAAM,IAAI,EAAE,SAAS;AAC9C,QAAM,MAAM,MAAM,MAAM,UAAU;AAAA,IACjC;AAAA,IACA,MAAM,OAAO,KAAK,UAAU,IAAI,IAAI;AAAA,IACpC,SAAS;AAAA,MACR,gBAAgB;AAAA,MAChB,GAAI,WAAW,CAAC;AAAA,IACjB;AAAA,EACD,CAAC;AAED,MAAI,IAAI,WAAW,KAAK;AACvB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,MAAI;AACH,UAAM,SAAS,MAAM,IAAI,KAAK;AAC9B,QAAI,OAAO,OAAO;AACjB,YAAM,IAAI,MAAM,yBAAyB,OAAO,KAAK,EAAE;AAAA,IACxD;AACA,WAAO;AAAA,EACR,SAAS,GAAG;AACX,UAAM,IAAI;AAAA,MACT,+DAA+D,CAAC,YAAY,IAAI,MAAM,cAAc,GAAG;AAAA,IACxG;AAAA,EACD;AACD;AAEA,eAAsB,uBAAuB,OAIjB;AAC3B,SAAO,cAAc;AAAA,IACpB,MAAM,MAAM;AAAA,IACZ,MAAM;AAAA,IACN,MAAM;AAAA,MACL,oBAAoB;AAAA,QACnB,WAAW,MAAM;AAAA,MAClB;AAAA,IACD;AAAA,IACA,SAAS,MAAM;AAAA,IACf,QAAQ;AAAA,EACT,CAAC;AACF;AAEA,eAAsB,uBAAuB,OAIZ;AAChC,SAAO,cAAc;AAAA,IACpB,MAAM,MAAM;AAAA,IACZ,MAAM;AAAA,IACN,MAAM;AAAA,MACL,oBAAoB;AAAA,QACnB,WAAW,MAAM;AAAA,MAClB;AAAA,IACD;AAAA,IACA,SAAS,MAAM;AAAA,IACf,QAAQ;AAAA,EACT,CAAC;AACF;AAEA,eAAsB,uBAAuB,OAIN;AACtC,SAAO,cAAc;AAAA,IACpB,MAAM,MAAM;AAAA,IACZ,MAAM,cAAc,MAAM,MAAM;AAAA,IAChC,SAAS,MAAM;AAAA,IACf,QAAQ;AAAA,EACT,CAAC;AACF;AAEO,SAAS,cAAc,SAA4C;AACzE,UAAQ,SAAS;AAAA,IAChB,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR;AACC,YAAM,IAAI,MAAM,oBAAoB,OAAO,EAAE;AAAA,EAC/C;AACD;",
6
6
  "names": []
7
7
  }
@@ -1,21 +1,10 @@
1
- var __accessCheck = (obj, member, msg) => {
2
- if (!member.has(obj))
3
- throw TypeError("Cannot " + msg);
4
- };
5
- var __privateGet = (obj, member, getter) => {
6
- __accessCheck(obj, member, "read from private field");
7
- return getter ? getter.call(obj) : member.get(obj);
8
- };
9
- var __privateAdd = (obj, member, value) => {
10
- if (member.has(obj))
11
- throw TypeError("Cannot add the same private member more than once");
12
- member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
13
- };
14
- var __privateSet = (obj, member, value, setter) => {
15
- __accessCheck(obj, member, "write to private field");
16
- setter ? setter.call(obj, value) : member.set(obj, value);
17
- return value;
1
+ var __typeError = (msg) => {
2
+ throw TypeError(msg);
18
3
  };
4
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
19
8
  var _url, _queries, _headers, _fetch;
20
9
  import { print } from "graphql";
21
10
  class SuiGraphQLRequestError extends Error {
@@ -27,10 +16,10 @@ class SuiGraphQLClient {
27
16
  headers = {},
28
17
  queries = {}
29
18
  }) {
30
- __privateAdd(this, _url, void 0);
31
- __privateAdd(this, _queries, void 0);
32
- __privateAdd(this, _headers, void 0);
33
- __privateAdd(this, _fetch, void 0);
19
+ __privateAdd(this, _url);
20
+ __privateAdd(this, _queries);
21
+ __privateAdd(this, _headers);
22
+ __privateAdd(this, _fetch);
34
23
  __privateSet(this, _url, url);
35
24
  __privateSet(this, _queries, queries);
36
25
  __privateSet(this, _headers, headers);