@mysten/sui 1.34.0 → 1.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +0 -32
  3. package/dist/cjs/bcs/bcs.d.ts +5 -10
  4. package/dist/cjs/bcs/bcs.js +2 -4
  5. package/dist/cjs/bcs/bcs.js.map +2 -2
  6. package/dist/cjs/bcs/effects.d.ts +30 -60
  7. package/dist/cjs/bcs/index.d.ts +35 -70
  8. package/dist/cjs/client/types/generated.d.ts +22 -14
  9. package/dist/cjs/client/types/generated.js.map +1 -1
  10. package/dist/cjs/client/types/params.d.ts +1 -1
  11. package/dist/cjs/client/types/params.js.map +1 -1
  12. package/dist/cjs/experimental/client.d.ts +1 -1
  13. package/dist/cjs/experimental/client.js +6 -2
  14. package/dist/cjs/experimental/client.js.map +2 -2
  15. package/dist/cjs/experimental/core.d.ts +1 -0
  16. package/dist/cjs/experimental/core.js +6 -2
  17. package/dist/cjs/experimental/core.js.map +2 -2
  18. package/dist/cjs/experimental/transports/graphql.js +8 -2
  19. package/dist/cjs/experimental/transports/graphql.js.map +2 -2
  20. package/dist/cjs/experimental/transports/json-rpc-resolver.js +1 -1
  21. package/dist/cjs/experimental/transports/json-rpc-resolver.js.map +2 -2
  22. package/dist/cjs/experimental/transports/jsonRPC.js +5 -8
  23. package/dist/cjs/experimental/transports/jsonRPC.js.map +2 -2
  24. package/dist/cjs/experimental/types.d.ts +8 -11
  25. package/dist/cjs/experimental/types.js.map +1 -1
  26. package/dist/cjs/graphql/generated/latest/tada-env.d.ts +33 -32
  27. package/dist/cjs/graphql/generated/latest/tada-env.js +38 -39
  28. package/dist/cjs/graphql/generated/latest/tada-env.js.map +2 -2
  29. package/dist/cjs/graphql/generated/queries.d.ts +36 -34
  30. package/dist/cjs/graphql/generated/queries.js +24 -30
  31. package/dist/cjs/graphql/generated/queries.js.map +2 -2
  32. package/dist/cjs/transactions/Transaction.d.ts +2 -2
  33. package/dist/cjs/transactions/Transaction.js +3 -0
  34. package/dist/cjs/transactions/Transaction.js.map +2 -2
  35. package/dist/cjs/transactions/TransactionData.d.ts +2 -2
  36. package/dist/cjs/transactions/resolve.js +3 -6
  37. package/dist/cjs/transactions/resolve.js.map +2 -2
  38. package/dist/cjs/version.d.ts +2 -2
  39. package/dist/cjs/version.js +2 -2
  40. package/dist/cjs/version.js.map +1 -1
  41. package/dist/cjs/zklogin/publickey.d.ts +1 -1
  42. package/dist/cjs/zklogin/publickey.js.map +2 -2
  43. package/dist/esm/bcs/bcs.d.ts +5 -10
  44. package/dist/esm/bcs/bcs.js +2 -4
  45. package/dist/esm/bcs/bcs.js.map +2 -2
  46. package/dist/esm/bcs/effects.d.ts +30 -60
  47. package/dist/esm/bcs/index.d.ts +35 -70
  48. package/dist/esm/client/types/generated.d.ts +22 -14
  49. package/dist/esm/client/types/params.d.ts +1 -1
  50. package/dist/esm/experimental/client.d.ts +1 -1
  51. package/dist/esm/experimental/client.js +6 -2
  52. package/dist/esm/experimental/client.js.map +2 -2
  53. package/dist/esm/experimental/core.d.ts +1 -0
  54. package/dist/esm/experimental/core.js +6 -2
  55. package/dist/esm/experimental/core.js.map +2 -2
  56. package/dist/esm/experimental/transports/graphql.js +8 -2
  57. package/dist/esm/experimental/transports/graphql.js.map +2 -2
  58. package/dist/esm/experimental/transports/json-rpc-resolver.js +1 -1
  59. package/dist/esm/experimental/transports/json-rpc-resolver.js.map +2 -2
  60. package/dist/esm/experimental/transports/jsonRPC.js +5 -8
  61. package/dist/esm/experimental/transports/jsonRPC.js.map +2 -2
  62. package/dist/esm/experimental/types.d.ts +8 -11
  63. package/dist/esm/graphql/generated/latest/tada-env.d.ts +33 -32
  64. package/dist/esm/graphql/generated/latest/tada-env.js +38 -39
  65. package/dist/esm/graphql/generated/latest/tada-env.js.map +2 -2
  66. package/dist/esm/graphql/generated/queries.d.ts +36 -34
  67. package/dist/esm/graphql/generated/queries.js +24 -30
  68. package/dist/esm/graphql/generated/queries.js.map +2 -2
  69. package/dist/esm/transactions/Transaction.d.ts +2 -2
  70. package/dist/esm/transactions/Transaction.js +3 -0
  71. package/dist/esm/transactions/Transaction.js.map +2 -2
  72. package/dist/esm/transactions/TransactionData.d.ts +2 -2
  73. package/dist/esm/transactions/resolve.js +3 -6
  74. package/dist/esm/transactions/resolve.js.map +2 -2
  75. package/dist/esm/version.d.ts +2 -2
  76. package/dist/esm/version.js +2 -2
  77. package/dist/esm/version.js.map +1 -1
  78. package/dist/esm/zklogin/publickey.d.ts +1 -1
  79. package/dist/esm/zklogin/publickey.js.map +2 -2
  80. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  81. package/dist/tsconfig.tsbuildinfo +1 -1
  82. package/package.json +4 -4
  83. package/src/bcs/bcs.ts +2 -4
  84. package/src/client/types/generated.ts +23 -13
  85. package/src/client/types/params.ts +1 -2
  86. package/src/experimental/client.ts +7 -2
  87. package/src/experimental/core.ts +12 -2
  88. package/src/experimental/transports/graphql.ts +8 -2
  89. package/src/experimental/transports/json-rpc-resolver.ts +6 -2
  90. package/src/experimental/transports/jsonRPC.ts +5 -8
  91. package/src/experimental/types.ts +13 -13
  92. package/src/graphql/generated/latest/schema.graphql +15 -18
  93. package/src/graphql/generated/latest/tada-env.ts +38 -39
  94. package/src/graphql/generated/queries.ts +42 -53
  95. package/src/graphql/queries/objects.graphql +4 -5
  96. package/src/transactions/Transaction.ts +4 -0
  97. package/src/transactions/resolve.ts +3 -6
  98. package/src/version.ts +2 -2
  99. package/src/zklogin/publickey.ts +1 -3
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/experimental/core.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { TypeTagSerializer } from '../bcs/type-tag-serializer.js';\nimport type { TransactionPlugin } from '../transactions/index.js';\nimport { deriveDynamicFieldID } from '../utils/dynamic-fields.js';\nimport { normalizeStructTag, parseStructTag, SUI_ADDRESS_LENGTH } from '../utils/sui-types.js';\nimport { Experimental_BaseClient } from './client.js';\nimport type { ClientWithExtensions, Experimental_SuiClientTypes } from './types.js';\nimport { MvrClient } from './mvr.js';\n\nexport type ClientWithCoreApi = ClientWithExtensions<{\n\tcore: Experimental_CoreClient;\n}>;\n\nexport interface Experimental_CoreClientOptions\n\textends Experimental_SuiClientTypes.SuiClientOptions {\n\tbase: Experimental_BaseClient;\n\tmvr?: Experimental_SuiClientTypes.MvrOptions;\n}\n\nexport abstract class Experimental_CoreClient\n\textends Experimental_BaseClient\n\timplements Experimental_SuiClientTypes.TransportMethods\n{\n\tcore = this;\n\tmvr: Experimental_SuiClientTypes.MvrMethods;\n\n\tconstructor(options: Experimental_CoreClientOptions) {\n\t\tsuper(options);\n\t\tthis.mvr = new MvrClient({\n\t\t\tcache: this.base.cache.scope('core'),\n\t\t\turl: options.mvr?.url,\n\t\t\tpageSize: options.mvr?.pageSize,\n\t\t\toverrides: options.mvr?.overrides,\n\t\t});\n\t}\n\n\tabstract getObjects(\n\t\toptions: Experimental_SuiClientTypes.GetObjectsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetObjectsResponse>;\n\n\tasync getObject(\n\t\toptions: Experimental_SuiClientTypes.GetObjectOptions,\n\t): Promise<Experimental_SuiClientTypes.GetObjectResponse> {\n\t\tconst { objectId } = options;\n\t\tconst {\n\t\t\tobjects: [result],\n\t\t} = await this.getObjects({ objectIds: [objectId], signal: options.signal });\n\t\tif (result instanceof Error) {\n\t\t\tthrow result;\n\t\t}\n\t\treturn { object: result };\n\t}\n\n\tabstract getCoins(\n\t\toptions: Experimental_SuiClientTypes.GetCoinsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetCoinsResponse>;\n\n\tabstract getOwnedObjects(\n\t\toptions: Experimental_SuiClientTypes.GetOwnedObjectsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetOwnedObjectsResponse>;\n\n\tabstract getBalance(\n\t\toptions: Experimental_SuiClientTypes.GetBalanceOptions,\n\t): Promise<Experimental_SuiClientTypes.GetBalanceResponse>;\n\n\tabstract getAllBalances(\n\t\toptions: Experimental_SuiClientTypes.GetAllBalancesOptions,\n\t): Promise<Experimental_SuiClientTypes.GetAllBalancesResponse>;\n\n\tabstract getTransaction(\n\t\toptions: Experimental_SuiClientTypes.GetTransactionOptions,\n\t): Promise<Experimental_SuiClientTypes.GetTransactionResponse>;\n\n\tabstract executeTransaction(\n\t\toptions: Experimental_SuiClientTypes.ExecuteTransactionOptions,\n\t): Promise<Experimental_SuiClientTypes.ExecuteTransactionResponse>;\n\n\tabstract dryRunTransaction(\n\t\toptions: Experimental_SuiClientTypes.DryRunTransactionOptions,\n\t): Promise<Experimental_SuiClientTypes.DryRunTransactionResponse>;\n\n\tabstract getReferenceGasPrice(\n\t\toptions?: Experimental_SuiClientTypes.GetReferenceGasPriceOptions,\n\t): Promise<Experimental_SuiClientTypes.GetReferenceGasPriceResponse>;\n\n\tabstract getDynamicFields(\n\t\toptions: Experimental_SuiClientTypes.GetDynamicFieldsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetDynamicFieldsResponse>;\n\n\tabstract resolveTransactionPlugin(): TransactionPlugin;\n\n\tasync getDynamicField(\n\t\toptions: Experimental_SuiClientTypes.GetDynamicFieldOptions,\n\t): Promise<Experimental_SuiClientTypes.GetDynamicFieldResponse> {\n\t\tconst fieldId = deriveDynamicFieldID(\n\t\t\toptions.parentId,\n\t\t\tTypeTagSerializer.parseFromStr(options.name.type),\n\t\t\toptions.name.bcs,\n\t\t);\n\t\tconst {\n\t\t\tobjects: [fieldObject],\n\t\t} = await this.getObjects({\n\t\t\tobjectIds: [fieldId],\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\tif (fieldObject instanceof Error) {\n\t\t\tthrow fieldObject;\n\t\t}\n\n\t\tconst fieldType = parseStructTag(fieldObject.type);\n\t\tconst content = await fieldObject.content;\n\n\t\treturn {\n\t\t\tdynamicField: {\n\t\t\t\tid: fieldObject.id,\n\t\t\t\tdigest: fieldObject.digest,\n\t\t\t\tversion: fieldObject.version,\n\t\t\t\ttype: fieldObject.type,\n\t\t\t\tname: {\n\t\t\t\t\ttype:\n\t\t\t\t\t\ttypeof fieldType.typeParams[0] === 'string'\n\t\t\t\t\t\t\t? fieldType.typeParams[0]\n\t\t\t\t\t\t\t: normalizeStructTag(fieldType.typeParams[0]),\n\t\t\t\t\tbcs: options.name.bcs,\n\t\t\t\t},\n\t\t\t\tvalue: {\n\t\t\t\t\ttype:\n\t\t\t\t\t\ttypeof fieldType.typeParams[1] === 'string'\n\t\t\t\t\t\t\t? fieldType.typeParams[1]\n\t\t\t\t\t\t\t: normalizeStructTag(fieldType.typeParams[1]),\n\t\t\t\t\tbcs: content.slice(SUI_ADDRESS_LENGTH + options.name.bcs.length),\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tasync waitForTransaction({\n\t\tsignal,\n\t\ttimeout = 60 * 1000,\n\t\t...input\n\t}: {\n\t\t/** An optional abort signal that can be used to cancel the wait. */\n\t\tsignal?: AbortSignal;\n\t\t/** The amount of time to wait for transaction. Defaults to one minute. */\n\t\ttimeout?: number;\n\t} & Experimental_SuiClientTypes.GetTransactionOptions): Promise<Experimental_SuiClientTypes.GetTransactionResponse> {\n\t\tconst abortSignal = signal\n\t\t\t? AbortSignal.any([AbortSignal.timeout(timeout), signal])\n\t\t\t: AbortSignal.timeout(timeout);\n\n\t\tconst abortPromise = new Promise((_, reject) => {\n\t\t\tabortSignal.addEventListener('abort', () => reject(abortSignal.reason));\n\t\t});\n\n\t\tabortPromise.catch(() => {\n\t\t\t// Swallow unhandled rejections that might be thrown after early return\n\t\t});\n\n\t\t// eslint-disable-next-line no-constant-condition\n\t\twhile (true) {\n\t\t\tabortSignal.throwIfAborted();\n\t\t\ttry {\n\t\t\t\treturn await this.getTransaction({\n\t\t\t\t\t...input,\n\t\t\t\t\tsignal: abortSignal,\n\t\t\t\t});\n\t\t\t} catch (e) {\n\t\t\t\tawait Promise.race([new Promise((resolve) => setTimeout(resolve, 2_000)), abortPromise]);\n\t\t\t}\n\t\t}\n\t}\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,iCAAkC;AAElC,4BAAqC;AACrC,uBAAuE;AACvE,oBAAwC;AAExC,iBAA0B;AAYnB,MAAe,gCACb,sCAET;AAAA,EAIC,YAAY,SAAyC;AACpD,UAAM,OAAO;AAJd,gBAAO;AAKN,SAAK,MAAM,IAAI,qBAAU;AAAA,MACxB,OAAO,KAAK,KAAK,MAAM,MAAM,MAAM;AAAA,MACnC,KAAK,QAAQ,KAAK;AAAA,MAClB,UAAU,QAAQ,KAAK;AAAA,MACvB,WAAW,QAAQ,KAAK;AAAA,IACzB,CAAC;AAAA,EACF;AAAA,EAMA,MAAM,UACL,SACyD;AACzD,UAAM,EAAE,SAAS,IAAI;AACrB,UAAM;AAAA,MACL,SAAS,CAAC,MAAM;AAAA,IACjB,IAAI,MAAM,KAAK,WAAW,EAAE,WAAW,CAAC,QAAQ,GAAG,QAAQ,QAAQ,OAAO,CAAC;AAC3E,QAAI,kBAAkB,OAAO;AAC5B,YAAM;AAAA,IACP;AACA,WAAO,EAAE,QAAQ,OAAO;AAAA,EACzB;AAAA,EAwCA,MAAM,gBACL,SAC+D;AAC/D,UAAM,cAAU;AAAA,MACf,QAAQ;AAAA,MACR,6CAAkB,aAAa,QAAQ,KAAK,IAAI;AAAA,MAChD,QAAQ,KAAK;AAAA,IACd;AACA,UAAM;AAAA,MACL,SAAS,CAAC,WAAW;AAAA,IACtB,IAAI,MAAM,KAAK,WAAW;AAAA,MACzB,WAAW,CAAC,OAAO;AAAA,MACnB,QAAQ,QAAQ;AAAA,IACjB,CAAC;AAED,QAAI,uBAAuB,OAAO;AACjC,YAAM;AAAA,IACP;AAEA,UAAM,gBAAY,iCAAe,YAAY,IAAI;AACjD,UAAM,UAAU,MAAM,YAAY;AAElC,WAAO;AAAA,MACN,cAAc;AAAA,QACb,IAAI,YAAY;AAAA,QAChB,QAAQ,YAAY;AAAA,QACpB,SAAS,YAAY;AAAA,QACrB,MAAM,YAAY;AAAA,QAClB,MAAM;AAAA,UACL,MACC,OAAO,UAAU,WAAW,CAAC,MAAM,WAChC,UAAU,WAAW,CAAC,QACtB,qCAAmB,UAAU,WAAW,CAAC,CAAC;AAAA,UAC9C,KAAK,QAAQ,KAAK;AAAA,QACnB;AAAA,QACA,OAAO;AAAA,UACN,MACC,OAAO,UAAU,WAAW,CAAC,MAAM,WAChC,UAAU,WAAW,CAAC,QACtB,qCAAmB,UAAU,WAAW,CAAC,CAAC;AAAA,UAC9C,KAAK,QAAQ,MAAM,sCAAqB,QAAQ,KAAK,IAAI,MAAM;AAAA,QAChE;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAM,mBAAmB;AAAA,IACxB;AAAA,IACA,UAAU,KAAK;AAAA,IACf,GAAG;AAAA,EACJ,GAKoH;AACnH,UAAM,cAAc,SACjB,YAAY,IAAI,CAAC,YAAY,QAAQ,OAAO,GAAG,MAAM,CAAC,IACtD,YAAY,QAAQ,OAAO;AAE9B,UAAM,eAAe,IAAI,QAAQ,CAAC,GAAG,WAAW;AAC/C,kBAAY,iBAAiB,SAAS,MAAM,OAAO,YAAY,MAAM,CAAC;AAAA,IACvE,CAAC;AAED,iBAAa,MAAM,MAAM;AAAA,IAEzB,CAAC;AAGD,WAAO,MAAM;AACZ,kBAAY,eAAe;AAC3B,UAAI;AACH,eAAO,MAAM,KAAK,eAAe;AAAA,UAChC,GAAG;AAAA,UACH,QAAQ;AAAA,QACT,CAAC;AAAA,MACF,SAAS,GAAG;AACX,cAAM,QAAQ,KAAK,CAAC,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,GAAK,CAAC,GAAG,YAAY,CAAC;AAAA,MACxF;AAAA,IACD;AAAA,EACD;AACD;",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { TypeTagSerializer } from '../bcs/type-tag-serializer.js';\nimport type { TransactionPlugin } from '../transactions/index.js';\nimport { deriveDynamicFieldID } from '../utils/dynamic-fields.js';\nimport { normalizeStructTag, parseStructTag, SUI_ADDRESS_LENGTH } from '../utils/sui-types.js';\nimport { Experimental_BaseClient } from './client.js';\nimport type { ClientWithExtensions, Experimental_SuiClientTypes } from './types.js';\nimport { MvrClient } from './mvr.js';\n\nexport type ClientWithCoreApi = ClientWithExtensions<{\n\tcore: Experimental_CoreClient;\n}>;\n\nexport interface Experimental_CoreClientOptions\n\textends Experimental_SuiClientTypes.SuiClientOptions {\n\tbase: Experimental_BaseClient;\n\tmvr?: Experimental_SuiClientTypes.MvrOptions;\n}\n\nconst DEFAULT_MVR_URLS: Record<string, string> = {\n\tmainnet: 'https://mainnet.mvr.mystenlabs.com',\n\ttestnet: 'https://testnet.mvr.mystenlabs.com',\n};\n\nexport abstract class Experimental_CoreClient\n\textends Experimental_BaseClient\n\timplements Experimental_SuiClientTypes.TransportMethods\n{\n\tcore = this;\n\tmvr: Experimental_SuiClientTypes.MvrMethods;\n\n\tconstructor(options: Experimental_CoreClientOptions) {\n\t\tsuper(options);\n\n\t\tthis.mvr = new MvrClient({\n\t\t\tcache: this.cache.scope('core.mvr'),\n\t\t\turl: options.mvr?.url ?? DEFAULT_MVR_URLS[this.network],\n\t\t\tpageSize: options.mvr?.pageSize,\n\t\t\toverrides: options.mvr?.overrides,\n\t\t});\n\t}\n\n\tabstract getObjects(\n\t\toptions: Experimental_SuiClientTypes.GetObjectsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetObjectsResponse>;\n\n\tasync getObject(\n\t\toptions: Experimental_SuiClientTypes.GetObjectOptions,\n\t): Promise<Experimental_SuiClientTypes.GetObjectResponse> {\n\t\tconst { objectId } = options;\n\t\tconst {\n\t\t\tobjects: [result],\n\t\t} = await this.getObjects({ objectIds: [objectId], signal: options.signal });\n\t\tif (result instanceof Error) {\n\t\t\tthrow result;\n\t\t}\n\t\treturn { object: result };\n\t}\n\n\tabstract getCoins(\n\t\toptions: Experimental_SuiClientTypes.GetCoinsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetCoinsResponse>;\n\n\tabstract getOwnedObjects(\n\t\toptions: Experimental_SuiClientTypes.GetOwnedObjectsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetOwnedObjectsResponse>;\n\n\tabstract getBalance(\n\t\toptions: Experimental_SuiClientTypes.GetBalanceOptions,\n\t): Promise<Experimental_SuiClientTypes.GetBalanceResponse>;\n\n\tabstract getAllBalances(\n\t\toptions: Experimental_SuiClientTypes.GetAllBalancesOptions,\n\t): Promise<Experimental_SuiClientTypes.GetAllBalancesResponse>;\n\n\tabstract getTransaction(\n\t\toptions: Experimental_SuiClientTypes.GetTransactionOptions,\n\t): Promise<Experimental_SuiClientTypes.GetTransactionResponse>;\n\n\tabstract executeTransaction(\n\t\toptions: Experimental_SuiClientTypes.ExecuteTransactionOptions,\n\t): Promise<Experimental_SuiClientTypes.ExecuteTransactionResponse>;\n\n\tabstract dryRunTransaction(\n\t\toptions: Experimental_SuiClientTypes.DryRunTransactionOptions,\n\t): Promise<Experimental_SuiClientTypes.DryRunTransactionResponse>;\n\n\tabstract getReferenceGasPrice(\n\t\toptions?: Experimental_SuiClientTypes.GetReferenceGasPriceOptions,\n\t): Promise<Experimental_SuiClientTypes.GetReferenceGasPriceResponse>;\n\n\tabstract getDynamicFields(\n\t\toptions: Experimental_SuiClientTypes.GetDynamicFieldsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetDynamicFieldsResponse>;\n\n\tabstract resolveTransactionPlugin(): TransactionPlugin;\n\n\tabstract verifyZkLoginSignature(\n\t\toptions: Experimental_SuiClientTypes.VerifyZkLoginSignatureOptions,\n\t): Promise<Experimental_SuiClientTypes.ZkLoginVerifyResponse>;\n\n\tasync getDynamicField(\n\t\toptions: Experimental_SuiClientTypes.GetDynamicFieldOptions,\n\t): Promise<Experimental_SuiClientTypes.GetDynamicFieldResponse> {\n\t\tconst fieldId = deriveDynamicFieldID(\n\t\t\toptions.parentId,\n\t\t\tTypeTagSerializer.parseFromStr(options.name.type),\n\t\t\toptions.name.bcs,\n\t\t);\n\t\tconst {\n\t\t\tobjects: [fieldObject],\n\t\t} = await this.getObjects({\n\t\t\tobjectIds: [fieldId],\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\tif (fieldObject instanceof Error) {\n\t\t\tthrow fieldObject;\n\t\t}\n\n\t\tconst fieldType = parseStructTag(fieldObject.type);\n\t\tconst content = await fieldObject.content;\n\n\t\treturn {\n\t\t\tdynamicField: {\n\t\t\t\tid: fieldObject.id,\n\t\t\t\tdigest: fieldObject.digest,\n\t\t\t\tversion: fieldObject.version,\n\t\t\t\ttype: fieldObject.type,\n\t\t\t\tname: {\n\t\t\t\t\ttype:\n\t\t\t\t\t\ttypeof fieldType.typeParams[0] === 'string'\n\t\t\t\t\t\t\t? fieldType.typeParams[0]\n\t\t\t\t\t\t\t: normalizeStructTag(fieldType.typeParams[0]),\n\t\t\t\t\tbcs: options.name.bcs,\n\t\t\t\t},\n\t\t\t\tvalue: {\n\t\t\t\t\ttype:\n\t\t\t\t\t\ttypeof fieldType.typeParams[1] === 'string'\n\t\t\t\t\t\t\t? fieldType.typeParams[1]\n\t\t\t\t\t\t\t: normalizeStructTag(fieldType.typeParams[1]),\n\t\t\t\t\tbcs: content.slice(SUI_ADDRESS_LENGTH + options.name.bcs.length),\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tasync waitForTransaction({\n\t\tsignal,\n\t\ttimeout = 60 * 1000,\n\t\t...input\n\t}: {\n\t\t/** An optional abort signal that can be used to cancel the wait. */\n\t\tsignal?: AbortSignal;\n\t\t/** The amount of time to wait for transaction. Defaults to one minute. */\n\t\ttimeout?: number;\n\t} & Experimental_SuiClientTypes.GetTransactionOptions): Promise<Experimental_SuiClientTypes.GetTransactionResponse> {\n\t\tconst abortSignal = signal\n\t\t\t? AbortSignal.any([AbortSignal.timeout(timeout), signal])\n\t\t\t: AbortSignal.timeout(timeout);\n\n\t\tconst abortPromise = new Promise((_, reject) => {\n\t\t\tabortSignal.addEventListener('abort', () => reject(abortSignal.reason));\n\t\t});\n\n\t\tabortPromise.catch(() => {\n\t\t\t// Swallow unhandled rejections that might be thrown after early return\n\t\t});\n\n\t\t// eslint-disable-next-line no-constant-condition\n\t\twhile (true) {\n\t\t\tabortSignal.throwIfAborted();\n\t\t\ttry {\n\t\t\t\treturn await this.getTransaction({\n\t\t\t\t\t...input,\n\t\t\t\t\tsignal: abortSignal,\n\t\t\t\t});\n\t\t\t} catch (e) {\n\t\t\t\tawait Promise.race([new Promise((resolve) => setTimeout(resolve, 2_000)), abortPromise]);\n\t\t\t}\n\t\t}\n\t}\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -297,8 +297,14 @@ function mapOwner(owner) {
297
297
  switch (owner.__typename) {
298
298
  case "AddressOwner":
299
299
  return { $kind: "AddressOwner", AddressOwner: owner.owner?.asAddress?.address };
300
- case "ConsensusV2":
301
- return { $kind: "ConsensusV2", ConsensusV2: owner.authenticator.address };
300
+ case "ConsensusAddressOwner":
301
+ return {
302
+ $kind: "ConsensusAddressOwner",
303
+ ConsensusAddressOwner: {
304
+ owner: owner.owner?.address,
305
+ startVersion: owner.startVersion
306
+ }
307
+ };
302
308
  case "Immutable":
303
309
  return { $kind: "Immutable", Immutable: true };
304
310
  case "Parent":
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/experimental/transports/graphql.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Experimental_CoreClient } from '../core.js';\nimport type { Experimental_SuiClientTypes } from '../types.js';\nimport type { GraphQLQueryOptions, SuiGraphQLClient } from '../../graphql/client.js';\nimport type {\n\tObject_Owner_FieldsFragment,\n\tObject_FieldsFragment,\n\tTransaction_FieldsFragment,\n} from '../../graphql/generated/queries.js';\nimport {\n\tDryRunTransactionBlockDocument,\n\tExecuteTransactionBlockDocument,\n\tGetAllBalancesDocument,\n\tGetBalanceDocument,\n\tGetCoinsDocument,\n\tGetDynamicFieldsDocument,\n\tGetOwnedObjectsDocument,\n\tGetReferenceGasPriceDocument,\n\tGetTransactionBlockDocument,\n\tMultiGetObjectsDocument,\n\tResolveNameServiceNamesDocument,\n\tVerifyZkLoginSignatureDocument,\n\tZkLoginIntentScope,\n} from '../../graphql/generated/queries.js';\nimport { ObjectError } from '../errors.js';\nimport { fromBase64, toBase64 } from '@mysten/utils';\nimport { normalizeStructTag, normalizeSuiAddress } from '../../utils/sui-types.js';\nimport { deriveDynamicFieldID } from '../../utils/dynamic-fields.js';\nimport { parseTransactionBcs, parseTransactionEffectsBcs } from './utils.js';\n\nexport class GraphQLTransport extends Experimental_CoreClient {\n\t#graphqlClient: SuiGraphQLClient;\n\n\tconstructor({\n\t\tgraphqlClient,\n\t\tmvr,\n\t}: {\n\t\tgraphqlClient: SuiGraphQLClient;\n\t\tmvr?: Experimental_SuiClientTypes.MvrOptions;\n\t}) {\n\t\tsuper({ network: graphqlClient.network, base: graphqlClient, mvr });\n\t\tthis.#graphqlClient = graphqlClient;\n\t}\n\n\tasync #graphqlQuery<\n\t\tResult = Record<string, unknown>,\n\t\tVariables = Record<string, unknown>,\n\t\tData = Result,\n\t>(\n\t\toptions: GraphQLQueryOptions<Result, Variables>,\n\t\tgetData?: (result: Result) => Data,\n\t): Promise<NonNullable<Data>> {\n\t\tconst { data, errors } = await this.#graphqlClient.query(options);\n\n\t\thandleGraphQLErrors(errors);\n\n\t\tconst extractedData = data && (getData ? getData(data) : data);\n\n\t\tif (extractedData == null) {\n\t\t\tthrow new Error('Missing response data');\n\t\t}\n\n\t\treturn extractedData as NonNullable<Data>;\n\t}\n\n\tasync getObjects(\n\t\toptions: Experimental_SuiClientTypes.GetObjectsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetObjectsResponse> {\n\t\tconst objects: Object_FieldsFragment[] = [];\n\n\t\tlet hasNextPage = true;\n\t\tlet cursor: string | null = null;\n\n\t\twhile (hasNextPage) {\n\t\t\tconst objectsPage = await this.#graphqlQuery(\n\t\t\t\t{\n\t\t\t\t\tquery: MultiGetObjectsDocument,\n\t\t\t\t\tvariables: {\n\t\t\t\t\t\tobjectIds: options.objectIds,\n\t\t\t\t\t\tcursor,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t(result) => result.objects,\n\t\t\t);\n\n\t\t\tobjects.push(...objectsPage.nodes);\n\t\t\thasNextPage = objectsPage.pageInfo.hasNextPage;\n\t\t\tcursor = (objectsPage.pageInfo.endCursor ?? null) as string | null;\n\t\t}\n\n\t\treturn {\n\t\t\tobjects: options.objectIds\n\t\t\t\t.map((id) => normalizeSuiAddress(id))\n\t\t\t\t.map(\n\t\t\t\t\t(id) =>\n\t\t\t\t\t\tobjects.find((obj) => obj.address === id) ??\n\t\t\t\t\t\tnew ObjectError('notFound', `Object ${id} not found`),\n\t\t\t\t)\n\t\t\t\t.map((obj) => {\n\t\t\t\t\tif (obj instanceof ObjectError) {\n\t\t\t\t\t\treturn obj;\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: obj.address,\n\t\t\t\t\t\tversion: obj.version.toString(),\n\t\t\t\t\t\tdigest: obj.digest!,\n\t\t\t\t\t\towner: mapOwner(obj.owner!),\n\t\t\t\t\t\ttype: obj.asMoveObject?.contents?.type?.repr!,\n\t\t\t\t\t\tcontent: Promise.resolve(\n\t\t\t\t\t\t\tobj.asMoveObject?.contents?.bcs\n\t\t\t\t\t\t\t\t? fromBase64(obj.asMoveObject.contents.bcs)\n\t\t\t\t\t\t\t\t: new Uint8Array(),\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t};\n\t}\n\tasync getOwnedObjects(\n\t\toptions: Experimental_SuiClientTypes.GetOwnedObjectsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetOwnedObjectsResponse> {\n\t\tconst objects = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetOwnedObjectsDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\towner: options.address,\n\t\t\t\t\tlimit: options.limit,\n\t\t\t\t\tcursor: options.cursor,\n\t\t\t\t\tfilter: options.type ? { type: options.type } : undefined,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.address?.objects,\n\t\t);\n\n\t\treturn {\n\t\t\tobjects: objects.nodes.map((obj) => ({\n\t\t\t\tid: obj.address,\n\t\t\t\tversion: obj.version.toString(),\n\t\t\t\tdigest: obj.digest!,\n\t\t\t\towner: mapOwner(obj.owner!),\n\t\t\t\ttype: obj.contents?.type?.repr!,\n\t\t\t\tcontent: Promise.resolve(\n\t\t\t\t\tobj.contents?.bcs ? fromBase64(obj.contents.bcs) : new Uint8Array(),\n\t\t\t\t),\n\t\t\t})),\n\t\t\thasNextPage: objects.pageInfo.hasNextPage,\n\t\t\tcursor: objects.pageInfo.endCursor ?? null,\n\t\t};\n\t}\n\tasync getCoins(\n\t\toptions: Experimental_SuiClientTypes.GetCoinsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetCoinsResponse> {\n\t\tconst coins = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetCoinsDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\towner: options.address,\n\t\t\t\t\tcursor: options.cursor,\n\t\t\t\t\tfirst: options.limit,\n\t\t\t\t\ttype: options.coinType,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.address?.coins,\n\t\t);\n\n\t\treturn {\n\t\t\tcursor: coins.pageInfo.endCursor ?? null,\n\t\t\thasNextPage: coins.pageInfo.hasNextPage,\n\t\t\tobjects: coins.nodes.map((coin) => ({\n\t\t\t\tid: coin.address,\n\t\t\t\tversion: coin.version.toString(),\n\t\t\t\tdigest: coin.digest!,\n\t\t\t\towner: mapOwner(coin.owner!),\n\t\t\t\ttype: coin.contents?.type?.repr!,\n\t\t\t\tbalance: coin.coinBalance,\n\t\t\t\tcontent: Promise.resolve(\n\t\t\t\t\tcoin.contents?.bcs ? fromBase64(coin.contents.bcs) : new Uint8Array(),\n\t\t\t\t),\n\t\t\t})),\n\t\t};\n\t}\n\n\tasync getBalance(\n\t\toptions: Experimental_SuiClientTypes.GetBalanceOptions,\n\t): Promise<Experimental_SuiClientTypes.GetBalanceResponse> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetBalanceDocument,\n\t\t\t\tvariables: { owner: options.address, type: options.coinType },\n\t\t\t},\n\t\t\t(result) => result.address?.balance,\n\t\t);\n\n\t\treturn {\n\t\t\tbalance: {\n\t\t\t\tcoinType: result.coinType.repr,\n\t\t\t\tbalance: result.totalBalance,\n\t\t\t},\n\t\t};\n\t}\n\tasync getAllBalances(\n\t\toptions: Experimental_SuiClientTypes.GetAllBalancesOptions,\n\t): Promise<Experimental_SuiClientTypes.GetAllBalancesResponse> {\n\t\tconst balances = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetAllBalancesDocument,\n\t\t\t\tvariables: { owner: options.address },\n\t\t\t},\n\t\t\t(result) => result.address?.balances,\n\t\t);\n\n\t\treturn {\n\t\t\tcursor: balances.pageInfo.endCursor ?? null,\n\t\t\thasNextPage: balances.pageInfo.hasNextPage,\n\t\t\tbalances: balances.nodes.map((balance) => ({\n\t\t\t\tcoinType: balance.coinType.repr,\n\t\t\t\tbalance: balance.totalBalance,\n\t\t\t})),\n\t\t};\n\t}\n\tasync getTransaction(\n\t\toptions: Experimental_SuiClientTypes.GetTransactionOptions,\n\t): Promise<Experimental_SuiClientTypes.GetTransactionResponse> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetTransactionBlockDocument,\n\t\t\t\tvariables: { digest: options.digest },\n\t\t\t},\n\t\t\t(result) => result.transactionBlock,\n\t\t);\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(result),\n\t\t};\n\t}\n\tasync executeTransaction(\n\t\toptions: Experimental_SuiClientTypes.ExecuteTransactionOptions,\n\t): Promise<Experimental_SuiClientTypes.ExecuteTransactionResponse> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: ExecuteTransactionBlockDocument,\n\t\t\t\tvariables: { txBytes: toBase64(options.transaction), signatures: options.signatures },\n\t\t\t},\n\t\t\t(result) => result.executeTransactionBlock,\n\t\t);\n\n\t\tif (result.errors) {\n\t\t\tif (result.errors.length === 1) {\n\t\t\t\tthrow new Error(result.errors[0]);\n\t\t\t}\n\t\t\tthrow new AggregateError(result.errors.map((error) => new Error(error)));\n\t\t}\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(result.effects.transactionBlock!),\n\t\t};\n\t}\n\tasync dryRunTransaction(\n\t\toptions: Experimental_SuiClientTypes.DryRunTransactionOptions,\n\t): Promise<Experimental_SuiClientTypes.DryRunTransactionResponse> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: DryRunTransactionBlockDocument,\n\t\t\t\tvariables: { txBytes: toBase64(options.transaction) },\n\t\t\t},\n\t\t\t(result) => result.dryRunTransactionBlock,\n\t\t);\n\n\t\tif (result.error) {\n\t\t\tthrow new Error(result.error);\n\t\t}\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(result.transaction!),\n\t\t};\n\t}\n\tasync getReferenceGasPrice(): Promise<Experimental_SuiClientTypes.GetReferenceGasPriceResponse> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetReferenceGasPriceDocument,\n\t\t\t},\n\t\t\t(result) => result.epoch?.referenceGasPrice,\n\t\t);\n\n\t\treturn {\n\t\t\treferenceGasPrice: result.referenceGasPrice,\n\t\t};\n\t}\n\n\tasync getDynamicFields(\n\t\toptions: Experimental_SuiClientTypes.GetDynamicFieldsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetDynamicFieldsResponse> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetDynamicFieldsDocument,\n\t\t\t\tvariables: { parentId: options.parentId },\n\t\t\t},\n\t\t\t(result) => result.owner?.dynamicFields,\n\t\t);\n\n\t\treturn {\n\t\t\tdynamicFields: result.nodes.map((dynamicField) => {\n\t\t\t\tconst valueType =\n\t\t\t\t\tdynamicField.value?.__typename === 'MoveObject'\n\t\t\t\t\t\t? dynamicField.value.contents?.type?.repr!\n\t\t\t\t\t\t: dynamicField.value?.type.repr!;\n\t\t\t\treturn {\n\t\t\t\t\tid: deriveDynamicFieldID(\n\t\t\t\t\t\toptions.parentId,\n\t\t\t\t\t\tdynamicField.name?.type.repr!,\n\t\t\t\t\t\tdynamicField.name?.bcs!,\n\t\t\t\t\t),\n\t\t\t\t\ttype: normalizeStructTag(\n\t\t\t\t\t\tdynamicField.value?.__typename === 'MoveObject'\n\t\t\t\t\t\t\t? `0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${dynamicField.name?.type.repr}>,0x2::object::ID>`\n\t\t\t\t\t\t\t: `0x2::dynamic_field::Field<${dynamicField.name?.type.repr},${valueType}>`,\n\t\t\t\t\t),\n\t\t\t\t\tname: {\n\t\t\t\t\t\ttype: dynamicField.name?.type.repr!,\n\t\t\t\t\t\tbcs: fromBase64(dynamicField.name?.bcs!),\n\t\t\t\t\t},\n\t\t\t\t\tvalueType,\n\t\t\t\t};\n\t\t\t}),\n\t\t\tcursor: result.pageInfo.endCursor ?? null,\n\t\t\thasNextPage: result.pageInfo.hasNextPage,\n\t\t};\n\t}\n\n\tasync verifyZkLoginSignature(\n\t\toptions: Experimental_SuiClientTypes.VerifyZkLoginSignatureOptions,\n\t): Promise<Experimental_SuiClientTypes.ZkLoginVerifyResponse> {\n\t\tconst intentScope =\n\t\t\toptions.intentScope === 'TransactionData'\n\t\t\t\t? ZkLoginIntentScope.TransactionData\n\t\t\t\t: ZkLoginIntentScope.PersonalMessage;\n\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: VerifyZkLoginSignatureDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\tbytes: options.bytes,\n\t\t\t\t\tsignature: options.signature,\n\t\t\t\t\tintentScope,\n\t\t\t\t\tauthor: options.author,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.verifyZkloginSignature,\n\t\t);\n\n\t\treturn {\n\t\t\tsuccess: result.success,\n\t\t\terrors: result.errors,\n\t\t};\n\t}\n\n\tasync resolveNameServiceNames(\n\t\toptions: Experimental_SuiClientTypes.ResolveNameServiceNamesOptions,\n\t): Promise<Experimental_SuiClientTypes.ResolveNameServiceNamesResponse> {\n\t\tconst suinsRegistrations = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: ResolveNameServiceNamesDocument,\n\t\t\t\tsignal: options.signal,\n\t\t\t\tvariables: {\n\t\t\t\t\taddress: options.address,\n\t\t\t\t\tcursor: options.cursor,\n\t\t\t\t\tlimit: options.limit,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.address?.suinsRegistrations,\n\t\t);\n\n\t\treturn {\n\t\t\thasNextPage: suinsRegistrations.pageInfo.hasNextPage,\n\t\t\tnextCursor: suinsRegistrations.pageInfo.endCursor ?? null,\n\t\t\tdata: suinsRegistrations.nodes.map((node) => node.domain) ?? [],\n\t\t};\n\t}\n\n\tresolveTransactionPlugin(): never {\n\t\tthrow new Error('GraphQL client does not support transaction resolution yet');\n\t}\n}\nexport type GraphQLResponseErrors = Array<{\n\tmessage: string;\n\tlocations?: { line: number; column: number }[];\n\tpath?: (string | number)[];\n}>;\n\nfunction handleGraphQLErrors(errors: GraphQLResponseErrors | undefined): void {\n\tif (!errors || errors.length === 0) return;\n\n\tconst errorInstances = errors.map((error) => new GraphQLResponseError(error));\n\n\tif (errorInstances.length === 1) {\n\t\tthrow errorInstances[0];\n\t}\n\n\tthrow new AggregateError(errorInstances);\n}\n\nclass GraphQLResponseError extends Error {\n\tlocations?: Array<{ line: number; column: number }>;\n\n\tconstructor(error: GraphQLResponseErrors[0]) {\n\t\tsuper(error.message);\n\t\tthis.locations = error.locations;\n\t}\n}\n\nfunction mapOwner(owner: Object_Owner_FieldsFragment): Experimental_SuiClientTypes.ObjectOwner {\n\tswitch (owner.__typename) {\n\t\tcase 'AddressOwner':\n\t\t\treturn { $kind: 'AddressOwner', AddressOwner: owner.owner?.asAddress?.address };\n\t\tcase 'ConsensusV2':\n\t\t\treturn { $kind: 'ConsensusV2', ConsensusV2: owner.authenticator!.address };\n\t\tcase 'Immutable':\n\t\t\treturn { $kind: 'Immutable', Immutable: true };\n\t\tcase 'Parent':\n\t\t\treturn { $kind: 'ObjectOwner', ObjectOwner: owner.parent?.address };\n\t\tcase 'Shared':\n\t\t\treturn { $kind: 'Shared', Shared: owner.initialSharedVersion };\n\t}\n}\n\nfunction parseTransaction(\n\ttransaction: Transaction_FieldsFragment,\n): Experimental_SuiClientTypes.TransactionResponse {\n\tconst objectTypes: Record<string, string> = {};\n\n\ttransaction.effects?.unchangedSharedObjects.nodes.forEach((node) => {\n\t\tif (node.__typename === 'SharedObjectRead') {\n\t\t\tconst type = node.object?.asMoveObject?.contents?.type.repr;\n\t\t\tconst address = node.object?.asMoveObject?.address;\n\n\t\t\tif (type && address) {\n\t\t\t\tobjectTypes[address] = type;\n\t\t\t}\n\t\t}\n\t});\n\n\ttransaction.effects?.objectChanges.nodes.forEach((node) => {\n\t\tconst address = node.address;\n\t\tconst type =\n\t\t\tnode.inputState?.asMoveObject?.contents?.type.repr ??\n\t\t\tnode.outputState?.asMoveObject?.contents?.type.repr;\n\n\t\tif (address && type) {\n\t\t\tobjectTypes[address] = type;\n\t\t}\n\t});\n\n\treturn {\n\t\tdigest: transaction.digest!,\n\t\teffects: parseTransactionEffectsBcs(new Uint8Array(transaction.effects?.bcs!)),\n\t\tepoch: transaction.effects?.epoch?.epochId ?? null,\n\t\tobjectTypes: Promise.resolve(objectTypes),\n\t\ttransaction: parseTransactionBcs(transaction.bcs!),\n\t\tsignatures: transaction.signatures!,\n\t};\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAwC;AAQxC,qBAcO;AACP,oBAA4B;AAC5B,mBAAqC;AACrC,uBAAwD;AACxD,4BAAqC;AACrC,IAAAA,gBAAgE;AA9BhE;AAgCO,MAAM,yBAAyB,oCAAwB;AAAA,EAG7D,YAAY;AAAA,IACX;AAAA,IACA;AAAA,EACD,GAGG;AACF,UAAM,EAAE,SAAS,cAAc,SAAS,MAAM,eAAe,IAAI,CAAC;AAV7D;AACN;AAUC,uBAAK,gBAAiB;AAAA,EACvB;AAAA,EAuBA,MAAM,WACL,SAC0D;AAC1D,UAAM,UAAmC,CAAC;AAE1C,QAAI,cAAc;AAClB,QAAI,SAAwB;AAE5B,WAAO,aAAa;AACnB,YAAM,cAAc,MAAM,sBAAK,8CAAL,WACzB;AAAA,QACC,OAAO;AAAA,QACP,WAAW;AAAA,UACV,WAAW,QAAQ;AAAA,UACnB;AAAA,QACD;AAAA,MACD,GACA,CAAC,WAAW,OAAO;AAGpB,cAAQ,KAAK,GAAG,YAAY,KAAK;AACjC,oBAAc,YAAY,SAAS;AACnC,eAAU,YAAY,SAAS,aAAa;AAAA,IAC7C;AAEA,WAAO;AAAA,MACN,SAAS,QAAQ,UACf,IAAI,CAAC,WAAO,sCAAoB,EAAE,CAAC,EACnC;AAAA,QACA,CAAC,OACA,QAAQ,KAAK,CAAC,QAAQ,IAAI,YAAY,EAAE,KACxC,IAAI,0BAAY,YAAY,UAAU,EAAE,YAAY;AAAA,MACtD,EACC,IAAI,CAAC,QAAQ;AACb,YAAI,eAAe,2BAAa;AAC/B,iBAAO;AAAA,QACR;AACA,eAAO;AAAA,UACN,IAAI,IAAI;AAAA,UACR,SAAS,IAAI,QAAQ,SAAS;AAAA,UAC9B,QAAQ,IAAI;AAAA,UACZ,OAAO,SAAS,IAAI,KAAM;AAAA,UAC1B,MAAM,IAAI,cAAc,UAAU,MAAM;AAAA,UACxC,SAAS,QAAQ;AAAA,YAChB,IAAI,cAAc,UAAU,UACzB,yBAAW,IAAI,aAAa,SAAS,GAAG,IACxC,IAAI,WAAW;AAAA,UACnB;AAAA,QACD;AAAA,MACD,CAAC;AAAA,IACH;AAAA,EACD;AAAA,EACA,MAAM,gBACL,SAC+D;AAC/D,UAAM,UAAU,MAAM,sBAAK,8CAAL,WACrB;AAAA,MACC,OAAO;AAAA,MACP,WAAW;AAAA,QACV,OAAO,QAAQ;AAAA,QACf,OAAO,QAAQ;AAAA,QACf,QAAQ,QAAQ;AAAA,QAChB,QAAQ,QAAQ,OAAO,EAAE,MAAM,QAAQ,KAAK,IAAI;AAAA,MACjD;AAAA,IACD,GACA,CAAC,WAAW,OAAO,SAAS;AAG7B,WAAO;AAAA,MACN,SAAS,QAAQ,MAAM,IAAI,CAAC,SAAS;AAAA,QACpC,IAAI,IAAI;AAAA,QACR,SAAS,IAAI,QAAQ,SAAS;AAAA,QAC9B,QAAQ,IAAI;AAAA,QACZ,OAAO,SAAS,IAAI,KAAM;AAAA,QAC1B,MAAM,IAAI,UAAU,MAAM;AAAA,QAC1B,SAAS,QAAQ;AAAA,UAChB,IAAI,UAAU,UAAM,yBAAW,IAAI,SAAS,GAAG,IAAI,IAAI,WAAW;AAAA,QACnE;AAAA,MACD,EAAE;AAAA,MACF,aAAa,QAAQ,SAAS;AAAA,MAC9B,QAAQ,QAAQ,SAAS,aAAa;AAAA,IACvC;AAAA,EACD;AAAA,EACA,MAAM,SACL,SACwD;AACxD,UAAM,QAAQ,MAAM,sBAAK,8CAAL,WACnB;AAAA,MACC,OAAO;AAAA,MACP,WAAW;AAAA,QACV,OAAO,QAAQ;AAAA,QACf,QAAQ,QAAQ;AAAA,QAChB,OAAO,QAAQ;AAAA,QACf,MAAM,QAAQ;AAAA,MACf;AAAA,IACD,GACA,CAAC,WAAW,OAAO,SAAS;AAG7B,WAAO;AAAA,MACN,QAAQ,MAAM,SAAS,aAAa;AAAA,MACpC,aAAa,MAAM,SAAS;AAAA,MAC5B,SAAS,MAAM,MAAM,IAAI,CAAC,UAAU;AAAA,QACnC,IAAI,KAAK;AAAA,QACT,SAAS,KAAK,QAAQ,SAAS;AAAA,QAC/B,QAAQ,KAAK;AAAA,QACb,OAAO,SAAS,KAAK,KAAM;AAAA,QAC3B,MAAM,KAAK,UAAU,MAAM;AAAA,QAC3B,SAAS,KAAK;AAAA,QACd,SAAS,QAAQ;AAAA,UAChB,KAAK,UAAU,UAAM,yBAAW,KAAK,SAAS,GAAG,IAAI,IAAI,WAAW;AAAA,QACrE;AAAA,MACD,EAAE;AAAA,IACH;AAAA,EACD;AAAA,EAEA,MAAM,WACL,SAC0D;AAC1D,UAAM,SAAS,MAAM,sBAAK,8CAAL,WACpB;AAAA,MACC,OAAO;AAAA,MACP,WAAW,EAAE,OAAO,QAAQ,SAAS,MAAM,QAAQ,SAAS;AAAA,IAC7D,GACA,CAACC,YAAWA,QAAO,SAAS;AAG7B,WAAO;AAAA,MACN,SAAS;AAAA,QACR,UAAU,OAAO,SAAS;AAAA,QAC1B,SAAS,OAAO;AAAA,MACjB;AAAA,IACD;AAAA,EACD;AAAA,EACA,MAAM,eACL,SAC8D;AAC9D,UAAM,WAAW,MAAM,sBAAK,8CAAL,WACtB;AAAA,MACC,OAAO;AAAA,MACP,WAAW,EAAE,OAAO,QAAQ,QAAQ;AAAA,IACrC,GACA,CAAC,WAAW,OAAO,SAAS;AAG7B,WAAO;AAAA,MACN,QAAQ,SAAS,SAAS,aAAa;AAAA,MACvC,aAAa,SAAS,SAAS;AAAA,MAC/B,UAAU,SAAS,MAAM,IAAI,CAAC,aAAa;AAAA,QAC1C,UAAU,QAAQ,SAAS;AAAA,QAC3B,SAAS,QAAQ;AAAA,MAClB,EAAE;AAAA,IACH;AAAA,EACD;AAAA,EACA,MAAM,eACL,SAC8D;AAC9D,UAAM,SAAS,MAAM,sBAAK,8CAAL,WACpB;AAAA,MACC,OAAO;AAAA,MACP,WAAW,EAAE,QAAQ,QAAQ,OAAO;AAAA,IACrC,GACA,CAACA,YAAWA,QAAO;AAGpB,WAAO;AAAA,MACN,aAAa,iBAAiB,MAAM;AAAA,IACrC;AAAA,EACD;AAAA,EACA,MAAM,mBACL,SACkE;AAClE,UAAM,SAAS,MAAM,sBAAK,8CAAL,WACpB;AAAA,MACC,OAAO;AAAA,MACP,WAAW,EAAE,aAAS,uBAAS,QAAQ,WAAW,GAAG,YAAY,QAAQ,WAAW;AAAA,IACrF,GACA,CAACA,YAAWA,QAAO;AAGpB,QAAI,OAAO,QAAQ;AAClB,UAAI,OAAO,OAAO,WAAW,GAAG;AAC/B,cAAM,IAAI,MAAM,OAAO,OAAO,CAAC,CAAC;AAAA,MACjC;AACA,YAAM,IAAI,eAAe,OAAO,OAAO,IAAI,CAAC,UAAU,IAAI,MAAM,KAAK,CAAC,CAAC;AAAA,IACxE;AAEA,WAAO;AAAA,MACN,aAAa,iBAAiB,OAAO,QAAQ,gBAAiB;AAAA,IAC/D;AAAA,EACD;AAAA,EACA,MAAM,kBACL,SACiE;AACjE,UAAM,SAAS,MAAM,sBAAK,8CAAL,WACpB;AAAA,MACC,OAAO;AAAA,MACP,WAAW,EAAE,aAAS,uBAAS,QAAQ,WAAW,EAAE;AAAA,IACrD,GACA,CAACA,YAAWA,QAAO;AAGpB,QAAI,OAAO,OAAO;AACjB,YAAM,IAAI,MAAM,OAAO,KAAK;AAAA,IAC7B;AAEA,WAAO;AAAA,MACN,aAAa,iBAAiB,OAAO,WAAY;AAAA,IAClD;AAAA,EACD;AAAA,EACA,MAAM,uBAA0F;AAC/F,UAAM,SAAS,MAAM,sBAAK,8CAAL,WACpB;AAAA,MACC,OAAO;AAAA,IACR,GACA,CAACA,YAAWA,QAAO,OAAO;AAG3B,WAAO;AAAA,MACN,mBAAmB,OAAO;AAAA,IAC3B;AAAA,EACD;AAAA,EAEA,MAAM,iBACL,SACgE;AAChE,UAAM,SAAS,MAAM,sBAAK,8CAAL,WACpB;AAAA,MACC,OAAO;AAAA,MACP,WAAW,EAAE,UAAU,QAAQ,SAAS;AAAA,IACzC,GACA,CAACA,YAAWA,QAAO,OAAO;AAG3B,WAAO;AAAA,MACN,eAAe,OAAO,MAAM,IAAI,CAAC,iBAAiB;AACjD,cAAM,YACL,aAAa,OAAO,eAAe,eAChC,aAAa,MAAM,UAAU,MAAM,OACnC,aAAa,OAAO,KAAK;AAC7B,eAAO;AAAA,UACN,QAAI;AAAA,YACH,QAAQ;AAAA,YACR,aAAa,MAAM,KAAK;AAAA,YACxB,aAAa,MAAM;AAAA,UACpB;AAAA,UACA,UAAM;AAAA,YACL,aAAa,OAAO,eAAe,eAChC,gEAAgE,aAAa,MAAM,KAAK,IAAI,uBAC5F,6BAA6B,aAAa,MAAM,KAAK,IAAI,IAAI,SAAS;AAAA,UAC1E;AAAA,UACA,MAAM;AAAA,YACL,MAAM,aAAa,MAAM,KAAK;AAAA,YAC9B,SAAK,yBAAW,aAAa,MAAM,GAAI;AAAA,UACxC;AAAA,UACA;AAAA,QACD;AAAA,MACD,CAAC;AAAA,MACD,QAAQ,OAAO,SAAS,aAAa;AAAA,MACrC,aAAa,OAAO,SAAS;AAAA,IAC9B;AAAA,EACD;AAAA,EAEA,MAAM,uBACL,SAC6D;AAC7D,UAAM,cACL,QAAQ,gBAAgB,oBACrB,kCAAmB,kBACnB,kCAAmB;AAEvB,UAAM,SAAS,MAAM,sBAAK,8CAAL,WACpB;AAAA,MACC,OAAO;AAAA,MACP,WAAW;AAAA,QACV,OAAO,QAAQ;AAAA,QACf,WAAW,QAAQ;AAAA,QACnB;AAAA,QACA,QAAQ,QAAQ;AAAA,MACjB;AAAA,IACD,GACA,CAACA,YAAWA,QAAO;AAGpB,WAAO;AAAA,MACN,SAAS,OAAO;AAAA,MAChB,QAAQ,OAAO;AAAA,IAChB;AAAA,EACD;AAAA,EAEA,MAAM,wBACL,SACuE;AACvE,UAAM,qBAAqB,MAAM,sBAAK,8CAAL,WAChC;AAAA,MACC,OAAO;AAAA,MACP,QAAQ,QAAQ;AAAA,MAChB,WAAW;AAAA,QACV,SAAS,QAAQ;AAAA,QACjB,QAAQ,QAAQ;AAAA,QAChB,OAAO,QAAQ;AAAA,MAChB;AAAA,IACD,GACA,CAAC,WAAW,OAAO,SAAS;AAG7B,WAAO;AAAA,MACN,aAAa,mBAAmB,SAAS;AAAA,MACzC,YAAY,mBAAmB,SAAS,aAAa;AAAA,MACrD,MAAM,mBAAmB,MAAM,IAAI,CAAC,SAAS,KAAK,MAAM,KAAK,CAAC;AAAA,IAC/D;AAAA,EACD;AAAA,EAEA,2BAAkC;AACjC,UAAM,IAAI,MAAM,4DAA4D;AAAA,EAC7E;AACD;AA9VC;AADM;AAcA,kBAIL,eACA,SACA,SAC6B;AAC7B,QAAM,EAAE,MAAM,OAAO,IAAI,MAAM,mBAAK,gBAAe,MAAM,OAAO;AAEhE,sBAAoB,MAAM;AAE1B,QAAM,gBAAgB,SAAS,UAAU,QAAQ,IAAI,IAAI;AAEzD,MAAI,iBAAiB,MAAM;AAC1B,UAAM,IAAI,MAAM,uBAAuB;AAAA,EACxC;AAEA,SAAO;AACR;AAqUD,SAAS,oBAAoB,QAAiD;AAC7E,MAAI,CAAC,UAAU,OAAO,WAAW,EAAG;AAEpC,QAAM,iBAAiB,OAAO,IAAI,CAAC,UAAU,IAAI,qBAAqB,KAAK,CAAC;AAE5E,MAAI,eAAe,WAAW,GAAG;AAChC,UAAM,eAAe,CAAC;AAAA,EACvB;AAEA,QAAM,IAAI,eAAe,cAAc;AACxC;AAEA,MAAM,6BAA6B,MAAM;AAAA,EAGxC,YAAY,OAAiC;AAC5C,UAAM,MAAM,OAAO;AACnB,SAAK,YAAY,MAAM;AAAA,EACxB;AACD;AAEA,SAAS,SAAS,OAA6E;AAC9F,UAAQ,MAAM,YAAY;AAAA,IACzB,KAAK;AACJ,aAAO,EAAE,OAAO,gBAAgB,cAAc,MAAM,OAAO,WAAW,QAAQ;AAAA,IAC/E,KAAK;AACJ,aAAO,EAAE,OAAO,eAAe,aAAa,MAAM,cAAe,QAAQ;AAAA,IAC1E,KAAK;AACJ,aAAO,EAAE,OAAO,aAAa,WAAW,KAAK;AAAA,IAC9C,KAAK;AACJ,aAAO,EAAE,OAAO,eAAe,aAAa,MAAM,QAAQ,QAAQ;AAAA,IACnE,KAAK;AACJ,aAAO,EAAE,OAAO,UAAU,QAAQ,MAAM,qBAAqB;AAAA,EAC/D;AACD;AAEA,SAAS,iBACR,aACkD;AAClD,QAAM,cAAsC,CAAC;AAE7C,cAAY,SAAS,uBAAuB,MAAM,QAAQ,CAAC,SAAS;AACnE,QAAI,KAAK,eAAe,oBAAoB;AAC3C,YAAM,OAAO,KAAK,QAAQ,cAAc,UAAU,KAAK;AACvD,YAAM,UAAU,KAAK,QAAQ,cAAc;AAE3C,UAAI,QAAQ,SAAS;AACpB,oBAAY,OAAO,IAAI;AAAA,MACxB;AAAA,IACD;AAAA,EACD,CAAC;AAED,cAAY,SAAS,cAAc,MAAM,QAAQ,CAAC,SAAS;AAC1D,UAAM,UAAU,KAAK;AACrB,UAAM,OACL,KAAK,YAAY,cAAc,UAAU,KAAK,QAC9C,KAAK,aAAa,cAAc,UAAU,KAAK;AAEhD,QAAI,WAAW,MAAM;AACpB,kBAAY,OAAO,IAAI;AAAA,IACxB;AAAA,EACD,CAAC;AAED,SAAO;AAAA,IACN,QAAQ,YAAY;AAAA,IACpB,aAAS,0CAA2B,IAAI,WAAW,YAAY,SAAS,GAAI,CAAC;AAAA,IAC7E,OAAO,YAAY,SAAS,OAAO,WAAW;AAAA,IAC9C,aAAa,QAAQ,QAAQ,WAAW;AAAA,IACxC,iBAAa,mCAAoB,YAAY,GAAI;AAAA,IACjD,YAAY,YAAY;AAAA,EACzB;AACD;",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Experimental_CoreClient } from '../core.js';\nimport type { Experimental_SuiClientTypes } from '../types.js';\nimport type { GraphQLQueryOptions, SuiGraphQLClient } from '../../graphql/client.js';\nimport type {\n\tObject_Owner_FieldsFragment,\n\tObject_FieldsFragment,\n\tTransaction_FieldsFragment,\n} from '../../graphql/generated/queries.js';\nimport {\n\tDryRunTransactionBlockDocument,\n\tExecuteTransactionBlockDocument,\n\tGetAllBalancesDocument,\n\tGetBalanceDocument,\n\tGetCoinsDocument,\n\tGetDynamicFieldsDocument,\n\tGetOwnedObjectsDocument,\n\tGetReferenceGasPriceDocument,\n\tGetTransactionBlockDocument,\n\tMultiGetObjectsDocument,\n\tResolveNameServiceNamesDocument,\n\tVerifyZkLoginSignatureDocument,\n\tZkLoginIntentScope,\n} from '../../graphql/generated/queries.js';\nimport { ObjectError } from '../errors.js';\nimport { fromBase64, toBase64 } from '@mysten/utils';\nimport { normalizeStructTag, normalizeSuiAddress } from '../../utils/sui-types.js';\nimport { deriveDynamicFieldID } from '../../utils/dynamic-fields.js';\nimport { parseTransactionBcs, parseTransactionEffectsBcs } from './utils.js';\n\nexport class GraphQLTransport extends Experimental_CoreClient {\n\t#graphqlClient: SuiGraphQLClient;\n\n\tconstructor({\n\t\tgraphqlClient,\n\t\tmvr,\n\t}: {\n\t\tgraphqlClient: SuiGraphQLClient;\n\t\tmvr?: Experimental_SuiClientTypes.MvrOptions;\n\t}) {\n\t\tsuper({ network: graphqlClient.network, base: graphqlClient, mvr });\n\t\tthis.#graphqlClient = graphqlClient;\n\t}\n\n\tasync #graphqlQuery<\n\t\tResult = Record<string, unknown>,\n\t\tVariables = Record<string, unknown>,\n\t\tData = Result,\n\t>(\n\t\toptions: GraphQLQueryOptions<Result, Variables>,\n\t\tgetData?: (result: Result) => Data,\n\t): Promise<NonNullable<Data>> {\n\t\tconst { data, errors } = await this.#graphqlClient.query(options);\n\n\t\thandleGraphQLErrors(errors);\n\n\t\tconst extractedData = data && (getData ? getData(data) : data);\n\n\t\tif (extractedData == null) {\n\t\t\tthrow new Error('Missing response data');\n\t\t}\n\n\t\treturn extractedData as NonNullable<Data>;\n\t}\n\n\tasync getObjects(\n\t\toptions: Experimental_SuiClientTypes.GetObjectsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetObjectsResponse> {\n\t\tconst objects: Object_FieldsFragment[] = [];\n\n\t\tlet hasNextPage = true;\n\t\tlet cursor: string | null = null;\n\n\t\twhile (hasNextPage) {\n\t\t\tconst objectsPage = await this.#graphqlQuery(\n\t\t\t\t{\n\t\t\t\t\tquery: MultiGetObjectsDocument,\n\t\t\t\t\tvariables: {\n\t\t\t\t\t\tobjectIds: options.objectIds,\n\t\t\t\t\t\tcursor,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t(result) => result.objects,\n\t\t\t);\n\n\t\t\tobjects.push(...objectsPage.nodes);\n\t\t\thasNextPage = objectsPage.pageInfo.hasNextPage;\n\t\t\tcursor = (objectsPage.pageInfo.endCursor ?? null) as string | null;\n\t\t}\n\n\t\treturn {\n\t\t\tobjects: options.objectIds\n\t\t\t\t.map((id) => normalizeSuiAddress(id))\n\t\t\t\t.map(\n\t\t\t\t\t(id) =>\n\t\t\t\t\t\tobjects.find((obj) => obj.address === id) ??\n\t\t\t\t\t\tnew ObjectError('notFound', `Object ${id} not found`),\n\t\t\t\t)\n\t\t\t\t.map((obj) => {\n\t\t\t\t\tif (obj instanceof ObjectError) {\n\t\t\t\t\t\treturn obj;\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: obj.address,\n\t\t\t\t\t\tversion: obj.version.toString(),\n\t\t\t\t\t\tdigest: obj.digest!,\n\t\t\t\t\t\towner: mapOwner(obj.owner!),\n\t\t\t\t\t\ttype: obj.asMoveObject?.contents?.type?.repr!,\n\t\t\t\t\t\tcontent: Promise.resolve(\n\t\t\t\t\t\t\tobj.asMoveObject?.contents?.bcs\n\t\t\t\t\t\t\t\t? fromBase64(obj.asMoveObject.contents.bcs)\n\t\t\t\t\t\t\t\t: new Uint8Array(),\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t};\n\t}\n\tasync getOwnedObjects(\n\t\toptions: Experimental_SuiClientTypes.GetOwnedObjectsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetOwnedObjectsResponse> {\n\t\tconst objects = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetOwnedObjectsDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\towner: options.address,\n\t\t\t\t\tlimit: options.limit,\n\t\t\t\t\tcursor: options.cursor,\n\t\t\t\t\tfilter: options.type ? { type: options.type } : undefined,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.address?.objects,\n\t\t);\n\n\t\treturn {\n\t\t\tobjects: objects.nodes.map((obj) => ({\n\t\t\t\tid: obj.address,\n\t\t\t\tversion: obj.version.toString(),\n\t\t\t\tdigest: obj.digest!,\n\t\t\t\towner: mapOwner(obj.owner!),\n\t\t\t\ttype: obj.contents?.type?.repr!,\n\t\t\t\tcontent: Promise.resolve(\n\t\t\t\t\tobj.contents?.bcs ? fromBase64(obj.contents.bcs) : new Uint8Array(),\n\t\t\t\t),\n\t\t\t})),\n\t\t\thasNextPage: objects.pageInfo.hasNextPage,\n\t\t\tcursor: objects.pageInfo.endCursor ?? null,\n\t\t};\n\t}\n\tasync getCoins(\n\t\toptions: Experimental_SuiClientTypes.GetCoinsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetCoinsResponse> {\n\t\tconst coins = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetCoinsDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\towner: options.address,\n\t\t\t\t\tcursor: options.cursor,\n\t\t\t\t\tfirst: options.limit,\n\t\t\t\t\ttype: options.coinType,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.address?.coins,\n\t\t);\n\n\t\treturn {\n\t\t\tcursor: coins.pageInfo.endCursor ?? null,\n\t\t\thasNextPage: coins.pageInfo.hasNextPage,\n\t\t\tobjects: coins.nodes.map((coin) => ({\n\t\t\t\tid: coin.address,\n\t\t\t\tversion: coin.version.toString(),\n\t\t\t\tdigest: coin.digest!,\n\t\t\t\towner: mapOwner(coin.owner!),\n\t\t\t\ttype: coin.contents?.type?.repr!,\n\t\t\t\tbalance: coin.coinBalance,\n\t\t\t\tcontent: Promise.resolve(\n\t\t\t\t\tcoin.contents?.bcs ? fromBase64(coin.contents.bcs) : new Uint8Array(),\n\t\t\t\t),\n\t\t\t})),\n\t\t};\n\t}\n\n\tasync getBalance(\n\t\toptions: Experimental_SuiClientTypes.GetBalanceOptions,\n\t): Promise<Experimental_SuiClientTypes.GetBalanceResponse> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetBalanceDocument,\n\t\t\t\tvariables: { owner: options.address, type: options.coinType },\n\t\t\t},\n\t\t\t(result) => result.address?.balance,\n\t\t);\n\n\t\treturn {\n\t\t\tbalance: {\n\t\t\t\tcoinType: result.coinType.repr,\n\t\t\t\tbalance: result.totalBalance,\n\t\t\t},\n\t\t};\n\t}\n\tasync getAllBalances(\n\t\toptions: Experimental_SuiClientTypes.GetAllBalancesOptions,\n\t): Promise<Experimental_SuiClientTypes.GetAllBalancesResponse> {\n\t\tconst balances = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetAllBalancesDocument,\n\t\t\t\tvariables: { owner: options.address },\n\t\t\t},\n\t\t\t(result) => result.address?.balances,\n\t\t);\n\n\t\treturn {\n\t\t\tcursor: balances.pageInfo.endCursor ?? null,\n\t\t\thasNextPage: balances.pageInfo.hasNextPage,\n\t\t\tbalances: balances.nodes.map((balance) => ({\n\t\t\t\tcoinType: balance.coinType.repr,\n\t\t\t\tbalance: balance.totalBalance,\n\t\t\t})),\n\t\t};\n\t}\n\tasync getTransaction(\n\t\toptions: Experimental_SuiClientTypes.GetTransactionOptions,\n\t): Promise<Experimental_SuiClientTypes.GetTransactionResponse> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetTransactionBlockDocument,\n\t\t\t\tvariables: { digest: options.digest },\n\t\t\t},\n\t\t\t(result) => result.transactionBlock,\n\t\t);\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(result),\n\t\t};\n\t}\n\tasync executeTransaction(\n\t\toptions: Experimental_SuiClientTypes.ExecuteTransactionOptions,\n\t): Promise<Experimental_SuiClientTypes.ExecuteTransactionResponse> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: ExecuteTransactionBlockDocument,\n\t\t\t\tvariables: { txBytes: toBase64(options.transaction), signatures: options.signatures },\n\t\t\t},\n\t\t\t(result) => result.executeTransactionBlock,\n\t\t);\n\n\t\tif (result.errors) {\n\t\t\tif (result.errors.length === 1) {\n\t\t\t\tthrow new Error(result.errors[0]);\n\t\t\t}\n\t\t\tthrow new AggregateError(result.errors.map((error) => new Error(error)));\n\t\t}\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(result.effects.transactionBlock!),\n\t\t};\n\t}\n\tasync dryRunTransaction(\n\t\toptions: Experimental_SuiClientTypes.DryRunTransactionOptions,\n\t): Promise<Experimental_SuiClientTypes.DryRunTransactionResponse> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: DryRunTransactionBlockDocument,\n\t\t\t\tvariables: { txBytes: toBase64(options.transaction) },\n\t\t\t},\n\t\t\t(result) => result.dryRunTransactionBlock,\n\t\t);\n\n\t\tif (result.error) {\n\t\t\tthrow new Error(result.error);\n\t\t}\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(result.transaction!),\n\t\t};\n\t}\n\tasync getReferenceGasPrice(): Promise<Experimental_SuiClientTypes.GetReferenceGasPriceResponse> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetReferenceGasPriceDocument,\n\t\t\t},\n\t\t\t(result) => result.epoch?.referenceGasPrice,\n\t\t);\n\n\t\treturn {\n\t\t\treferenceGasPrice: result.referenceGasPrice,\n\t\t};\n\t}\n\n\tasync getDynamicFields(\n\t\toptions: Experimental_SuiClientTypes.GetDynamicFieldsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetDynamicFieldsResponse> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetDynamicFieldsDocument,\n\t\t\t\tvariables: { parentId: options.parentId },\n\t\t\t},\n\t\t\t(result) => result.owner?.dynamicFields,\n\t\t);\n\n\t\treturn {\n\t\t\tdynamicFields: result.nodes.map((dynamicField) => {\n\t\t\t\tconst valueType =\n\t\t\t\t\tdynamicField.value?.__typename === 'MoveObject'\n\t\t\t\t\t\t? dynamicField.value.contents?.type?.repr!\n\t\t\t\t\t\t: dynamicField.value?.type.repr!;\n\t\t\t\treturn {\n\t\t\t\t\tid: deriveDynamicFieldID(\n\t\t\t\t\t\toptions.parentId,\n\t\t\t\t\t\tdynamicField.name?.type.repr!,\n\t\t\t\t\t\tdynamicField.name?.bcs!,\n\t\t\t\t\t),\n\t\t\t\t\ttype: normalizeStructTag(\n\t\t\t\t\t\tdynamicField.value?.__typename === 'MoveObject'\n\t\t\t\t\t\t\t? `0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${dynamicField.name?.type.repr}>,0x2::object::ID>`\n\t\t\t\t\t\t\t: `0x2::dynamic_field::Field<${dynamicField.name?.type.repr},${valueType}>`,\n\t\t\t\t\t),\n\t\t\t\t\tname: {\n\t\t\t\t\t\ttype: dynamicField.name?.type.repr!,\n\t\t\t\t\t\tbcs: fromBase64(dynamicField.name?.bcs!),\n\t\t\t\t\t},\n\t\t\t\t\tvalueType,\n\t\t\t\t};\n\t\t\t}),\n\t\t\tcursor: result.pageInfo.endCursor ?? null,\n\t\t\thasNextPage: result.pageInfo.hasNextPage,\n\t\t};\n\t}\n\n\tasync verifyZkLoginSignature(\n\t\toptions: Experimental_SuiClientTypes.VerifyZkLoginSignatureOptions,\n\t): Promise<Experimental_SuiClientTypes.ZkLoginVerifyResponse> {\n\t\tconst intentScope =\n\t\t\toptions.intentScope === 'TransactionData'\n\t\t\t\t? ZkLoginIntentScope.TransactionData\n\t\t\t\t: ZkLoginIntentScope.PersonalMessage;\n\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: VerifyZkLoginSignatureDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\tbytes: options.bytes,\n\t\t\t\t\tsignature: options.signature,\n\t\t\t\t\tintentScope,\n\t\t\t\t\tauthor: options.author,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.verifyZkloginSignature,\n\t\t);\n\n\t\treturn {\n\t\t\tsuccess: result.success,\n\t\t\terrors: result.errors,\n\t\t};\n\t}\n\n\tasync resolveNameServiceNames(\n\t\toptions: Experimental_SuiClientTypes.ResolveNameServiceNamesOptions,\n\t): Promise<Experimental_SuiClientTypes.ResolveNameServiceNamesResponse> {\n\t\tconst suinsRegistrations = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: ResolveNameServiceNamesDocument,\n\t\t\t\tsignal: options.signal,\n\t\t\t\tvariables: {\n\t\t\t\t\taddress: options.address,\n\t\t\t\t\tcursor: options.cursor,\n\t\t\t\t\tlimit: options.limit,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.address?.suinsRegistrations,\n\t\t);\n\n\t\treturn {\n\t\t\thasNextPage: suinsRegistrations.pageInfo.hasNextPage,\n\t\t\tnextCursor: suinsRegistrations.pageInfo.endCursor ?? null,\n\t\t\tdata: suinsRegistrations.nodes.map((node) => node.domain) ?? [],\n\t\t};\n\t}\n\n\tresolveTransactionPlugin(): never {\n\t\tthrow new Error('GraphQL client does not support transaction resolution yet');\n\t}\n}\nexport type GraphQLResponseErrors = Array<{\n\tmessage: string;\n\tlocations?: { line: number; column: number }[];\n\tpath?: (string | number)[];\n}>;\n\nfunction handleGraphQLErrors(errors: GraphQLResponseErrors | undefined): void {\n\tif (!errors || errors.length === 0) return;\n\n\tconst errorInstances = errors.map((error) => new GraphQLResponseError(error));\n\n\tif (errorInstances.length === 1) {\n\t\tthrow errorInstances[0];\n\t}\n\n\tthrow new AggregateError(errorInstances);\n}\n\nclass GraphQLResponseError extends Error {\n\tlocations?: Array<{ line: number; column: number }>;\n\n\tconstructor(error: GraphQLResponseErrors[0]) {\n\t\tsuper(error.message);\n\t\tthis.locations = error.locations;\n\t}\n}\n\nfunction mapOwner(owner: Object_Owner_FieldsFragment): Experimental_SuiClientTypes.ObjectOwner {\n\tswitch (owner.__typename) {\n\t\tcase 'AddressOwner':\n\t\t\treturn { $kind: 'AddressOwner', AddressOwner: owner.owner?.asAddress?.address };\n\t\tcase 'ConsensusAddressOwner':\n\t\t\treturn {\n\t\t\t\t$kind: 'ConsensusAddressOwner',\n\t\t\t\tConsensusAddressOwner: {\n\t\t\t\t\towner: owner.owner?.address,\n\t\t\t\t\tstartVersion: owner.startVersion,\n\t\t\t\t},\n\t\t\t};\n\t\tcase 'Immutable':\n\t\t\treturn { $kind: 'Immutable', Immutable: true };\n\t\tcase 'Parent':\n\t\t\treturn { $kind: 'ObjectOwner', ObjectOwner: owner.parent?.address };\n\t\tcase 'Shared':\n\t\t\treturn { $kind: 'Shared', Shared: owner.initialSharedVersion };\n\t}\n}\n\nfunction parseTransaction(\n\ttransaction: Transaction_FieldsFragment,\n): Experimental_SuiClientTypes.TransactionResponse {\n\tconst objectTypes: Record<string, string> = {};\n\n\ttransaction.effects?.unchangedSharedObjects.nodes.forEach((node) => {\n\t\tif (node.__typename === 'SharedObjectRead') {\n\t\t\tconst type = node.object?.asMoveObject?.contents?.type.repr;\n\t\t\tconst address = node.object?.asMoveObject?.address;\n\n\t\t\tif (type && address) {\n\t\t\t\tobjectTypes[address] = type;\n\t\t\t}\n\t\t}\n\t});\n\n\ttransaction.effects?.objectChanges.nodes.forEach((node) => {\n\t\tconst address = node.address;\n\t\tconst type =\n\t\t\tnode.inputState?.asMoveObject?.contents?.type.repr ??\n\t\t\tnode.outputState?.asMoveObject?.contents?.type.repr;\n\n\t\tif (address && type) {\n\t\t\tobjectTypes[address] = type;\n\t\t}\n\t});\n\n\treturn {\n\t\tdigest: transaction.digest!,\n\t\teffects: parseTransactionEffectsBcs(new Uint8Array(transaction.effects?.bcs!)),\n\t\tepoch: transaction.effects?.epoch?.epochId ?? null,\n\t\tobjectTypes: Promise.resolve(objectTypes),\n\t\ttransaction: parseTransactionBcs(transaction.bcs!),\n\t\tsignatures: transaction.signatures!,\n\t};\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_utils", "result"]
7
7
  }
@@ -131,7 +131,7 @@ async function resolveObjectReferences(transactionData, client) {
131
131
  throw new Error(`Failed to fetch object: ${object.error}`);
132
132
  }
133
133
  const owner = object.data.owner;
134
- const initialSharedVersion = owner && typeof owner === "object" && "Shared" in owner ? owner.Shared.initial_shared_version : null;
134
+ const initialSharedVersion = owner && typeof owner === "object" ? "Shared" in owner ? owner.Shared.initial_shared_version : "ConsensusAddressOwner" in owner ? owner.ConsensusAddressOwner.start_version : null : null;
135
135
  return {
136
136
  objectId: object.data.objectId,
137
137
  digest: object.data.digest,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/experimental/transports/json-rpc-resolver.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { parse } from 'valibot';\n\nimport { normalizeSuiAddress, normalizeSuiObjectId, SUI_TYPE_ARG } from '../../utils/index.js';\nimport { ObjectRef } from '../../transactions/data/internal.js';\nimport type { CallArg, Command, OpenMoveTypeSignature } from '../../transactions/data/internal.js';\nimport { Inputs } from '../../transactions/Inputs.js';\nimport {\n\tgetPureBcsSchema,\n\tisTxContext,\n\tnormalizedTypeToMoveTypeSignature,\n} from '../../transactions/serializer.js';\nimport type { TransactionDataBuilder } from '../../transactions/TransactionData.js';\nimport { chunk } from '@mysten/utils';\nimport type { SuiClient } from '../../client/index.js';\nimport type { BuildTransactionOptions } from '../../transactions/index.js';\n\n// The maximum objects that can be fetched at once using multiGetObjects.\nconst MAX_OBJECTS_PER_FETCH = 50;\n\n// An amount of gas (in gas units) that is added to transactions as an overhead to ensure transactions do not fail.\nconst GAS_SAFE_OVERHEAD = 1000n;\nconst MAX_GAS = 50_000_000_000;\n\nexport function suiClientResolveTransactionPlugin(client: SuiClient) {\n\treturn async function resolveTransactionData(\n\t\ttransactionData: TransactionDataBuilder,\n\t\toptions: BuildTransactionOptions,\n\t\tnext: () => Promise<void>,\n\t) {\n\t\tawait normalizeInputs(transactionData, client);\n\t\tawait resolveObjectReferences(transactionData, client);\n\n\t\tif (!options.onlyTransactionKind) {\n\t\t\tawait setGasPrice(transactionData, client);\n\t\t\tawait setGasBudget(transactionData, client);\n\t\t\tawait setGasPayment(transactionData, client);\n\t\t}\n\n\t\treturn await next();\n\t};\n}\n\nasync function setGasPrice(transactionData: TransactionDataBuilder, client: SuiClient) {\n\tif (!transactionData.gasConfig.price) {\n\t\ttransactionData.gasConfig.price = String(await client.getReferenceGasPrice());\n\t}\n}\n\nasync function setGasBudget(transactionData: TransactionDataBuilder, client: SuiClient) {\n\tif (transactionData.gasConfig.budget) {\n\t\treturn;\n\t}\n\n\tconst dryRunResult = await client.dryRunTransactionBlock({\n\t\ttransactionBlock: transactionData.build({\n\t\t\toverrides: {\n\t\t\t\tgasData: {\n\t\t\t\t\tbudget: String(MAX_GAS),\n\t\t\t\t\tpayment: [],\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t});\n\n\tif (dryRunResult.effects.status.status !== 'success') {\n\t\tthrow new Error(\n\t\t\t`Dry run failed, could not automatically determine a budget: ${dryRunResult.effects.status.error}`,\n\t\t\t{ cause: dryRunResult },\n\t\t);\n\t}\n\n\tconst safeOverhead = GAS_SAFE_OVERHEAD * BigInt(transactionData.gasConfig.price || 1n);\n\n\tconst baseComputationCostWithOverhead =\n\t\tBigInt(dryRunResult.effects.gasUsed.computationCost) + safeOverhead;\n\n\tconst gasBudget =\n\t\tbaseComputationCostWithOverhead +\n\t\tBigInt(dryRunResult.effects.gasUsed.storageCost) -\n\t\tBigInt(dryRunResult.effects.gasUsed.storageRebate);\n\n\ttransactionData.gasConfig.budget = String(\n\t\tgasBudget > baseComputationCostWithOverhead ? gasBudget : baseComputationCostWithOverhead,\n\t);\n}\n\n// The current default is just picking _all_ coins we can which may not be ideal.\nasync function setGasPayment(transactionData: TransactionDataBuilder, client: SuiClient) {\n\tif (!transactionData.gasConfig.payment) {\n\t\tconst coins = await client.getCoins({\n\t\t\towner: transactionData.gasConfig.owner || transactionData.sender!,\n\t\t\tcoinType: SUI_TYPE_ARG,\n\t\t});\n\n\t\tconst paymentCoins = coins.data\n\t\t\t// Filter out coins that are also used as input:\n\t\t\t.filter((coin) => {\n\t\t\t\tconst matchingInput = transactionData.inputs.find((input) => {\n\t\t\t\t\tif (input.Object?.ImmOrOwnedObject) {\n\t\t\t\t\t\treturn coin.coinObjectId === input.Object.ImmOrOwnedObject.objectId;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\n\t\t\t\treturn !matchingInput;\n\t\t\t})\n\t\t\t.map((coin) => ({\n\t\t\t\tobjectId: coin.coinObjectId,\n\t\t\t\tdigest: coin.digest,\n\t\t\t\tversion: coin.version,\n\t\t\t}));\n\n\t\tif (!paymentCoins.length) {\n\t\t\tthrow new Error('No valid gas coins found for the transaction.');\n\t\t}\n\n\t\ttransactionData.gasConfig.payment = paymentCoins.map((payment) => parse(ObjectRef, payment));\n\t}\n}\n\nasync function resolveObjectReferences(transactionData: TransactionDataBuilder, client: SuiClient) {\n\t// Keep track of the object references that will need to be resolved at the end of the transaction.\n\t// We keep the input by-reference to avoid needing to re-resolve it:\n\tconst objectsToResolve = transactionData.inputs.filter((input) => {\n\t\treturn (\n\t\t\tinput.UnresolvedObject &&\n\t\t\t!(input.UnresolvedObject.version || input.UnresolvedObject?.initialSharedVersion)\n\t\t);\n\t}) as Extract<CallArg, { UnresolvedObject: unknown }>[];\n\n\tconst dedupedIds = [\n\t\t...new Set(\n\t\t\tobjectsToResolve.map((input) => normalizeSuiObjectId(input.UnresolvedObject.objectId)),\n\t\t),\n\t];\n\n\tconst objectChunks = dedupedIds.length ? chunk(dedupedIds, MAX_OBJECTS_PER_FETCH) : [];\n\tconst resolved = (\n\t\tawait Promise.all(\n\t\t\tobjectChunks.map((chunk) =>\n\t\t\t\tclient.multiGetObjects({\n\t\t\t\t\tids: chunk,\n\t\t\t\t\toptions: { showOwner: true },\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t).flat();\n\n\tconst responsesById = new Map(\n\t\tdedupedIds.map((id, index) => {\n\t\t\treturn [id, resolved[index]];\n\t\t}),\n\t);\n\n\tconst invalidObjects = Array.from(responsesById)\n\t\t.filter(([_, obj]) => obj.error)\n\t\t.map(([_, obj]) => JSON.stringify(obj.error));\n\n\tif (invalidObjects.length) {\n\t\tthrow new Error(`The following input objects are invalid: ${invalidObjects.join(', ')}`);\n\t}\n\n\tconst objects = resolved.map((object) => {\n\t\tif (object.error || !object.data) {\n\t\t\tthrow new Error(`Failed to fetch object: ${object.error}`);\n\t\t}\n\t\tconst owner = object.data.owner;\n\t\tconst initialSharedVersion =\n\t\t\towner && typeof owner === 'object' && 'Shared' in owner\n\t\t\t\t? owner.Shared.initial_shared_version\n\t\t\t\t: null;\n\n\t\treturn {\n\t\t\tobjectId: object.data.objectId,\n\t\t\tdigest: object.data.digest,\n\t\t\tversion: object.data.version,\n\t\t\tinitialSharedVersion,\n\t\t};\n\t});\n\n\tconst objectsById = new Map(\n\t\tdedupedIds.map((id, index) => {\n\t\t\treturn [id, objects[index]];\n\t\t}),\n\t);\n\n\tfor (const [index, input] of transactionData.inputs.entries()) {\n\t\tif (!input.UnresolvedObject) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet updated: CallArg | undefined;\n\t\tconst id = normalizeSuiAddress(input.UnresolvedObject.objectId);\n\t\tconst object = objectsById.get(id);\n\n\t\tif (input.UnresolvedObject.initialSharedVersion ?? object?.initialSharedVersion) {\n\t\t\tupdated = Inputs.SharedObjectRef({\n\t\t\t\tobjectId: id,\n\t\t\t\tinitialSharedVersion:\n\t\t\t\t\tinput.UnresolvedObject.initialSharedVersion || object?.initialSharedVersion!,\n\t\t\t\tmutable: isUsedAsMutable(transactionData, index),\n\t\t\t});\n\t\t} else if (isUsedAsReceiving(transactionData, index)) {\n\t\t\tupdated = Inputs.ReceivingRef(\n\t\t\t\t{\n\t\t\t\t\tobjectId: id,\n\t\t\t\t\tdigest: input.UnresolvedObject.digest ?? object?.digest!,\n\t\t\t\t\tversion: input.UnresolvedObject.version ?? object?.version!,\n\t\t\t\t}!,\n\t\t\t);\n\t\t}\n\n\t\ttransactionData.inputs[transactionData.inputs.indexOf(input)] =\n\t\t\tupdated ??\n\t\t\tInputs.ObjectRef({\n\t\t\t\tobjectId: id,\n\t\t\t\tdigest: input.UnresolvedObject.digest ?? object?.digest!,\n\t\t\t\tversion: input.UnresolvedObject.version ?? object?.version!,\n\t\t\t});\n\t}\n}\n\nasync function normalizeInputs(transactionData: TransactionDataBuilder, client: SuiClient) {\n\tconst { inputs, commands } = transactionData;\n\tconst moveCallsToResolve: Extract<Command, { MoveCall: unknown }>['MoveCall'][] = [];\n\tconst moveFunctionsToResolve = new Set<string>();\n\n\tcommands.forEach((command) => {\n\t\t// Special case move call:\n\t\tif (command.MoveCall) {\n\t\t\t// Determine if any of the arguments require encoding.\n\t\t\t// - If they don't, then this is good to go.\n\t\t\t// - If they do, then we need to fetch the normalized move module.\n\n\t\t\t// If we already know the argument types, we don't need to resolve them again\n\t\t\tif (command.MoveCall._argumentTypes) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst inputs = command.MoveCall.arguments.map((arg) => {\n\t\t\t\tif (arg.$kind === 'Input') {\n\t\t\t\t\treturn transactionData.inputs[arg.Input];\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t});\n\t\t\tconst needsResolution = inputs.some(\n\t\t\t\t(input) => input?.UnresolvedPure || input?.UnresolvedObject,\n\t\t\t);\n\n\t\t\tif (needsResolution) {\n\t\t\t\tconst functionName = `${command.MoveCall.package}::${command.MoveCall.module}::${command.MoveCall.function}`;\n\t\t\t\tmoveFunctionsToResolve.add(functionName);\n\t\t\t\tmoveCallsToResolve.push(command.MoveCall);\n\t\t\t}\n\t\t}\n\t});\n\n\tconst moveFunctionParameters = new Map<string, OpenMoveTypeSignature[]>();\n\tif (moveFunctionsToResolve.size > 0) {\n\t\tawait Promise.all(\n\t\t\t[...moveFunctionsToResolve].map(async (functionName) => {\n\t\t\t\tconst [packageId, moduleId, functionId] = functionName.split('::');\n\t\t\t\tconst def = await client.getNormalizedMoveFunction({\n\t\t\t\t\tpackage: packageId,\n\t\t\t\t\tmodule: moduleId,\n\t\t\t\t\tfunction: functionId,\n\t\t\t\t});\n\n\t\t\t\tmoveFunctionParameters.set(\n\t\t\t\t\tfunctionName,\n\t\t\t\t\tdef.parameters.map((param) => normalizedTypeToMoveTypeSignature(param)),\n\t\t\t\t);\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (moveCallsToResolve.length) {\n\t\tawait Promise.all(\n\t\t\tmoveCallsToResolve.map(async (moveCall) => {\n\t\t\t\tconst parameters = moveFunctionParameters.get(\n\t\t\t\t\t`${moveCall.package}::${moveCall.module}::${moveCall.function}`,\n\t\t\t\t);\n\n\t\t\t\tif (!parameters) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Entry functions can have a mutable reference to an instance of the TxContext\n\t\t\t\t// struct defined in the TxContext module as the last parameter. The caller of\n\t\t\t\t// the function does not need to pass it in as an argument.\n\t\t\t\tconst hasTxContext = parameters.length > 0 && isTxContext(parameters.at(-1)!);\n\t\t\t\tconst params = hasTxContext ? parameters.slice(0, parameters.length - 1) : parameters;\n\n\t\t\t\tmoveCall._argumentTypes = params;\n\t\t\t}),\n\t\t);\n\t}\n\n\tcommands.forEach((command) => {\n\t\tif (!command.MoveCall) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst moveCall = command.MoveCall;\n\t\tconst fnName = `${moveCall.package}::${moveCall.module}::${moveCall.function}`;\n\t\tconst params = moveCall._argumentTypes;\n\n\t\tif (!params) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (params.length !== command.MoveCall.arguments.length) {\n\t\t\tthrow new Error(`Incorrect number of arguments for ${fnName}`);\n\t\t}\n\n\t\tparams.forEach((param, i) => {\n\t\t\tconst arg = moveCall.arguments[i];\n\t\t\tif (arg.$kind !== 'Input') return;\n\t\t\tconst input = inputs[arg.Input];\n\n\t\t\t// Skip if the input is already resolved\n\t\t\tif (!input.UnresolvedPure && !input.UnresolvedObject) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst inputValue = input.UnresolvedPure?.value ?? input.UnresolvedObject?.objectId!;\n\n\t\t\tconst schema = getPureBcsSchema(param.body);\n\t\t\tif (schema) {\n\t\t\t\targ.type = 'pure';\n\t\t\t\tinputs[inputs.indexOf(input)] = Inputs.Pure(schema.serialize(inputValue));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (typeof inputValue !== 'string') {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Expect the argument to be an object id string, got ${JSON.stringify(\n\t\t\t\t\t\tinputValue,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t2,\n\t\t\t\t\t)}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\targ.type = 'object';\n\t\t\tconst unresolvedObject: typeof input = input.UnresolvedPure\n\t\t\t\t? {\n\t\t\t\t\t\t$kind: 'UnresolvedObject',\n\t\t\t\t\t\tUnresolvedObject: {\n\t\t\t\t\t\t\tobjectId: inputValue,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t: input;\n\n\t\t\tinputs[arg.Input] = unresolvedObject;\n\t\t});\n\t});\n}\n\nfunction isUsedAsMutable(transactionData: TransactionDataBuilder, index: number) {\n\tlet usedAsMutable = false;\n\n\ttransactionData.getInputUses(index, (arg, tx) => {\n\t\tif (tx.MoveCall && tx.MoveCall._argumentTypes) {\n\t\t\tconst argIndex = tx.MoveCall.arguments.indexOf(arg);\n\t\t\tusedAsMutable = tx.MoveCall._argumentTypes[argIndex].ref !== '&' || usedAsMutable;\n\t\t}\n\n\t\tif (tx.$kind === 'MakeMoveVec' || tx.$kind === 'MergeCoins' || tx.$kind === 'SplitCoins') {\n\t\t\tusedAsMutable = true;\n\t\t}\n\t});\n\n\treturn usedAsMutable;\n}\n\nfunction isUsedAsReceiving(transactionData: TransactionDataBuilder, index: number) {\n\tlet usedAsReceiving = false;\n\n\ttransactionData.getInputUses(index, (arg, tx) => {\n\t\tif (tx.MoveCall && tx.MoveCall._argumentTypes) {\n\t\t\tconst argIndex = tx.MoveCall.arguments.indexOf(arg);\n\t\t\tusedAsReceiving = isReceivingType(tx.MoveCall._argumentTypes[argIndex]) || usedAsReceiving;\n\t\t}\n\t});\n\n\treturn usedAsReceiving;\n}\n\nfunction isReceivingType(type: OpenMoveTypeSignature): boolean {\n\tif (typeof type.body !== 'object' || !('datatype' in type.body)) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\ttype.body.datatype.package === '0x2' &&\n\t\ttype.body.datatype.module === 'transfer' &&\n\t\ttype.body.datatype.type === 'Receiving'\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAsB;AAEtB,mBAAwE;AACxE,sBAA0B;AAE1B,oBAAuB;AACvB,wBAIO;AAEP,IAAAA,gBAAsB;AAKtB,MAAM,wBAAwB;AAG9B,MAAM,oBAAoB;AAC1B,MAAM,UAAU;AAET,SAAS,kCAAkC,QAAmB;AACpE,SAAO,eAAe,uBACrB,iBACA,SACA,MACC;AACD,UAAM,gBAAgB,iBAAiB,MAAM;AAC7C,UAAM,wBAAwB,iBAAiB,MAAM;AAErD,QAAI,CAAC,QAAQ,qBAAqB;AACjC,YAAM,YAAY,iBAAiB,MAAM;AACzC,YAAM,aAAa,iBAAiB,MAAM;AAC1C,YAAM,cAAc,iBAAiB,MAAM;AAAA,IAC5C;AAEA,WAAO,MAAM,KAAK;AAAA,EACnB;AACD;AAEA,eAAe,YAAY,iBAAyC,QAAmB;AACtF,MAAI,CAAC,gBAAgB,UAAU,OAAO;AACrC,oBAAgB,UAAU,QAAQ,OAAO,MAAM,OAAO,qBAAqB,CAAC;AAAA,EAC7E;AACD;AAEA,eAAe,aAAa,iBAAyC,QAAmB;AACvF,MAAI,gBAAgB,UAAU,QAAQ;AACrC;AAAA,EACD;AAEA,QAAM,eAAe,MAAM,OAAO,uBAAuB;AAAA,IACxD,kBAAkB,gBAAgB,MAAM;AAAA,MACvC,WAAW;AAAA,QACV,SAAS;AAAA,UACR,QAAQ,OAAO,OAAO;AAAA,UACtB,SAAS,CAAC;AAAA,QACX;AAAA,MACD;AAAA,IACD,CAAC;AAAA,EACF,CAAC;AAED,MAAI,aAAa,QAAQ,OAAO,WAAW,WAAW;AACrD,UAAM,IAAI;AAAA,MACT,+DAA+D,aAAa,QAAQ,OAAO,KAAK;AAAA,MAChG,EAAE,OAAO,aAAa;AAAA,IACvB;AAAA,EACD;AAEA,QAAM,eAAe,oBAAoB,OAAO,gBAAgB,UAAU,SAAS,EAAE;AAErF,QAAM,kCACL,OAAO,aAAa,QAAQ,QAAQ,eAAe,IAAI;AAExD,QAAM,YACL,kCACA,OAAO,aAAa,QAAQ,QAAQ,WAAW,IAC/C,OAAO,aAAa,QAAQ,QAAQ,aAAa;AAElD,kBAAgB,UAAU,SAAS;AAAA,IAClC,YAAY,kCAAkC,YAAY;AAAA,EAC3D;AACD;AAGA,eAAe,cAAc,iBAAyC,QAAmB;AACxF,MAAI,CAAC,gBAAgB,UAAU,SAAS;AACvC,UAAM,QAAQ,MAAM,OAAO,SAAS;AAAA,MACnC,OAAO,gBAAgB,UAAU,SAAS,gBAAgB;AAAA,MAC1D,UAAU;AAAA,IACX,CAAC;AAED,UAAM,eAAe,MAAM,KAEzB,OAAO,CAAC,SAAS;AACjB,YAAM,gBAAgB,gBAAgB,OAAO,KAAK,CAAC,UAAU;AAC5D,YAAI,MAAM,QAAQ,kBAAkB;AACnC,iBAAO,KAAK,iBAAiB,MAAM,OAAO,iBAAiB;AAAA,QAC5D;AAEA,eAAO;AAAA,MACR,CAAC;AAED,aAAO,CAAC;AAAA,IACT,CAAC,EACA,IAAI,CAAC,UAAU;AAAA,MACf,UAAU,KAAK;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,IACf,EAAE;AAEH,QAAI,CAAC,aAAa,QAAQ;AACzB,YAAM,IAAI,MAAM,+CAA+C;AAAA,IAChE;AAEA,oBAAgB,UAAU,UAAU,aAAa,IAAI,CAAC,gBAAY,sBAAM,2BAAW,OAAO,CAAC;AAAA,EAC5F;AACD;AAEA,eAAe,wBAAwB,iBAAyC,QAAmB;AAGlG,QAAM,mBAAmB,gBAAgB,OAAO,OAAO,CAAC,UAAU;AACjE,WACC,MAAM,oBACN,EAAE,MAAM,iBAAiB,WAAW,MAAM,kBAAkB;AAAA,EAE9D,CAAC;AAED,QAAM,aAAa;AAAA,IAClB,GAAG,IAAI;AAAA,MACN,iBAAiB,IAAI,CAAC,cAAU,mCAAqB,MAAM,iBAAiB,QAAQ,CAAC;AAAA,IACtF;AAAA,EACD;AAEA,QAAM,eAAe,WAAW,aAAS,qBAAM,YAAY,qBAAqB,IAAI,CAAC;AACrF,QAAM,YACL,MAAM,QAAQ;AAAA,IACb,aAAa;AAAA,MAAI,CAACC,WACjB,OAAO,gBAAgB;AAAA,QACtB,KAAKA;AAAA,QACL,SAAS,EAAE,WAAW,KAAK;AAAA,MAC5B,CAAC;AAAA,IACF;AAAA,EACD,GACC,KAAK;AAEP,QAAM,gBAAgB,IAAI;AAAA,IACzB,WAAW,IAAI,CAAC,IAAI,UAAU;AAC7B,aAAO,CAAC,IAAI,SAAS,KAAK,CAAC;AAAA,IAC5B,CAAC;AAAA,EACF;AAEA,QAAM,iBAAiB,MAAM,KAAK,aAAa,EAC7C,OAAO,CAAC,CAAC,GAAG,GAAG,MAAM,IAAI,KAAK,EAC9B,IAAI,CAAC,CAAC,GAAG,GAAG,MAAM,KAAK,UAAU,IAAI,KAAK,CAAC;AAE7C,MAAI,eAAe,QAAQ;AAC1B,UAAM,IAAI,MAAM,4CAA4C,eAAe,KAAK,IAAI,CAAC,EAAE;AAAA,EACxF;AAEA,QAAM,UAAU,SAAS,IAAI,CAAC,WAAW;AACxC,QAAI,OAAO,SAAS,CAAC,OAAO,MAAM;AACjC,YAAM,IAAI,MAAM,2BAA2B,OAAO,KAAK,EAAE;AAAA,IAC1D;AACA,UAAM,QAAQ,OAAO,KAAK;AAC1B,UAAM,uBACL,SAAS,OAAO,UAAU,YAAY,YAAY,QAC/C,MAAM,OAAO,yBACb;AAEJ,WAAO;AAAA,MACN,UAAU,OAAO,KAAK;AAAA,MACtB,QAAQ,OAAO,KAAK;AAAA,MACpB,SAAS,OAAO,KAAK;AAAA,MACrB;AAAA,IACD;AAAA,EACD,CAAC;AAED,QAAM,cAAc,IAAI;AAAA,IACvB,WAAW,IAAI,CAAC,IAAI,UAAU;AAC7B,aAAO,CAAC,IAAI,QAAQ,KAAK,CAAC;AAAA,IAC3B,CAAC;AAAA,EACF;AAEA,aAAW,CAAC,OAAO,KAAK,KAAK,gBAAgB,OAAO,QAAQ,GAAG;AAC9D,QAAI,CAAC,MAAM,kBAAkB;AAC5B;AAAA,IACD;AAEA,QAAI;AACJ,UAAM,SAAK,kCAAoB,MAAM,iBAAiB,QAAQ;AAC9D,UAAM,SAAS,YAAY,IAAI,EAAE;AAEjC,QAAI,MAAM,iBAAiB,wBAAwB,QAAQ,sBAAsB;AAChF,gBAAU,qBAAO,gBAAgB;AAAA,QAChC,UAAU;AAAA,QACV,sBACC,MAAM,iBAAiB,wBAAwB,QAAQ;AAAA,QACxD,SAAS,gBAAgB,iBAAiB,KAAK;AAAA,MAChD,CAAC;AAAA,IACF,WAAW,kBAAkB,iBAAiB,KAAK,GAAG;AACrD,gBAAU,qBAAO;AAAA,QAChB;AAAA,UACC,UAAU;AAAA,UACV,QAAQ,MAAM,iBAAiB,UAAU,QAAQ;AAAA,UACjD,SAAS,MAAM,iBAAiB,WAAW,QAAQ;AAAA,QACpD;AAAA,MACD;AAAA,IACD;AAEA,oBAAgB,OAAO,gBAAgB,OAAO,QAAQ,KAAK,CAAC,IAC3D,WACA,qBAAO,UAAU;AAAA,MAChB,UAAU;AAAA,MACV,QAAQ,MAAM,iBAAiB,UAAU,QAAQ;AAAA,MACjD,SAAS,MAAM,iBAAiB,WAAW,QAAQ;AAAA,IACpD,CAAC;AAAA,EACH;AACD;AAEA,eAAe,gBAAgB,iBAAyC,QAAmB;AAC1F,QAAM,EAAE,QAAQ,SAAS,IAAI;AAC7B,QAAM,qBAA4E,CAAC;AACnF,QAAM,yBAAyB,oBAAI,IAAY;AAE/C,WAAS,QAAQ,CAAC,YAAY;AAE7B,QAAI,QAAQ,UAAU;AAMrB,UAAI,QAAQ,SAAS,gBAAgB;AACpC;AAAA,MACD;AAEA,YAAMC,UAAS,QAAQ,SAAS,UAAU,IAAI,CAAC,QAAQ;AACtD,YAAI,IAAI,UAAU,SAAS;AAC1B,iBAAO,gBAAgB,OAAO,IAAI,KAAK;AAAA,QACxC;AACA,eAAO;AAAA,MACR,CAAC;AACD,YAAM,kBAAkBA,QAAO;AAAA,QAC9B,CAAC,UAAU,OAAO,kBAAkB,OAAO;AAAA,MAC5C;AAEA,UAAI,iBAAiB;AACpB,cAAM,eAAe,GAAG,QAAQ,SAAS,OAAO,KAAK,QAAQ,SAAS,MAAM,KAAK,QAAQ,SAAS,QAAQ;AAC1G,+BAAuB,IAAI,YAAY;AACvC,2BAAmB,KAAK,QAAQ,QAAQ;AAAA,MACzC;AAAA,IACD;AAAA,EACD,CAAC;AAED,QAAM,yBAAyB,oBAAI,IAAqC;AACxE,MAAI,uBAAuB,OAAO,GAAG;AACpC,UAAM,QAAQ;AAAA,MACb,CAAC,GAAG,sBAAsB,EAAE,IAAI,OAAO,iBAAiB;AACvD,cAAM,CAAC,WAAW,UAAU,UAAU,IAAI,aAAa,MAAM,IAAI;AACjE,cAAM,MAAM,MAAM,OAAO,0BAA0B;AAAA,UAClD,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,UAAU;AAAA,QACX,CAAC;AAED,+BAAuB;AAAA,UACtB;AAAA,UACA,IAAI,WAAW,IAAI,CAAC,cAAU,qDAAkC,KAAK,CAAC;AAAA,QACvE;AAAA,MACD,CAAC;AAAA,IACF;AAAA,EACD;AAEA,MAAI,mBAAmB,QAAQ;AAC9B,UAAM,QAAQ;AAAA,MACb,mBAAmB,IAAI,OAAO,aAAa;AAC1C,cAAM,aAAa,uBAAuB;AAAA,UACzC,GAAG,SAAS,OAAO,KAAK,SAAS,MAAM,KAAK,SAAS,QAAQ;AAAA,QAC9D;AAEA,YAAI,CAAC,YAAY;AAChB;AAAA,QACD;AAKA,cAAM,eAAe,WAAW,SAAS,SAAK,+BAAY,WAAW,GAAG,EAAE,CAAE;AAC5E,cAAM,SAAS,eAAe,WAAW,MAAM,GAAG,WAAW,SAAS,CAAC,IAAI;AAE3E,iBAAS,iBAAiB;AAAA,MAC3B,CAAC;AAAA,IACF;AAAA,EACD;AAEA,WAAS,QAAQ,CAAC,YAAY;AAC7B,QAAI,CAAC,QAAQ,UAAU;AACtB;AAAA,IACD;AAEA,UAAM,WAAW,QAAQ;AACzB,UAAM,SAAS,GAAG,SAAS,OAAO,KAAK,SAAS,MAAM,KAAK,SAAS,QAAQ;AAC5E,UAAM,SAAS,SAAS;AAExB,QAAI,CAAC,QAAQ;AACZ;AAAA,IACD;AAEA,QAAI,OAAO,WAAW,QAAQ,SAAS,UAAU,QAAQ;AACxD,YAAM,IAAI,MAAM,qCAAqC,MAAM,EAAE;AAAA,IAC9D;AAEA,WAAO,QAAQ,CAAC,OAAO,MAAM;AAC5B,YAAM,MAAM,SAAS,UAAU,CAAC;AAChC,UAAI,IAAI,UAAU,QAAS;AAC3B,YAAM,QAAQ,OAAO,IAAI,KAAK;AAG9B,UAAI,CAAC,MAAM,kBAAkB,CAAC,MAAM,kBAAkB;AACrD;AAAA,MACD;AAEA,YAAM,aAAa,MAAM,gBAAgB,SAAS,MAAM,kBAAkB;AAE1E,YAAM,aAAS,oCAAiB,MAAM,IAAI;AAC1C,UAAI,QAAQ;AACX,YAAI,OAAO;AACX,eAAO,OAAO,QAAQ,KAAK,CAAC,IAAI,qBAAO,KAAK,OAAO,UAAU,UAAU,CAAC;AACxE;AAAA,MACD;AAEA,UAAI,OAAO,eAAe,UAAU;AACnC,cAAM,IAAI;AAAA,UACT,sDAAsD,KAAK;AAAA,YAC1D;AAAA,YACA;AAAA,YACA;AAAA,UACD,CAAC;AAAA,QACF;AAAA,MACD;AAEA,UAAI,OAAO;AACX,YAAM,mBAAiC,MAAM,iBAC1C;AAAA,QACA,OAAO;AAAA,QACP,kBAAkB;AAAA,UACjB,UAAU;AAAA,QACX;AAAA,MACD,IACC;AAEH,aAAO,IAAI,KAAK,IAAI;AAAA,IACrB,CAAC;AAAA,EACF,CAAC;AACF;AAEA,SAAS,gBAAgB,iBAAyC,OAAe;AAChF,MAAI,gBAAgB;AAEpB,kBAAgB,aAAa,OAAO,CAAC,KAAK,OAAO;AAChD,QAAI,GAAG,YAAY,GAAG,SAAS,gBAAgB;AAC9C,YAAM,WAAW,GAAG,SAAS,UAAU,QAAQ,GAAG;AAClD,sBAAgB,GAAG,SAAS,eAAe,QAAQ,EAAE,QAAQ,OAAO;AAAA,IACrE;AAEA,QAAI,GAAG,UAAU,iBAAiB,GAAG,UAAU,gBAAgB,GAAG,UAAU,cAAc;AACzF,sBAAgB;AAAA,IACjB;AAAA,EACD,CAAC;AAED,SAAO;AACR;AAEA,SAAS,kBAAkB,iBAAyC,OAAe;AAClF,MAAI,kBAAkB;AAEtB,kBAAgB,aAAa,OAAO,CAAC,KAAK,OAAO;AAChD,QAAI,GAAG,YAAY,GAAG,SAAS,gBAAgB;AAC9C,YAAM,WAAW,GAAG,SAAS,UAAU,QAAQ,GAAG;AAClD,wBAAkB,gBAAgB,GAAG,SAAS,eAAe,QAAQ,CAAC,KAAK;AAAA,IAC5E;AAAA,EACD,CAAC;AAED,SAAO;AACR;AAEA,SAAS,gBAAgB,MAAsC;AAC9D,MAAI,OAAO,KAAK,SAAS,YAAY,EAAE,cAAc,KAAK,OAAO;AAChE,WAAO;AAAA,EACR;AAEA,SACC,KAAK,KAAK,SAAS,YAAY,SAC/B,KAAK,KAAK,SAAS,WAAW,cAC9B,KAAK,KAAK,SAAS,SAAS;AAE9B;",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { parse } from 'valibot';\n\nimport { normalizeSuiAddress, normalizeSuiObjectId, SUI_TYPE_ARG } from '../../utils/index.js';\nimport { ObjectRef } from '../../transactions/data/internal.js';\nimport type { CallArg, Command, OpenMoveTypeSignature } from '../../transactions/data/internal.js';\nimport { Inputs } from '../../transactions/Inputs.js';\nimport {\n\tgetPureBcsSchema,\n\tisTxContext,\n\tnormalizedTypeToMoveTypeSignature,\n} from '../../transactions/serializer.js';\nimport type { TransactionDataBuilder } from '../../transactions/TransactionData.js';\nimport { chunk } from '@mysten/utils';\nimport type { SuiClient } from '../../client/index.js';\nimport type { BuildTransactionOptions } from '../../transactions/index.js';\n\n// The maximum objects that can be fetched at once using multiGetObjects.\nconst MAX_OBJECTS_PER_FETCH = 50;\n\n// An amount of gas (in gas units) that is added to transactions as an overhead to ensure transactions do not fail.\nconst GAS_SAFE_OVERHEAD = 1000n;\nconst MAX_GAS = 50_000_000_000;\n\nexport function suiClientResolveTransactionPlugin(client: SuiClient) {\n\treturn async function resolveTransactionData(\n\t\ttransactionData: TransactionDataBuilder,\n\t\toptions: BuildTransactionOptions,\n\t\tnext: () => Promise<void>,\n\t) {\n\t\tawait normalizeInputs(transactionData, client);\n\t\tawait resolveObjectReferences(transactionData, client);\n\n\t\tif (!options.onlyTransactionKind) {\n\t\t\tawait setGasPrice(transactionData, client);\n\t\t\tawait setGasBudget(transactionData, client);\n\t\t\tawait setGasPayment(transactionData, client);\n\t\t}\n\n\t\treturn await next();\n\t};\n}\n\nasync function setGasPrice(transactionData: TransactionDataBuilder, client: SuiClient) {\n\tif (!transactionData.gasConfig.price) {\n\t\ttransactionData.gasConfig.price = String(await client.getReferenceGasPrice());\n\t}\n}\n\nasync function setGasBudget(transactionData: TransactionDataBuilder, client: SuiClient) {\n\tif (transactionData.gasConfig.budget) {\n\t\treturn;\n\t}\n\n\tconst dryRunResult = await client.dryRunTransactionBlock({\n\t\ttransactionBlock: transactionData.build({\n\t\t\toverrides: {\n\t\t\t\tgasData: {\n\t\t\t\t\tbudget: String(MAX_GAS),\n\t\t\t\t\tpayment: [],\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t});\n\n\tif (dryRunResult.effects.status.status !== 'success') {\n\t\tthrow new Error(\n\t\t\t`Dry run failed, could not automatically determine a budget: ${dryRunResult.effects.status.error}`,\n\t\t\t{ cause: dryRunResult },\n\t\t);\n\t}\n\n\tconst safeOverhead = GAS_SAFE_OVERHEAD * BigInt(transactionData.gasConfig.price || 1n);\n\n\tconst baseComputationCostWithOverhead =\n\t\tBigInt(dryRunResult.effects.gasUsed.computationCost) + safeOverhead;\n\n\tconst gasBudget =\n\t\tbaseComputationCostWithOverhead +\n\t\tBigInt(dryRunResult.effects.gasUsed.storageCost) -\n\t\tBigInt(dryRunResult.effects.gasUsed.storageRebate);\n\n\ttransactionData.gasConfig.budget = String(\n\t\tgasBudget > baseComputationCostWithOverhead ? gasBudget : baseComputationCostWithOverhead,\n\t);\n}\n\n// The current default is just picking _all_ coins we can which may not be ideal.\nasync function setGasPayment(transactionData: TransactionDataBuilder, client: SuiClient) {\n\tif (!transactionData.gasConfig.payment) {\n\t\tconst coins = await client.getCoins({\n\t\t\towner: transactionData.gasConfig.owner || transactionData.sender!,\n\t\t\tcoinType: SUI_TYPE_ARG,\n\t\t});\n\n\t\tconst paymentCoins = coins.data\n\t\t\t// Filter out coins that are also used as input:\n\t\t\t.filter((coin) => {\n\t\t\t\tconst matchingInput = transactionData.inputs.find((input) => {\n\t\t\t\t\tif (input.Object?.ImmOrOwnedObject) {\n\t\t\t\t\t\treturn coin.coinObjectId === input.Object.ImmOrOwnedObject.objectId;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\n\t\t\t\treturn !matchingInput;\n\t\t\t})\n\t\t\t.map((coin) => ({\n\t\t\t\tobjectId: coin.coinObjectId,\n\t\t\t\tdigest: coin.digest,\n\t\t\t\tversion: coin.version,\n\t\t\t}));\n\n\t\tif (!paymentCoins.length) {\n\t\t\tthrow new Error('No valid gas coins found for the transaction.');\n\t\t}\n\n\t\ttransactionData.gasConfig.payment = paymentCoins.map((payment) => parse(ObjectRef, payment));\n\t}\n}\n\nasync function resolveObjectReferences(transactionData: TransactionDataBuilder, client: SuiClient) {\n\t// Keep track of the object references that will need to be resolved at the end of the transaction.\n\t// We keep the input by-reference to avoid needing to re-resolve it:\n\tconst objectsToResolve = transactionData.inputs.filter((input) => {\n\t\treturn (\n\t\t\tinput.UnresolvedObject &&\n\t\t\t!(input.UnresolvedObject.version || input.UnresolvedObject?.initialSharedVersion)\n\t\t);\n\t}) as Extract<CallArg, { UnresolvedObject: unknown }>[];\n\n\tconst dedupedIds = [\n\t\t...new Set(\n\t\t\tobjectsToResolve.map((input) => normalizeSuiObjectId(input.UnresolvedObject.objectId)),\n\t\t),\n\t];\n\n\tconst objectChunks = dedupedIds.length ? chunk(dedupedIds, MAX_OBJECTS_PER_FETCH) : [];\n\tconst resolved = (\n\t\tawait Promise.all(\n\t\t\tobjectChunks.map((chunk) =>\n\t\t\t\tclient.multiGetObjects({\n\t\t\t\t\tids: chunk,\n\t\t\t\t\toptions: { showOwner: true },\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t).flat();\n\n\tconst responsesById = new Map(\n\t\tdedupedIds.map((id, index) => {\n\t\t\treturn [id, resolved[index]];\n\t\t}),\n\t);\n\n\tconst invalidObjects = Array.from(responsesById)\n\t\t.filter(([_, obj]) => obj.error)\n\t\t.map(([_, obj]) => JSON.stringify(obj.error));\n\n\tif (invalidObjects.length) {\n\t\tthrow new Error(`The following input objects are invalid: ${invalidObjects.join(', ')}`);\n\t}\n\n\tconst objects = resolved.map((object) => {\n\t\tif (object.error || !object.data) {\n\t\t\tthrow new Error(`Failed to fetch object: ${object.error}`);\n\t\t}\n\t\tconst owner = object.data.owner;\n\t\tconst initialSharedVersion =\n\t\t\towner && typeof owner === 'object'\n\t\t\t\t? 'Shared' in owner\n\t\t\t\t\t? owner.Shared.initial_shared_version\n\t\t\t\t\t: 'ConsensusAddressOwner' in owner\n\t\t\t\t\t\t? owner.ConsensusAddressOwner.start_version\n\t\t\t\t\t\t: null\n\t\t\t\t: null;\n\n\t\treturn {\n\t\t\tobjectId: object.data.objectId,\n\t\t\tdigest: object.data.digest,\n\t\t\tversion: object.data.version,\n\t\t\tinitialSharedVersion,\n\t\t};\n\t});\n\n\tconst objectsById = new Map(\n\t\tdedupedIds.map((id, index) => {\n\t\t\treturn [id, objects[index]];\n\t\t}),\n\t);\n\n\tfor (const [index, input] of transactionData.inputs.entries()) {\n\t\tif (!input.UnresolvedObject) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet updated: CallArg | undefined;\n\t\tconst id = normalizeSuiAddress(input.UnresolvedObject.objectId);\n\t\tconst object = objectsById.get(id);\n\n\t\tif (input.UnresolvedObject.initialSharedVersion ?? object?.initialSharedVersion) {\n\t\t\tupdated = Inputs.SharedObjectRef({\n\t\t\t\tobjectId: id,\n\t\t\t\tinitialSharedVersion:\n\t\t\t\t\tinput.UnresolvedObject.initialSharedVersion || object?.initialSharedVersion!,\n\t\t\t\tmutable: isUsedAsMutable(transactionData, index),\n\t\t\t});\n\t\t} else if (isUsedAsReceiving(transactionData, index)) {\n\t\t\tupdated = Inputs.ReceivingRef(\n\t\t\t\t{\n\t\t\t\t\tobjectId: id,\n\t\t\t\t\tdigest: input.UnresolvedObject.digest ?? object?.digest!,\n\t\t\t\t\tversion: input.UnresolvedObject.version ?? object?.version!,\n\t\t\t\t}!,\n\t\t\t);\n\t\t}\n\n\t\ttransactionData.inputs[transactionData.inputs.indexOf(input)] =\n\t\t\tupdated ??\n\t\t\tInputs.ObjectRef({\n\t\t\t\tobjectId: id,\n\t\t\t\tdigest: input.UnresolvedObject.digest ?? object?.digest!,\n\t\t\t\tversion: input.UnresolvedObject.version ?? object?.version!,\n\t\t\t});\n\t}\n}\n\nasync function normalizeInputs(transactionData: TransactionDataBuilder, client: SuiClient) {\n\tconst { inputs, commands } = transactionData;\n\tconst moveCallsToResolve: Extract<Command, { MoveCall: unknown }>['MoveCall'][] = [];\n\tconst moveFunctionsToResolve = new Set<string>();\n\n\tcommands.forEach((command) => {\n\t\t// Special case move call:\n\t\tif (command.MoveCall) {\n\t\t\t// Determine if any of the arguments require encoding.\n\t\t\t// - If they don't, then this is good to go.\n\t\t\t// - If they do, then we need to fetch the normalized move module.\n\n\t\t\t// If we already know the argument types, we don't need to resolve them again\n\t\t\tif (command.MoveCall._argumentTypes) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst inputs = command.MoveCall.arguments.map((arg) => {\n\t\t\t\tif (arg.$kind === 'Input') {\n\t\t\t\t\treturn transactionData.inputs[arg.Input];\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t});\n\t\t\tconst needsResolution = inputs.some(\n\t\t\t\t(input) => input?.UnresolvedPure || input?.UnresolvedObject,\n\t\t\t);\n\n\t\t\tif (needsResolution) {\n\t\t\t\tconst functionName = `${command.MoveCall.package}::${command.MoveCall.module}::${command.MoveCall.function}`;\n\t\t\t\tmoveFunctionsToResolve.add(functionName);\n\t\t\t\tmoveCallsToResolve.push(command.MoveCall);\n\t\t\t}\n\t\t}\n\t});\n\n\tconst moveFunctionParameters = new Map<string, OpenMoveTypeSignature[]>();\n\tif (moveFunctionsToResolve.size > 0) {\n\t\tawait Promise.all(\n\t\t\t[...moveFunctionsToResolve].map(async (functionName) => {\n\t\t\t\tconst [packageId, moduleId, functionId] = functionName.split('::');\n\t\t\t\tconst def = await client.getNormalizedMoveFunction({\n\t\t\t\t\tpackage: packageId,\n\t\t\t\t\tmodule: moduleId,\n\t\t\t\t\tfunction: functionId,\n\t\t\t\t});\n\n\t\t\t\tmoveFunctionParameters.set(\n\t\t\t\t\tfunctionName,\n\t\t\t\t\tdef.parameters.map((param) => normalizedTypeToMoveTypeSignature(param)),\n\t\t\t\t);\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (moveCallsToResolve.length) {\n\t\tawait Promise.all(\n\t\t\tmoveCallsToResolve.map(async (moveCall) => {\n\t\t\t\tconst parameters = moveFunctionParameters.get(\n\t\t\t\t\t`${moveCall.package}::${moveCall.module}::${moveCall.function}`,\n\t\t\t\t);\n\n\t\t\t\tif (!parameters) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Entry functions can have a mutable reference to an instance of the TxContext\n\t\t\t\t// struct defined in the TxContext module as the last parameter. The caller of\n\t\t\t\t// the function does not need to pass it in as an argument.\n\t\t\t\tconst hasTxContext = parameters.length > 0 && isTxContext(parameters.at(-1)!);\n\t\t\t\tconst params = hasTxContext ? parameters.slice(0, parameters.length - 1) : parameters;\n\n\t\t\t\tmoveCall._argumentTypes = params;\n\t\t\t}),\n\t\t);\n\t}\n\n\tcommands.forEach((command) => {\n\t\tif (!command.MoveCall) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst moveCall = command.MoveCall;\n\t\tconst fnName = `${moveCall.package}::${moveCall.module}::${moveCall.function}`;\n\t\tconst params = moveCall._argumentTypes;\n\n\t\tif (!params) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (params.length !== command.MoveCall.arguments.length) {\n\t\t\tthrow new Error(`Incorrect number of arguments for ${fnName}`);\n\t\t}\n\n\t\tparams.forEach((param, i) => {\n\t\t\tconst arg = moveCall.arguments[i];\n\t\t\tif (arg.$kind !== 'Input') return;\n\t\t\tconst input = inputs[arg.Input];\n\n\t\t\t// Skip if the input is already resolved\n\t\t\tif (!input.UnresolvedPure && !input.UnresolvedObject) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst inputValue = input.UnresolvedPure?.value ?? input.UnresolvedObject?.objectId!;\n\n\t\t\tconst schema = getPureBcsSchema(param.body);\n\t\t\tif (schema) {\n\t\t\t\targ.type = 'pure';\n\t\t\t\tinputs[inputs.indexOf(input)] = Inputs.Pure(schema.serialize(inputValue));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (typeof inputValue !== 'string') {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Expect the argument to be an object id string, got ${JSON.stringify(\n\t\t\t\t\t\tinputValue,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t2,\n\t\t\t\t\t)}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\targ.type = 'object';\n\t\t\tconst unresolvedObject: typeof input = input.UnresolvedPure\n\t\t\t\t? {\n\t\t\t\t\t\t$kind: 'UnresolvedObject',\n\t\t\t\t\t\tUnresolvedObject: {\n\t\t\t\t\t\t\tobjectId: inputValue,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t: input;\n\n\t\t\tinputs[arg.Input] = unresolvedObject;\n\t\t});\n\t});\n}\n\nfunction isUsedAsMutable(transactionData: TransactionDataBuilder, index: number) {\n\tlet usedAsMutable = false;\n\n\ttransactionData.getInputUses(index, (arg, tx) => {\n\t\tif (tx.MoveCall && tx.MoveCall._argumentTypes) {\n\t\t\tconst argIndex = tx.MoveCall.arguments.indexOf(arg);\n\t\t\tusedAsMutable = tx.MoveCall._argumentTypes[argIndex].ref !== '&' || usedAsMutable;\n\t\t}\n\n\t\tif (tx.$kind === 'MakeMoveVec' || tx.$kind === 'MergeCoins' || tx.$kind === 'SplitCoins') {\n\t\t\tusedAsMutable = true;\n\t\t}\n\t});\n\n\treturn usedAsMutable;\n}\n\nfunction isUsedAsReceiving(transactionData: TransactionDataBuilder, index: number) {\n\tlet usedAsReceiving = false;\n\n\ttransactionData.getInputUses(index, (arg, tx) => {\n\t\tif (tx.MoveCall && tx.MoveCall._argumentTypes) {\n\t\t\tconst argIndex = tx.MoveCall.arguments.indexOf(arg);\n\t\t\tusedAsReceiving = isReceivingType(tx.MoveCall._argumentTypes[argIndex]) || usedAsReceiving;\n\t\t}\n\t});\n\n\treturn usedAsReceiving;\n}\n\nfunction isReceivingType(type: OpenMoveTypeSignature): boolean {\n\tif (typeof type.body !== 'object' || !('datatype' in type.body)) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\ttype.body.datatype.package === '0x2' &&\n\t\ttype.body.datatype.module === 'transfer' &&\n\t\ttype.body.datatype.type === 'Receiving'\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_utils", "chunk", "inputs"]
7
7
  }
@@ -279,15 +279,12 @@ function parseOwner(owner) {
279
279
  Immutable: true
280
280
  };
281
281
  }
282
- if ("ConsensusV2" in owner) {
282
+ if ("ConsensusAddressOwner" in owner) {
283
283
  return {
284
- $kind: "ConsensusV2",
285
- ConsensusV2: {
286
- authenticator: {
287
- $kind: "SingleOwner",
288
- SingleOwner: owner.ConsensusV2.authenticator.SingleOwner
289
- },
290
- startVersion: owner.ConsensusV2.start_version
284
+ $kind: "ConsensusAddressOwner",
285
+ ConsensusAddressOwner: {
286
+ owner: owner.ConsensusAddressOwner.owner,
287
+ startVersion: owner.ConsensusAddressOwner.start_version
291
288
  }
292
289
  };
293
290
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/experimental/transports/jsonRPC.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64 } from '@mysten/bcs';\n\nimport { bcs } from '../../bcs/index.js';\nimport type {\n\tObjectOwner,\n\tSuiClient,\n\tSuiObjectChange,\n\tSuiObjectData,\n\tSuiTransactionBlockResponse,\n\tTransactionEffects,\n} from '../../client/index.js';\nimport { Transaction } from '../../transactions/Transaction.js';\nimport { Experimental_CoreClient } from '../core.js';\nimport { ObjectError } from '../errors.js';\nimport type { Experimental_SuiClientTypes } from '../types.js';\nimport { parseTransactionBcs, parseTransactionEffectsBcs } from './utils.js';\nimport { suiClientResolveTransactionPlugin } from './json-rpc-resolver.js';\nimport { TransactionDataBuilder } from '../../transactions/TransactionData.js';\nimport { chunk } from '@mysten/utils';\n\nexport class JSONRpcTransport extends Experimental_CoreClient {\n\t#jsonRpcClient: SuiClient;\n\n\tconstructor({\n\t\tjsonRpcClient,\n\t\tmvr,\n\t}: {\n\t\tjsonRpcClient: SuiClient;\n\t\tmvr?: Experimental_SuiClientTypes.MvrOptions;\n\t}) {\n\t\tsuper({ network: jsonRpcClient.network, base: jsonRpcClient, mvr });\n\t\tthis.#jsonRpcClient = jsonRpcClient;\n\t}\n\n\tasync getObjects(options: Experimental_SuiClientTypes.GetObjectsOptions) {\n\t\tconst batches = chunk(options.objectIds, 50);\n\t\tconst results: Experimental_SuiClientTypes.GetObjectsResponse['objects'] = [];\n\n\t\tfor (const batch of batches) {\n\t\t\tconst objects = await this.#jsonRpcClient.multiGetObjects({\n\t\t\t\tids: batch,\n\t\t\t\toptions: {\n\t\t\t\t\tshowOwner: true,\n\t\t\t\t\tshowType: true,\n\t\t\t\t\tshowBcs: true,\n\t\t\t\t},\n\t\t\t\tsignal: options.signal,\n\t\t\t});\n\n\t\t\tfor (const [idx, object] of objects.entries()) {\n\t\t\t\tif (object.error) {\n\t\t\t\t\tresults.push(ObjectError.fromResponse(object.error, batch[idx]));\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(parseObject(object.data!));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tobjects: results,\n\t\t};\n\t}\n\tasync getOwnedObjects(options: Experimental_SuiClientTypes.GetOwnedObjectsOptions) {\n\t\tconst objects = await this.#jsonRpcClient.getOwnedObjects({\n\t\t\towner: options.address,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t\toptions: {\n\t\t\t\tshowOwner: true,\n\t\t\t\tshowType: true,\n\t\t\t\tshowBcs: true,\n\t\t\t},\n\t\t\tfilter: options.type ? { StructType: options.type } : null,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tobjects: objects.data.map((result) => {\n\t\t\t\tif (result.error) {\n\t\t\t\t\tthrow ObjectError.fromResponse(result.error);\n\t\t\t\t}\n\n\t\t\t\treturn parseObject(result.data!);\n\t\t\t}),\n\t\t\thasNextPage: objects.hasNextPage,\n\t\t\tcursor: objects.nextCursor ?? null,\n\t\t};\n\t}\n\n\tasync getCoins(options: Experimental_SuiClientTypes.GetCoinsOptions) {\n\t\tconst coins = await this.#jsonRpcClient.getCoins({\n\t\t\towner: options.address,\n\t\t\tcoinType: options.coinType,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tobjects: coins.data.map((coin) => {\n\t\t\t\treturn {\n\t\t\t\t\tid: coin.coinObjectId,\n\t\t\t\t\tversion: coin.version,\n\t\t\t\t\tdigest: coin.digest,\n\t\t\t\t\tbalance: coin.balance,\n\t\t\t\t\ttype: `0x2::coin::Coin<${coin.coinType}>`,\n\t\t\t\t\tcontent: Promise.resolve(\n\t\t\t\t\t\tCoin.serialize({\n\t\t\t\t\t\t\tid: coin.coinObjectId,\n\t\t\t\t\t\t\tbalance: {\n\t\t\t\t\t\t\t\tvalue: coin.balance,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}).toBytes(),\n\t\t\t\t\t),\n\t\t\t\t\towner: {\n\t\t\t\t\t\t$kind: 'ObjectOwner' as const,\n\t\t\t\t\t\tObjectOwner: options.address,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}),\n\t\t\thasNextPage: coins.hasNextPage,\n\t\t\tcursor: coins.nextCursor ?? null,\n\t\t};\n\t}\n\n\tasync getBalance(options: Experimental_SuiClientTypes.GetBalanceOptions) {\n\t\tconst balance = await this.#jsonRpcClient.getBalance({\n\t\t\towner: options.address,\n\t\t\tcoinType: options.coinType,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tbalance: {\n\t\t\t\tcoinType: balance.coinType,\n\t\t\t\tbalance: balance.totalBalance,\n\t\t\t},\n\t\t};\n\t}\n\tasync getAllBalances(options: Experimental_SuiClientTypes.GetAllBalancesOptions) {\n\t\tconst balances = await this.#jsonRpcClient.getAllBalances({\n\t\t\towner: options.address,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tbalances: balances.map((balance) => ({\n\t\t\t\tcoinType: balance.coinType,\n\t\t\t\tbalance: balance.totalBalance,\n\t\t\t})),\n\t\t\thasNextPage: false,\n\t\t\tcursor: null,\n\t\t};\n\t}\n\tasync getTransaction(options: Experimental_SuiClientTypes.GetTransactionOptions) {\n\t\tconst transaction = await this.#jsonRpcClient.getTransactionBlock({\n\t\t\tdigest: options.digest,\n\t\t\toptions: {\n\t\t\t\tshowRawInput: true,\n\t\t\t\tshowObjectChanges: true,\n\t\t\t\tshowRawEffects: true,\n\t\t\t\tshowEvents: true,\n\t\t\t\tshowEffects: true,\n\t\t\t},\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(transaction),\n\t\t};\n\t}\n\tasync executeTransaction(options: Experimental_SuiClientTypes.ExecuteTransactionOptions) {\n\t\tconst transaction = await this.#jsonRpcClient.executeTransactionBlock({\n\t\t\ttransactionBlock: options.transaction,\n\t\t\tsignature: options.signatures,\n\t\t\toptions: {\n\t\t\t\tshowRawEffects: true,\n\t\t\t\tshowEvents: true,\n\t\t\t\tshowObjectChanges: true,\n\t\t\t\tshowRawInput: true,\n\t\t\t\tshowEffects: true,\n\t\t\t},\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(transaction),\n\t\t};\n\t}\n\tasync dryRunTransaction(options: Experimental_SuiClientTypes.DryRunTransactionOptions) {\n\t\tconst tx = Transaction.from(options.transaction);\n\t\tconst result = await this.#jsonRpcClient.dryRunTransactionBlock({\n\t\t\ttransactionBlock: options.transaction,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\tconst { effects, objectTypes } = parseTransactionEffectsJson({\n\t\t\teffects: result.effects,\n\t\t\tobjectChanges: result.objectChanges,\n\t\t});\n\n\t\treturn {\n\t\t\ttransaction: {\n\t\t\t\tdigest: await tx.getDigest(),\n\t\t\t\tepoch: null,\n\t\t\t\teffects,\n\t\t\t\tobjectTypes: Promise.resolve(objectTypes),\n\t\t\t\tsignatures: [],\n\t\t\t\ttransaction: parseTransactionBcs(options.transaction),\n\t\t\t},\n\t\t};\n\t}\n\tasync getReferenceGasPrice(options?: Experimental_SuiClientTypes.GetReferenceGasPriceOptions) {\n\t\tconst referenceGasPrice = await this.#jsonRpcClient.getReferenceGasPrice({\n\t\t\tsignal: options?.signal,\n\t\t});\n\t\treturn {\n\t\t\treferenceGasPrice: String(referenceGasPrice),\n\t\t};\n\t}\n\n\tasync getDynamicFields(options: Experimental_SuiClientTypes.GetDynamicFieldsOptions) {\n\t\tconst dynamicFields = await this.#jsonRpcClient.getDynamicFields({\n\t\t\tparentId: options.parentId,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t});\n\n\t\treturn {\n\t\t\tdynamicFields: dynamicFields.data.map((dynamicField) => {\n\t\t\t\treturn {\n\t\t\t\t\tid: dynamicField.objectId,\n\t\t\t\t\ttype: dynamicField.objectType,\n\t\t\t\t\tname: {\n\t\t\t\t\t\ttype: dynamicField.name.type,\n\t\t\t\t\t\tbcs: fromBase64(dynamicField.bcsName),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}),\n\t\t\thasNextPage: dynamicFields.hasNextPage,\n\t\t\tcursor: dynamicFields.nextCursor,\n\t\t};\n\t}\n\n\tasync verifyZkLoginSignature(options: Experimental_SuiClientTypes.VerifyZkLoginSignatureOptions) {\n\t\tconst result = await this.#jsonRpcClient.verifyZkLoginSignature({\n\t\t\tbytes: options.bytes,\n\t\t\tsignature: options.signature,\n\t\t\tintentScope: options.intentScope,\n\t\t\tauthor: options.author,\n\t\t});\n\n\t\treturn {\n\t\t\tsuccess: result.success,\n\t\t\terrors: result.errors,\n\t\t};\n\t}\n\n\tresolveNameServiceNames(\n\t\toptions: Experimental_SuiClientTypes.ResolveNameServiceNamesOptions,\n\t): Promise<Experimental_SuiClientTypes.ResolveNameServiceNamesResponse> {\n\t\treturn this.#jsonRpcClient.resolveNameServiceNames(options);\n\t}\n\n\tresolveTransactionPlugin() {\n\t\treturn suiClientResolveTransactionPlugin(this.#jsonRpcClient);\n\t}\n}\n\nfunction parseObject(object: SuiObjectData): Experimental_SuiClientTypes.ObjectResponse {\n\treturn {\n\t\tid: object.objectId,\n\t\tversion: object.version,\n\t\tdigest: object.digest,\n\t\ttype: object.type!,\n\t\tcontent: Promise.resolve(\n\t\t\tobject.bcs?.dataType === 'moveObject' ? fromBase64(object.bcs.bcsBytes) : new Uint8Array(),\n\t\t),\n\t\towner: parseOwner(object.owner!),\n\t};\n}\n\nfunction parseOwner(owner: ObjectOwner): Experimental_SuiClientTypes.ObjectOwner {\n\tif (owner === 'Immutable') {\n\t\treturn {\n\t\t\t$kind: 'Immutable',\n\t\t\tImmutable: true,\n\t\t};\n\t}\n\n\tif ('ConsensusV2' in owner) {\n\t\treturn {\n\t\t\t$kind: 'ConsensusV2',\n\t\t\tConsensusV2: {\n\t\t\t\tauthenticator: {\n\t\t\t\t\t$kind: 'SingleOwner',\n\t\t\t\t\tSingleOwner: owner.ConsensusV2.authenticator.SingleOwner,\n\t\t\t\t},\n\t\t\t\tstartVersion: owner.ConsensusV2.start_version,\n\t\t\t},\n\t\t};\n\t}\n\n\tif ('AddressOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'AddressOwner',\n\t\t\tAddressOwner: owner.AddressOwner,\n\t\t};\n\t}\n\n\tif ('ObjectOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'ObjectOwner',\n\t\t\tObjectOwner: owner.ObjectOwner,\n\t\t};\n\t}\n\n\tif ('Shared' in owner) {\n\t\treturn {\n\t\t\t$kind: 'Shared',\n\t\t\tShared: {\n\t\t\t\tinitialSharedVersion: owner.Shared.initial_shared_version,\n\t\t\t},\n\t\t};\n\t}\n\n\tthrow new Error(`Unknown owner type: ${JSON.stringify(owner)}`);\n}\n\nfunction parseTransaction(\n\ttransaction: SuiTransactionBlockResponse,\n): Experimental_SuiClientTypes.TransactionResponse {\n\tconst parsedTx = bcs.SenderSignedData.parse(fromBase64(transaction.rawTransaction!))[0];\n\tconst objectTypes: Record<string, string> = {};\n\n\ttransaction.objectChanges?.forEach((change) => {\n\t\tif (change.type !== 'published') {\n\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t}\n\t});\n\n\tconst bytes = bcs.TransactionData.serialize(parsedTx.intentMessage.value).toBytes();\n\n\tconst data = TransactionDataBuilder.restore({\n\t\tversion: 2,\n\t\tsender: parsedTx.intentMessage.value.V1.sender,\n\t\texpiration: parsedTx.intentMessage.value.V1.expiration,\n\t\tgasData: parsedTx.intentMessage.value.V1.gasData,\n\t\tinputs: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.inputs,\n\t\tcommands: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.commands,\n\t});\n\n\treturn {\n\t\tdigest: transaction.digest,\n\t\tepoch: transaction.effects?.executedEpoch ?? null,\n\t\teffects: parseTransactionEffectsBcs(new Uint8Array(transaction.rawEffects!)),\n\t\tobjectTypes: Promise.resolve(objectTypes),\n\t\ttransaction: {\n\t\t\t...data,\n\t\t\tbcs: bytes,\n\t\t},\n\t\tsignatures: parsedTx.txSignatures,\n\t};\n}\n\nfunction parseTransactionEffectsJson({\n\tbytes,\n\teffects,\n\tobjectChanges,\n}: {\n\tbytes?: Uint8Array;\n\teffects: TransactionEffects;\n\tobjectChanges: SuiObjectChange[] | null;\n}): {\n\teffects: Experimental_SuiClientTypes.TransactionEffects;\n\tobjectTypes: Record<string, string>;\n} {\n\tconst changedObjects: Experimental_SuiClientTypes.ChangedObject[] = [];\n\tconst unchangedSharedObjects: Experimental_SuiClientTypes.UnchangedSharedObject[] = [];\n\tconst objectTypes: Record<string, string> = {};\n\n\tobjectChanges?.forEach((change) => {\n\t\tswitch (change.type) {\n\t\t\tcase 'published':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.packageId,\n\t\t\t\t\tinputState: 'DoesNotExist',\n\t\t\t\t\tinputVersion: null,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'PackageWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: null,\n\t\t\t\t\tidOperation: 'Created',\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 'transferred':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: change.digest,\n\t\t\t\t\tinputOwner: {\n\t\t\t\t\t\t$kind: 'AddressOwner' as const,\n\t\t\t\t\t\tAddressOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.recipient),\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'mutated':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.previousVersion,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: parseOwner(change.owner),\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.owner),\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'deleted':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: effects.deleted?.find((d) => d.objectId === change.objectId)?.digest ?? null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'DoesNotExist',\n\t\t\t\t\toutputVersion: null,\n\t\t\t\t\toutputDigest: null,\n\t\t\t\t\toutputOwner: null,\n\t\t\t\t\tidOperation: 'Deleted',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'wrapped':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: {\n\t\t\t\t\t\t$kind: 'AddressOwner' as const,\n\t\t\t\t\t\tAddressOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest:\n\t\t\t\t\t\teffects.wrapped?.find((w) => w.objectId === change.objectId)?.digest ?? null,\n\t\t\t\t\toutputOwner: {\n\t\t\t\t\t\t$kind: 'ObjectOwner' as const,\n\t\t\t\t\t\tObjectOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'created':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'DoesNotExist',\n\t\t\t\t\tinputVersion: null,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.owner),\n\t\t\t\t\tidOperation: 'Created',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\treturn {\n\t\tobjectTypes,\n\t\teffects: {\n\t\t\tbcs: bytes ?? null,\n\t\t\tdigest: effects.transactionDigest,\n\t\t\tversion: 2,\n\t\t\tstatus:\n\t\t\t\teffects.status.status === 'success'\n\t\t\t\t\t? { success: true, error: null }\n\t\t\t\t\t: { success: false, error: effects.status.error! },\n\t\t\tgasUsed: effects.gasUsed,\n\t\t\ttransactionDigest: effects.transactionDigest,\n\t\t\tgasObject: {\n\t\t\t\tid: effects.gasObject?.reference.objectId,\n\t\t\t\tinputState: 'Exists',\n\t\t\t\tinputVersion: null,\n\t\t\t\tinputDigest: null,\n\t\t\t\tinputOwner: null,\n\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\toutputVersion: effects.gasObject.reference.version,\n\t\t\t\toutputDigest: effects.gasObject.reference.digest,\n\t\t\t\toutputOwner: parseOwner(effects.gasObject.owner),\n\t\t\t\tidOperation: 'None',\n\t\t\t},\n\t\t\teventsDigest: effects.eventsDigest ?? null,\n\t\t\tdependencies: effects.dependencies ?? [],\n\t\t\tlamportVersion: effects.gasObject.reference.version,\n\t\t\tchangedObjects,\n\t\t\tunchangedSharedObjects,\n\t\t\tauxiliaryDataDigest: null,\n\t\t},\n\t};\n}\n\nconst Balance = bcs.struct('Balance', {\n\tvalue: bcs.u64(),\n});\n\nconst Coin = bcs.struct('Coin', {\n\tid: bcs.Address,\n\tbalance: Balance,\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64 } from '@mysten/bcs';\n\nimport { bcs } from '../../bcs/index.js';\nimport type {\n\tObjectOwner,\n\tSuiClient,\n\tSuiObjectChange,\n\tSuiObjectData,\n\tSuiTransactionBlockResponse,\n\tTransactionEffects,\n} from '../../client/index.js';\nimport { Transaction } from '../../transactions/Transaction.js';\nimport { Experimental_CoreClient } from '../core.js';\nimport { ObjectError } from '../errors.js';\nimport type { Experimental_SuiClientTypes } from '../types.js';\nimport { parseTransactionBcs, parseTransactionEffectsBcs } from './utils.js';\nimport { suiClientResolveTransactionPlugin } from './json-rpc-resolver.js';\nimport { TransactionDataBuilder } from '../../transactions/TransactionData.js';\nimport { chunk } from '@mysten/utils';\n\nexport class JSONRpcTransport extends Experimental_CoreClient {\n\t#jsonRpcClient: SuiClient;\n\n\tconstructor({\n\t\tjsonRpcClient,\n\t\tmvr,\n\t}: {\n\t\tjsonRpcClient: SuiClient;\n\t\tmvr?: Experimental_SuiClientTypes.MvrOptions;\n\t}) {\n\t\tsuper({ network: jsonRpcClient.network, base: jsonRpcClient, mvr });\n\t\tthis.#jsonRpcClient = jsonRpcClient;\n\t}\n\n\tasync getObjects(options: Experimental_SuiClientTypes.GetObjectsOptions) {\n\t\tconst batches = chunk(options.objectIds, 50);\n\t\tconst results: Experimental_SuiClientTypes.GetObjectsResponse['objects'] = [];\n\n\t\tfor (const batch of batches) {\n\t\t\tconst objects = await this.#jsonRpcClient.multiGetObjects({\n\t\t\t\tids: batch,\n\t\t\t\toptions: {\n\t\t\t\t\tshowOwner: true,\n\t\t\t\t\tshowType: true,\n\t\t\t\t\tshowBcs: true,\n\t\t\t\t},\n\t\t\t\tsignal: options.signal,\n\t\t\t});\n\n\t\t\tfor (const [idx, object] of objects.entries()) {\n\t\t\t\tif (object.error) {\n\t\t\t\t\tresults.push(ObjectError.fromResponse(object.error, batch[idx]));\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(parseObject(object.data!));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tobjects: results,\n\t\t};\n\t}\n\tasync getOwnedObjects(options: Experimental_SuiClientTypes.GetOwnedObjectsOptions) {\n\t\tconst objects = await this.#jsonRpcClient.getOwnedObjects({\n\t\t\towner: options.address,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t\toptions: {\n\t\t\t\tshowOwner: true,\n\t\t\t\tshowType: true,\n\t\t\t\tshowBcs: true,\n\t\t\t},\n\t\t\tfilter: options.type ? { StructType: options.type } : null,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tobjects: objects.data.map((result) => {\n\t\t\t\tif (result.error) {\n\t\t\t\t\tthrow ObjectError.fromResponse(result.error);\n\t\t\t\t}\n\n\t\t\t\treturn parseObject(result.data!);\n\t\t\t}),\n\t\t\thasNextPage: objects.hasNextPage,\n\t\t\tcursor: objects.nextCursor ?? null,\n\t\t};\n\t}\n\n\tasync getCoins(options: Experimental_SuiClientTypes.GetCoinsOptions) {\n\t\tconst coins = await this.#jsonRpcClient.getCoins({\n\t\t\towner: options.address,\n\t\t\tcoinType: options.coinType,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tobjects: coins.data.map((coin) => {\n\t\t\t\treturn {\n\t\t\t\t\tid: coin.coinObjectId,\n\t\t\t\t\tversion: coin.version,\n\t\t\t\t\tdigest: coin.digest,\n\t\t\t\t\tbalance: coin.balance,\n\t\t\t\t\ttype: `0x2::coin::Coin<${coin.coinType}>`,\n\t\t\t\t\tcontent: Promise.resolve(\n\t\t\t\t\t\tCoin.serialize({\n\t\t\t\t\t\t\tid: coin.coinObjectId,\n\t\t\t\t\t\t\tbalance: {\n\t\t\t\t\t\t\t\tvalue: coin.balance,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}).toBytes(),\n\t\t\t\t\t),\n\t\t\t\t\towner: {\n\t\t\t\t\t\t$kind: 'ObjectOwner' as const,\n\t\t\t\t\t\tObjectOwner: options.address,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}),\n\t\t\thasNextPage: coins.hasNextPage,\n\t\t\tcursor: coins.nextCursor ?? null,\n\t\t};\n\t}\n\n\tasync getBalance(options: Experimental_SuiClientTypes.GetBalanceOptions) {\n\t\tconst balance = await this.#jsonRpcClient.getBalance({\n\t\t\towner: options.address,\n\t\t\tcoinType: options.coinType,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tbalance: {\n\t\t\t\tcoinType: balance.coinType,\n\t\t\t\tbalance: balance.totalBalance,\n\t\t\t},\n\t\t};\n\t}\n\tasync getAllBalances(options: Experimental_SuiClientTypes.GetAllBalancesOptions) {\n\t\tconst balances = await this.#jsonRpcClient.getAllBalances({\n\t\t\towner: options.address,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tbalances: balances.map((balance) => ({\n\t\t\t\tcoinType: balance.coinType,\n\t\t\t\tbalance: balance.totalBalance,\n\t\t\t})),\n\t\t\thasNextPage: false,\n\t\t\tcursor: null,\n\t\t};\n\t}\n\tasync getTransaction(options: Experimental_SuiClientTypes.GetTransactionOptions) {\n\t\tconst transaction = await this.#jsonRpcClient.getTransactionBlock({\n\t\t\tdigest: options.digest,\n\t\t\toptions: {\n\t\t\t\tshowRawInput: true,\n\t\t\t\tshowObjectChanges: true,\n\t\t\t\tshowRawEffects: true,\n\t\t\t\tshowEvents: true,\n\t\t\t\tshowEffects: true,\n\t\t\t},\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(transaction),\n\t\t};\n\t}\n\tasync executeTransaction(options: Experimental_SuiClientTypes.ExecuteTransactionOptions) {\n\t\tconst transaction = await this.#jsonRpcClient.executeTransactionBlock({\n\t\t\ttransactionBlock: options.transaction,\n\t\t\tsignature: options.signatures,\n\t\t\toptions: {\n\t\t\t\tshowRawEffects: true,\n\t\t\t\tshowEvents: true,\n\t\t\t\tshowObjectChanges: true,\n\t\t\t\tshowRawInput: true,\n\t\t\t\tshowEffects: true,\n\t\t\t},\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(transaction),\n\t\t};\n\t}\n\tasync dryRunTransaction(options: Experimental_SuiClientTypes.DryRunTransactionOptions) {\n\t\tconst tx = Transaction.from(options.transaction);\n\t\tconst result = await this.#jsonRpcClient.dryRunTransactionBlock({\n\t\t\ttransactionBlock: options.transaction,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\tconst { effects, objectTypes } = parseTransactionEffectsJson({\n\t\t\teffects: result.effects,\n\t\t\tobjectChanges: result.objectChanges,\n\t\t});\n\n\t\treturn {\n\t\t\ttransaction: {\n\t\t\t\tdigest: await tx.getDigest(),\n\t\t\t\tepoch: null,\n\t\t\t\teffects,\n\t\t\t\tobjectTypes: Promise.resolve(objectTypes),\n\t\t\t\tsignatures: [],\n\t\t\t\ttransaction: parseTransactionBcs(options.transaction),\n\t\t\t},\n\t\t};\n\t}\n\tasync getReferenceGasPrice(options?: Experimental_SuiClientTypes.GetReferenceGasPriceOptions) {\n\t\tconst referenceGasPrice = await this.#jsonRpcClient.getReferenceGasPrice({\n\t\t\tsignal: options?.signal,\n\t\t});\n\t\treturn {\n\t\t\treferenceGasPrice: String(referenceGasPrice),\n\t\t};\n\t}\n\n\tasync getDynamicFields(options: Experimental_SuiClientTypes.GetDynamicFieldsOptions) {\n\t\tconst dynamicFields = await this.#jsonRpcClient.getDynamicFields({\n\t\t\tparentId: options.parentId,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t});\n\n\t\treturn {\n\t\t\tdynamicFields: dynamicFields.data.map((dynamicField) => {\n\t\t\t\treturn {\n\t\t\t\t\tid: dynamicField.objectId,\n\t\t\t\t\ttype: dynamicField.objectType,\n\t\t\t\t\tname: {\n\t\t\t\t\t\ttype: dynamicField.name.type,\n\t\t\t\t\t\tbcs: fromBase64(dynamicField.bcsName),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}),\n\t\t\thasNextPage: dynamicFields.hasNextPage,\n\t\t\tcursor: dynamicFields.nextCursor,\n\t\t};\n\t}\n\n\tasync verifyZkLoginSignature(options: Experimental_SuiClientTypes.VerifyZkLoginSignatureOptions) {\n\t\tconst result = await this.#jsonRpcClient.verifyZkLoginSignature({\n\t\t\tbytes: options.bytes,\n\t\t\tsignature: options.signature,\n\t\t\tintentScope: options.intentScope,\n\t\t\tauthor: options.author,\n\t\t});\n\n\t\treturn {\n\t\t\tsuccess: result.success,\n\t\t\terrors: result.errors,\n\t\t};\n\t}\n\n\tresolveNameServiceNames(\n\t\toptions: Experimental_SuiClientTypes.ResolveNameServiceNamesOptions,\n\t): Promise<Experimental_SuiClientTypes.ResolveNameServiceNamesResponse> {\n\t\treturn this.#jsonRpcClient.resolveNameServiceNames(options);\n\t}\n\n\tresolveTransactionPlugin() {\n\t\treturn suiClientResolveTransactionPlugin(this.#jsonRpcClient);\n\t}\n}\n\nfunction parseObject(object: SuiObjectData): Experimental_SuiClientTypes.ObjectResponse {\n\treturn {\n\t\tid: object.objectId,\n\t\tversion: object.version,\n\t\tdigest: object.digest,\n\t\ttype: object.type!,\n\t\tcontent: Promise.resolve(\n\t\t\tobject.bcs?.dataType === 'moveObject' ? fromBase64(object.bcs.bcsBytes) : new Uint8Array(),\n\t\t),\n\t\towner: parseOwner(object.owner!),\n\t};\n}\n\nfunction parseOwner(owner: ObjectOwner): Experimental_SuiClientTypes.ObjectOwner {\n\tif (owner === 'Immutable') {\n\t\treturn {\n\t\t\t$kind: 'Immutable',\n\t\t\tImmutable: true,\n\t\t};\n\t}\n\n\tif ('ConsensusAddressOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'ConsensusAddressOwner',\n\t\t\tConsensusAddressOwner: {\n\t\t\t\towner: owner.ConsensusAddressOwner.owner,\n\t\t\t\tstartVersion: owner.ConsensusAddressOwner.start_version,\n\t\t\t},\n\t\t};\n\t}\n\n\tif ('AddressOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'AddressOwner',\n\t\t\tAddressOwner: owner.AddressOwner,\n\t\t};\n\t}\n\n\tif ('ObjectOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'ObjectOwner',\n\t\t\tObjectOwner: owner.ObjectOwner,\n\t\t};\n\t}\n\n\tif ('Shared' in owner) {\n\t\treturn {\n\t\t\t$kind: 'Shared',\n\t\t\tShared: {\n\t\t\t\tinitialSharedVersion: owner.Shared.initial_shared_version,\n\t\t\t},\n\t\t};\n\t}\n\n\tthrow new Error(`Unknown owner type: ${JSON.stringify(owner)}`);\n}\n\nfunction parseTransaction(\n\ttransaction: SuiTransactionBlockResponse,\n): Experimental_SuiClientTypes.TransactionResponse {\n\tconst parsedTx = bcs.SenderSignedData.parse(fromBase64(transaction.rawTransaction!))[0];\n\tconst objectTypes: Record<string, string> = {};\n\n\ttransaction.objectChanges?.forEach((change) => {\n\t\tif (change.type !== 'published') {\n\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t}\n\t});\n\n\tconst bytes = bcs.TransactionData.serialize(parsedTx.intentMessage.value).toBytes();\n\n\tconst data = TransactionDataBuilder.restore({\n\t\tversion: 2,\n\t\tsender: parsedTx.intentMessage.value.V1.sender,\n\t\texpiration: parsedTx.intentMessage.value.V1.expiration,\n\t\tgasData: parsedTx.intentMessage.value.V1.gasData,\n\t\tinputs: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.inputs,\n\t\tcommands: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.commands,\n\t});\n\n\treturn {\n\t\tdigest: transaction.digest,\n\t\tepoch: transaction.effects?.executedEpoch ?? null,\n\t\teffects: parseTransactionEffectsBcs(new Uint8Array(transaction.rawEffects!)),\n\t\tobjectTypes: Promise.resolve(objectTypes),\n\t\ttransaction: {\n\t\t\t...data,\n\t\t\tbcs: bytes,\n\t\t},\n\t\tsignatures: parsedTx.txSignatures,\n\t};\n}\n\nfunction parseTransactionEffectsJson({\n\tbytes,\n\teffects,\n\tobjectChanges,\n}: {\n\tbytes?: Uint8Array;\n\teffects: TransactionEffects;\n\tobjectChanges: SuiObjectChange[] | null;\n}): {\n\teffects: Experimental_SuiClientTypes.TransactionEffects;\n\tobjectTypes: Record<string, string>;\n} {\n\tconst changedObjects: Experimental_SuiClientTypes.ChangedObject[] = [];\n\tconst unchangedSharedObjects: Experimental_SuiClientTypes.UnchangedSharedObject[] = [];\n\tconst objectTypes: Record<string, string> = {};\n\n\tobjectChanges?.forEach((change) => {\n\t\tswitch (change.type) {\n\t\t\tcase 'published':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.packageId,\n\t\t\t\t\tinputState: 'DoesNotExist',\n\t\t\t\t\tinputVersion: null,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'PackageWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: null,\n\t\t\t\t\tidOperation: 'Created',\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 'transferred':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: change.digest,\n\t\t\t\t\tinputOwner: {\n\t\t\t\t\t\t$kind: 'AddressOwner' as const,\n\t\t\t\t\t\tAddressOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.recipient),\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'mutated':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.previousVersion,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: parseOwner(change.owner),\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.owner),\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'deleted':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: effects.deleted?.find((d) => d.objectId === change.objectId)?.digest ?? null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'DoesNotExist',\n\t\t\t\t\toutputVersion: null,\n\t\t\t\t\toutputDigest: null,\n\t\t\t\t\toutputOwner: null,\n\t\t\t\t\tidOperation: 'Deleted',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'wrapped':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: {\n\t\t\t\t\t\t$kind: 'AddressOwner' as const,\n\t\t\t\t\t\tAddressOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest:\n\t\t\t\t\t\teffects.wrapped?.find((w) => w.objectId === change.objectId)?.digest ?? null,\n\t\t\t\t\toutputOwner: {\n\t\t\t\t\t\t$kind: 'ObjectOwner' as const,\n\t\t\t\t\t\tObjectOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'created':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'DoesNotExist',\n\t\t\t\t\tinputVersion: null,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.owner),\n\t\t\t\t\tidOperation: 'Created',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\treturn {\n\t\tobjectTypes,\n\t\teffects: {\n\t\t\tbcs: bytes ?? null,\n\t\t\tdigest: effects.transactionDigest,\n\t\t\tversion: 2,\n\t\t\tstatus:\n\t\t\t\teffects.status.status === 'success'\n\t\t\t\t\t? { success: true, error: null }\n\t\t\t\t\t: { success: false, error: effects.status.error! },\n\t\t\tgasUsed: effects.gasUsed,\n\t\t\ttransactionDigest: effects.transactionDigest,\n\t\t\tgasObject: {\n\t\t\t\tid: effects.gasObject?.reference.objectId,\n\t\t\t\tinputState: 'Exists',\n\t\t\t\tinputVersion: null,\n\t\t\t\tinputDigest: null,\n\t\t\t\tinputOwner: null,\n\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\toutputVersion: effects.gasObject.reference.version,\n\t\t\t\toutputDigest: effects.gasObject.reference.digest,\n\t\t\t\toutputOwner: parseOwner(effects.gasObject.owner),\n\t\t\t\tidOperation: 'None',\n\t\t\t},\n\t\t\teventsDigest: effects.eventsDigest ?? null,\n\t\t\tdependencies: effects.dependencies ?? [],\n\t\t\tlamportVersion: effects.gasObject.reference.version,\n\t\t\tchangedObjects,\n\t\t\tunchangedSharedObjects,\n\t\t\tauxiliaryDataDigest: null,\n\t\t},\n\t};\n}\n\nconst Balance = bcs.struct('Balance', {\n\tvalue: bcs.u64(),\n});\n\nconst Coin = bcs.struct('Coin', {\n\tid: bcs.Address,\n\tbalance: Balance,\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_bcs", "import_utils"]
7
7
  }
@@ -1,4 +1,5 @@
1
1
  import type { SerializedTransactionDataV2, TransactionPlugin } from '../transactions/index.js';
2
+ import type { ClientCache } from './cache.js';
2
3
  import type { Experimental_BaseClient } from './client.js';
3
4
  export type SuiClientRegistration<T extends Experimental_BaseClient = Experimental_BaseClient, Name extends string = string, Extension = unknown> = {
4
5
  readonly name: Name;
@@ -16,6 +17,7 @@ export declare namespace Experimental_SuiClientTypes {
16
17
  interface SuiClientOptions {
17
18
  network: Network;
18
19
  base?: Experimental_BaseClient;
20
+ cache?: ClientCache;
19
21
  }
20
22
  interface MvrOptions {
21
23
  url?: string;
@@ -200,7 +202,7 @@ export declare namespace Experimental_SuiClientTypes {
200
202
  errors: string[];
201
203
  }
202
204
  interface TransportMethods {
203
- verifyZkLoginSignature?: (options: VerifyZkLoginSignatureOptions) => Promise<ZkLoginVerifyResponse>;
205
+ verifyZkLoginSignature: (options: VerifyZkLoginSignatureOptions) => Promise<ZkLoginVerifyResponse>;
204
206
  }
205
207
  /** Name service methods */
206
208
  interface ResolveNameServiceNamesOptions extends CoreClientMethodOptions {
@@ -268,19 +270,14 @@ export declare namespace Experimental_SuiClientTypes {
268
270
  $kind: 'Immutable';
269
271
  Immutable: true;
270
272
  }
271
- interface ConsensusV2 {
272
- $kind: 'ConsensusV2';
273
- ConsensusV2: {
274
- authenticator: ConsensusV2Authenticator;
273
+ interface ConsensusAddressOwner {
274
+ $kind: 'ConsensusAddressOwner';
275
+ ConsensusAddressOwner: {
276
+ owner: string;
275
277
  startVersion: string;
276
278
  };
277
279
  }
278
- interface SingleOwnerAuthenticator {
279
- $kind: 'SingleOwner';
280
- SingleOwner: string;
281
- }
282
- type ConsensusV2Authenticator = SingleOwnerAuthenticator;
283
- type ObjectOwner = AddressOwner | ParentOwner | SharedOwner | ImmutableOwner | ConsensusV2;
280
+ type ObjectOwner = AddressOwner | ParentOwner | SharedOwner | ImmutableOwner | ConsensusAddressOwner;
284
281
  /** Effects */
285
282
  interface TransactionEffects {
286
283
  bcs: Uint8Array | null;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/experimental/types.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n/* eslint-disable @typescript-eslint/ban-types */\n\nimport type { SerializedTransactionDataV2, TransactionPlugin } from '../transactions/index.js';\nimport type { Experimental_BaseClient } from './client.js';\n\nexport type SuiClientRegistration<\n\tT extends Experimental_BaseClient = Experimental_BaseClient,\n\tName extends string = string,\n\tExtension = unknown,\n> =\n\t| {\n\t\t\treadonly name: Name;\n\t\t\treadonly register: (client: T) => Extension;\n\t }\n\t| SelfRegisteringClientExtension<T, Name, Extension>;\n\nexport interface SelfRegisteringClientExtension<\n\tT extends Experimental_BaseClient = Experimental_BaseClient,\n\tName extends string = string,\n\tExtension = unknown,\n> {\n\texperimental_asClientExtension: () => {\n\t\treadonly name: Name;\n\t\treadonly register: (client: T) => Extension;\n\t};\n}\n\nexport type ClientWithExtensions<\n\tT,\n\tBase extends Experimental_BaseClient = Experimental_BaseClient,\n> = Base & T;\n\nexport namespace Experimental_SuiClientTypes {\n\texport type Network = 'mainnet' | 'testnet' | 'devnet' | 'localnet' | (string & {});\n\n\texport interface SuiClientOptions {\n\t\tnetwork: Network;\n\t\tbase?: Experimental_BaseClient;\n\t}\n\n\texport interface MvrOptions {\n\t\turl?: string;\n\t\tpageSize?: number;\n\t\toverrides?: {\n\t\t\tpackages?: Record<string, string>;\n\t\t\ttypes?: Record<string, string>;\n\t\t};\n\t}\n\n\texport interface CoreClientMethodOptions {\n\t\tsignal?: AbortSignal;\n\t}\n\n\t/** Object methods */\n\texport interface TransportMethods {\n\t\tgetObjects: (options: GetObjectsOptions) => Promise<GetObjectsResponse>;\n\t\tgetOwnedObjects: (options: GetOwnedObjectsOptions) => Promise<GetOwnedObjectsResponse>;\n\t\tgetCoins: (options: GetCoinsOptions) => Promise<GetCoinsResponse>;\n\t\tgetDynamicFields: (options: GetDynamicFieldsOptions) => Promise<GetDynamicFieldsResponse>;\n\t\tgetDynamicField: (options: GetDynamicFieldOptions) => Promise<GetDynamicFieldResponse>;\n\t}\n\n\texport interface GetObjectsOptions extends CoreClientMethodOptions {\n\t\tobjectIds: string[];\n\t}\n\n\texport interface GetObjectOptions extends CoreClientMethodOptions {\n\t\tobjectId: string;\n\t}\n\n\texport interface GetOwnedObjectsOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tlimit?: number;\n\t\tcursor?: string | null;\n\t\ttype?: string;\n\t}\n\n\texport interface GetCoinsOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tcoinType: string;\n\t\tlimit?: number;\n\t\tcursor?: string | null;\n\t}\n\n\texport interface GetDynamicFieldsOptions extends CoreClientMethodOptions {\n\t\tparentId: string;\n\t\tlimit?: number;\n\t\tcursor?: string | null;\n\t}\n\n\texport interface GetDynamicFieldOptions extends CoreClientMethodOptions {\n\t\tparentId: string;\n\t\tname: DynamicFieldName;\n\t}\n\n\texport interface GetObjectsResponse {\n\t\tobjects: (ObjectResponse | Error)[];\n\t}\n\n\texport interface GetObjectResponse {\n\t\tobject: ObjectResponse;\n\t}\n\n\texport interface GetOwnedObjectsResponse {\n\t\tobjects: ObjectResponse[];\n\t\thasNextPage: boolean;\n\t\tcursor: string | null;\n\t}\n\n\texport interface GetCoinsResponse {\n\t\tobjects: CoinResponse[];\n\t\thasNextPage: boolean;\n\t\tcursor: string | null;\n\t}\n\n\texport interface ObjectResponse {\n\t\tid: string;\n\t\tversion: string;\n\t\tdigest: string;\n\t\towner: ObjectOwner;\n\t\ttype: string;\n\t\tcontent: PromiseLike<Uint8Array>;\n\t}\n\n\texport interface CoinResponse extends ObjectResponse {\n\t\tbalance: string;\n\t}\n\n\texport interface GetDynamicFieldsResponse {\n\t\thasNextPage: boolean;\n\t\tcursor: string | null;\n\t\tdynamicFields: {\n\t\t\tid: string;\n\t\t\ttype: string;\n\t\t\tname: DynamicFieldName;\n\t\t}[];\n\t}\n\n\texport interface GetDynamicFieldResponse {\n\t\tdynamicField: {\n\t\t\tname: DynamicFieldName;\n\t\t\tvalue: DynamicFieldValue;\n\t\t\tid: string;\n\t\t\tversion: string;\n\t\t\tdigest: string;\n\t\t\ttype: string;\n\t\t};\n\t}\n\n\texport interface DynamicFieldName {\n\t\ttype: string;\n\t\tbcs: Uint8Array;\n\t}\n\n\texport interface DynamicFieldValue {\n\t\ttype: string;\n\t\tbcs: Uint8Array;\n\t}\n\n\t/** Balance methods */\n\texport interface TransportMethods {\n\t\tgetBalance: (options: GetBalanceOptions) => Promise<GetBalanceResponse>;\n\t\tgetAllBalances: (options: GetAllBalancesOptions) => Promise<GetAllBalancesResponse>;\n\t}\n\n\texport interface GetBalanceOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tcoinType: string;\n\t}\n\n\texport interface CoinBalance {\n\t\tcoinType: string;\n\t\tbalance: string;\n\t}\n\n\texport interface GetBalanceResponse {\n\t\tbalance: CoinBalance;\n\t}\n\n\texport interface GetAllBalancesOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tlimit?: number;\n\t\tcursor?: string | null;\n\t}\n\n\texport interface GetAllBalancesResponse {\n\t\tbalances: CoinBalance[];\n\t\thasNextPage: boolean;\n\t\tcursor: string | null;\n\t}\n\n\t/** Transaction methods */\n\texport interface TransportMethods {\n\t\tgetTransaction: (options: GetTransactionOptions) => Promise<GetTransactionResponse>;\n\t\texecuteTransaction: (options: ExecuteTransactionOptions) => Promise<ExecuteTransactionResponse>;\n\t\tdryRunTransaction: (options: DryRunTransactionOptions) => Promise<DryRunTransactionResponse>;\n\t\tresolveTransactionPlugin: () => TransactionPlugin;\n\t}\n\n\texport interface TransactionResponse {\n\t\tdigest: string;\n\t\tsignatures: string[];\n\t\tepoch: string | null;\n\t\teffects: TransactionEffects;\n\t\tobjectTypes: PromiseLike<Record<string, string>>;\n\t\ttransaction: TransactionData;\n\t\t// TODO: add events\n\t\t// events?: Uint8Array;\n\t}\n\n\texport interface TransactionData extends SerializedTransactionDataV2 {\n\t\tbcs: Uint8Array;\n\t}\n\n\texport interface GetTransactionOptions extends CoreClientMethodOptions {\n\t\tdigest: string;\n\t}\n\n\texport interface GetTransactionResponse {\n\t\ttransaction: TransactionResponse;\n\t}\n\n\texport interface ExecuteTransactionOptions extends CoreClientMethodOptions {\n\t\ttransaction: Uint8Array;\n\t\tsignatures: string[];\n\t}\n\n\texport interface DryRunTransactionOptions extends CoreClientMethodOptions {\n\t\ttransaction: Uint8Array;\n\t}\n\n\texport interface DryRunTransactionResponse {\n\t\ttransaction: TransactionResponse;\n\t}\n\n\texport interface ExecuteTransactionResponse {\n\t\ttransaction: TransactionResponse;\n\t}\n\n\texport interface GetReferenceGasPriceOptions extends CoreClientMethodOptions {}\n\n\texport interface TransportMethods {\n\t\tgetReferenceGasPrice?: (\n\t\t\toptions?: GetReferenceGasPriceOptions,\n\t\t) => Promise<GetReferenceGasPriceResponse>;\n\t}\n\n\texport interface GetReferenceGasPriceResponse {\n\t\treferenceGasPrice: string;\n\t}\n\n\t/** ZkLogin methods */\n\texport interface VerifyZkLoginSignatureOptions extends CoreClientMethodOptions {\n\t\tbytes: string;\n\t\tsignature: string;\n\t\tintentScope: 'TransactionData' | 'PersonalMessage';\n\t\tauthor: string;\n\t}\n\n\texport interface ZkLoginVerifyResponse {\n\t\tsuccess: boolean;\n\t\terrors: string[];\n\t}\n\n\texport interface TransportMethods {\n\t\tverifyZkLoginSignature?: (\n\t\t\toptions: VerifyZkLoginSignatureOptions,\n\t\t) => Promise<ZkLoginVerifyResponse>;\n\t}\n\n\t/** Name service methods */\n\texport interface ResolveNameServiceNamesOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tcursor?: string | null | undefined;\n\t\tlimit?: number | null | undefined;\n\t}\n\n\texport interface ResolveNameServiceNamesResponse {\n\t\tdata: string[];\n\t\thasNextPage: boolean;\n\t\tnextCursor: string | null;\n\t}\n\n\texport interface TransportMethods {\n\t\tresolveNameServiceNames?: (\n\t\t\toptions: ResolveNameServiceNamesOptions,\n\t\t) => Promise<ResolveNameServiceNamesResponse>;\n\t}\n\n\t/** MVR methods */\n\n\texport interface TransportMethods {\n\t\tmvr: MvrMethods;\n\t}\n\n\texport interface MvrMethods {\n\t\tresolvePackage: (options: MvrResolvePackageOptions) => Promise<MvrResolvePackageResponse>;\n\t\tresolveType: (options: MvrResolveTypeOptions) => Promise<MvrResolveTypeResponse>;\n\t\tresolve: (options: MvrResolveOptions) => Promise<MvrResolveResponse>;\n\t}\n\n\texport interface MvrResolvePackageOptions extends CoreClientMethodOptions {\n\t\tpackage: string;\n\t}\n\n\texport interface MvrResolveTypeOptions extends CoreClientMethodOptions {\n\t\ttype: string;\n\t}\n\n\texport interface MvrResolveOptions extends CoreClientMethodOptions {\n\t\tpackages?: string[];\n\t\ttypes?: string[];\n\t}\n\n\texport interface MvrResolvePackageResponse {\n\t\tpackage: string;\n\t}\n\n\texport interface MvrResolveTypeResponse {\n\t\ttype: string;\n\t}\n\n\texport interface MvrResolveResponse {\n\t\tpackages: Record<\n\t\t\tstring,\n\t\t\t{\n\t\t\t\tpackage: string;\n\t\t\t}\n\t\t>;\n\t\ttypes: Record<\n\t\t\tstring,\n\t\t\t{\n\t\t\t\ttype: string;\n\t\t\t}\n\t\t>;\n\t}\n\n\t/** ObjectOwner types */\n\n\texport interface AddressOwner {\n\t\t$kind: 'AddressOwner';\n\t\tAddressOwner: string;\n\t}\n\n\texport interface ParentOwner {\n\t\t$kind: 'ObjectOwner';\n\t\tObjectOwner: string;\n\t}\n\n\texport interface SharedOwner {\n\t\t$kind: 'Shared';\n\t\tShared: {\n\t\t\tinitialSharedVersion: string;\n\t\t};\n\t}\n\n\texport interface ImmutableOwner {\n\t\t$kind: 'Immutable';\n\t\tImmutable: true;\n\t}\n\n\texport interface ConsensusV2 {\n\t\t$kind: 'ConsensusV2';\n\t\tConsensusV2: {\n\t\t\tauthenticator: ConsensusV2Authenticator;\n\t\t\tstartVersion: string;\n\t\t};\n\t}\n\n\texport interface SingleOwnerAuthenticator {\n\t\t$kind: 'SingleOwner';\n\t\tSingleOwner: string;\n\t}\n\n\texport type ConsensusV2Authenticator = SingleOwnerAuthenticator;\n\n\texport type ObjectOwner = AddressOwner | ParentOwner | SharedOwner | ImmutableOwner | ConsensusV2;\n\n\t/** Effects */\n\n\texport interface TransactionEffects {\n\t\tbcs: Uint8Array | null;\n\t\tdigest: string;\n\t\tversion: number;\n\t\tstatus: ExecutionStatus;\n\t\tgasUsed: GasCostSummary;\n\t\ttransactionDigest: string;\n\t\tgasObject: ChangedObject | null;\n\t\teventsDigest: string | null;\n\t\tdependencies: string[];\n\t\tlamportVersion: string | null;\n\t\tchangedObjects: ChangedObject[];\n\t\tunchangedSharedObjects: UnchangedSharedObject[];\n\t\tauxiliaryDataDigest: string | null;\n\t}\n\n\texport interface ChangedObject {\n\t\tid: string;\n\t\tinputState: 'Unknown' | 'DoesNotExist' | 'Exists';\n\t\tinputVersion: string | null;\n\t\tinputDigest: string | null;\n\t\tinputOwner: ObjectOwner | null;\n\t\toutputState: 'Unknown' | 'DoesNotExist' | 'ObjectWrite' | 'PackageWrite';\n\t\toutputVersion: string | null;\n\t\toutputDigest: string | null;\n\t\toutputOwner: ObjectOwner | null;\n\t\tidOperation: 'Unknown' | 'None' | 'Created' | 'Deleted';\n\t}\n\n\texport interface GasCostSummary {\n\t\tcomputationCost: string;\n\t\tstorageCost: string;\n\t\tstorageRebate: string;\n\t\tnonRefundableStorageFee: string;\n\t}\n\n\texport type ExecutionStatus =\n\t\t| {\n\t\t\t\tsuccess: true;\n\t\t\t\terror: null;\n\t\t }\n\t\t| {\n\t\t\t\tsuccess: false;\n\t\t\t\t// TODO: this should probably be typed better: https://github.com/bmwill/sui/blob/646a2c819346dc140cc649eb9fea368fb14f96e5/crates/sui-rpc-api/proto/sui/rpc/v2beta/execution_status.proto#L22\n\t\t\t\terror: string;\n\t\t };\n\n\texport interface UnchangedSharedObject {\n\t\tkind:\n\t\t\t| 'Unknown'\n\t\t\t| 'ReadOnlyRoot'\n\t\t\t| 'MutateDeleted'\n\t\t\t| 'ReadDeleted'\n\t\t\t| 'Cancelled'\n\t\t\t| 'PerEpochConfig';\n\t\tobjectId: string;\n\t\tversion: string | null;\n\t\tdigest: string | null;\n\t}\n}\n"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n/* eslint-disable @typescript-eslint/ban-types */\n\nimport type { SerializedTransactionDataV2, TransactionPlugin } from '../transactions/index.js';\nimport type { ClientCache } from './cache.js';\nimport type { Experimental_BaseClient } from './client.js';\n\nexport type SuiClientRegistration<\n\tT extends Experimental_BaseClient = Experimental_BaseClient,\n\tName extends string = string,\n\tExtension = unknown,\n> =\n\t| {\n\t\t\treadonly name: Name;\n\t\t\treadonly register: (client: T) => Extension;\n\t }\n\t| SelfRegisteringClientExtension<T, Name, Extension>;\n\nexport interface SelfRegisteringClientExtension<\n\tT extends Experimental_BaseClient = Experimental_BaseClient,\n\tName extends string = string,\n\tExtension = unknown,\n> {\n\texperimental_asClientExtension: () => {\n\t\treadonly name: Name;\n\t\treadonly register: (client: T) => Extension;\n\t};\n}\n\nexport type ClientWithExtensions<\n\tT,\n\tBase extends Experimental_BaseClient = Experimental_BaseClient,\n> = Base & T;\n\nexport namespace Experimental_SuiClientTypes {\n\texport type Network = 'mainnet' | 'testnet' | 'devnet' | 'localnet' | (string & {});\n\n\texport interface SuiClientOptions {\n\t\tnetwork: Network;\n\t\tbase?: Experimental_BaseClient;\n\t\tcache?: ClientCache;\n\t}\n\n\texport interface MvrOptions {\n\t\turl?: string;\n\t\tpageSize?: number;\n\t\toverrides?: {\n\t\t\tpackages?: Record<string, string>;\n\t\t\ttypes?: Record<string, string>;\n\t\t};\n\t}\n\n\texport interface CoreClientMethodOptions {\n\t\tsignal?: AbortSignal;\n\t}\n\n\t/** Object methods */\n\texport interface TransportMethods {\n\t\tgetObjects: (options: GetObjectsOptions) => Promise<GetObjectsResponse>;\n\t\tgetOwnedObjects: (options: GetOwnedObjectsOptions) => Promise<GetOwnedObjectsResponse>;\n\t\tgetCoins: (options: GetCoinsOptions) => Promise<GetCoinsResponse>;\n\t\tgetDynamicFields: (options: GetDynamicFieldsOptions) => Promise<GetDynamicFieldsResponse>;\n\t\tgetDynamicField: (options: GetDynamicFieldOptions) => Promise<GetDynamicFieldResponse>;\n\t}\n\n\texport interface GetObjectsOptions extends CoreClientMethodOptions {\n\t\tobjectIds: string[];\n\t}\n\n\texport interface GetObjectOptions extends CoreClientMethodOptions {\n\t\tobjectId: string;\n\t}\n\n\texport interface GetOwnedObjectsOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tlimit?: number;\n\t\tcursor?: string | null;\n\t\ttype?: string;\n\t}\n\n\texport interface GetCoinsOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tcoinType: string;\n\t\tlimit?: number;\n\t\tcursor?: string | null;\n\t}\n\n\texport interface GetDynamicFieldsOptions extends CoreClientMethodOptions {\n\t\tparentId: string;\n\t\tlimit?: number;\n\t\tcursor?: string | null;\n\t}\n\n\texport interface GetDynamicFieldOptions extends CoreClientMethodOptions {\n\t\tparentId: string;\n\t\tname: DynamicFieldName;\n\t}\n\n\texport interface GetObjectsResponse {\n\t\tobjects: (ObjectResponse | Error)[];\n\t}\n\n\texport interface GetObjectResponse {\n\t\tobject: ObjectResponse;\n\t}\n\n\texport interface GetOwnedObjectsResponse {\n\t\tobjects: ObjectResponse[];\n\t\thasNextPage: boolean;\n\t\tcursor: string | null;\n\t}\n\n\texport interface GetCoinsResponse {\n\t\tobjects: CoinResponse[];\n\t\thasNextPage: boolean;\n\t\tcursor: string | null;\n\t}\n\n\texport interface ObjectResponse {\n\t\tid: string;\n\t\tversion: string;\n\t\tdigest: string;\n\t\towner: ObjectOwner;\n\t\ttype: string;\n\t\tcontent: PromiseLike<Uint8Array>;\n\t}\n\n\texport interface CoinResponse extends ObjectResponse {\n\t\tbalance: string;\n\t}\n\n\texport interface GetDynamicFieldsResponse {\n\t\thasNextPage: boolean;\n\t\tcursor: string | null;\n\t\tdynamicFields: {\n\t\t\tid: string;\n\t\t\ttype: string;\n\t\t\tname: DynamicFieldName;\n\t\t}[];\n\t}\n\n\texport interface GetDynamicFieldResponse {\n\t\tdynamicField: {\n\t\t\tname: DynamicFieldName;\n\t\t\tvalue: DynamicFieldValue;\n\t\t\tid: string;\n\t\t\tversion: string;\n\t\t\tdigest: string;\n\t\t\ttype: string;\n\t\t};\n\t}\n\n\texport interface DynamicFieldName {\n\t\ttype: string;\n\t\tbcs: Uint8Array;\n\t}\n\n\texport interface DynamicFieldValue {\n\t\ttype: string;\n\t\tbcs: Uint8Array;\n\t}\n\n\t/** Balance methods */\n\texport interface TransportMethods {\n\t\tgetBalance: (options: GetBalanceOptions) => Promise<GetBalanceResponse>;\n\t\tgetAllBalances: (options: GetAllBalancesOptions) => Promise<GetAllBalancesResponse>;\n\t}\n\n\texport interface GetBalanceOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tcoinType: string;\n\t}\n\n\texport interface CoinBalance {\n\t\tcoinType: string;\n\t\tbalance: string;\n\t}\n\n\texport interface GetBalanceResponse {\n\t\tbalance: CoinBalance;\n\t}\n\n\texport interface GetAllBalancesOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tlimit?: number;\n\t\tcursor?: string | null;\n\t}\n\n\texport interface GetAllBalancesResponse {\n\t\tbalances: CoinBalance[];\n\t\thasNextPage: boolean;\n\t\tcursor: string | null;\n\t}\n\n\t/** Transaction methods */\n\texport interface TransportMethods {\n\t\tgetTransaction: (options: GetTransactionOptions) => Promise<GetTransactionResponse>;\n\t\texecuteTransaction: (options: ExecuteTransactionOptions) => Promise<ExecuteTransactionResponse>;\n\t\tdryRunTransaction: (options: DryRunTransactionOptions) => Promise<DryRunTransactionResponse>;\n\t\tresolveTransactionPlugin: () => TransactionPlugin;\n\t}\n\n\texport interface TransactionResponse {\n\t\tdigest: string;\n\t\tsignatures: string[];\n\t\tepoch: string | null;\n\t\teffects: TransactionEffects;\n\t\tobjectTypes: PromiseLike<Record<string, string>>;\n\t\ttransaction: TransactionData;\n\t\t// TODO: add events\n\t\t// events?: Uint8Array;\n\t}\n\n\texport interface TransactionData extends SerializedTransactionDataV2 {\n\t\tbcs: Uint8Array;\n\t}\n\n\texport interface GetTransactionOptions extends CoreClientMethodOptions {\n\t\tdigest: string;\n\t}\n\n\texport interface GetTransactionResponse {\n\t\ttransaction: TransactionResponse;\n\t}\n\n\texport interface ExecuteTransactionOptions extends CoreClientMethodOptions {\n\t\ttransaction: Uint8Array;\n\t\tsignatures: string[];\n\t}\n\n\texport interface DryRunTransactionOptions extends CoreClientMethodOptions {\n\t\ttransaction: Uint8Array;\n\t}\n\n\texport interface DryRunTransactionResponse {\n\t\ttransaction: TransactionResponse;\n\t}\n\n\texport interface ExecuteTransactionResponse {\n\t\ttransaction: TransactionResponse;\n\t}\n\n\texport interface GetReferenceGasPriceOptions extends CoreClientMethodOptions {}\n\n\texport interface TransportMethods {\n\t\tgetReferenceGasPrice?: (\n\t\t\toptions?: GetReferenceGasPriceOptions,\n\t\t) => Promise<GetReferenceGasPriceResponse>;\n\t}\n\n\texport interface GetReferenceGasPriceResponse {\n\t\treferenceGasPrice: string;\n\t}\n\n\t/** ZkLogin methods */\n\texport interface VerifyZkLoginSignatureOptions extends CoreClientMethodOptions {\n\t\tbytes: string;\n\t\tsignature: string;\n\t\tintentScope: 'TransactionData' | 'PersonalMessage';\n\t\tauthor: string;\n\t}\n\n\texport interface ZkLoginVerifyResponse {\n\t\tsuccess: boolean;\n\t\terrors: string[];\n\t}\n\n\texport interface TransportMethods {\n\t\tverifyZkLoginSignature: (\n\t\t\toptions: VerifyZkLoginSignatureOptions,\n\t\t) => Promise<ZkLoginVerifyResponse>;\n\t}\n\n\t/** Name service methods */\n\texport interface ResolveNameServiceNamesOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tcursor?: string | null | undefined;\n\t\tlimit?: number | null | undefined;\n\t}\n\n\texport interface ResolveNameServiceNamesResponse {\n\t\tdata: string[];\n\t\thasNextPage: boolean;\n\t\tnextCursor: string | null;\n\t}\n\n\texport interface TransportMethods {\n\t\tresolveNameServiceNames?: (\n\t\t\toptions: ResolveNameServiceNamesOptions,\n\t\t) => Promise<ResolveNameServiceNamesResponse>;\n\t}\n\n\t/** MVR methods */\n\n\texport interface TransportMethods {\n\t\tmvr: MvrMethods;\n\t}\n\n\texport interface MvrMethods {\n\t\tresolvePackage: (options: MvrResolvePackageOptions) => Promise<MvrResolvePackageResponse>;\n\t\tresolveType: (options: MvrResolveTypeOptions) => Promise<MvrResolveTypeResponse>;\n\t\tresolve: (options: MvrResolveOptions) => Promise<MvrResolveResponse>;\n\t}\n\n\texport interface MvrResolvePackageOptions extends CoreClientMethodOptions {\n\t\tpackage: string;\n\t}\n\n\texport interface MvrResolveTypeOptions extends CoreClientMethodOptions {\n\t\ttype: string;\n\t}\n\n\texport interface MvrResolveOptions extends CoreClientMethodOptions {\n\t\tpackages?: string[];\n\t\ttypes?: string[];\n\t}\n\n\texport interface MvrResolvePackageResponse {\n\t\tpackage: string;\n\t}\n\n\texport interface MvrResolveTypeResponse {\n\t\ttype: string;\n\t}\n\n\texport interface MvrResolveResponse {\n\t\tpackages: Record<\n\t\t\tstring,\n\t\t\t{\n\t\t\t\tpackage: string;\n\t\t\t}\n\t\t>;\n\t\ttypes: Record<\n\t\t\tstring,\n\t\t\t{\n\t\t\t\ttype: string;\n\t\t\t}\n\t\t>;\n\t}\n\n\t/** ObjectOwner types */\n\n\texport interface AddressOwner {\n\t\t$kind: 'AddressOwner';\n\t\tAddressOwner: string;\n\t}\n\n\texport interface ParentOwner {\n\t\t$kind: 'ObjectOwner';\n\t\tObjectOwner: string;\n\t}\n\n\texport interface SharedOwner {\n\t\t$kind: 'Shared';\n\t\tShared: {\n\t\t\tinitialSharedVersion: string;\n\t\t};\n\t}\n\n\texport interface ImmutableOwner {\n\t\t$kind: 'Immutable';\n\t\tImmutable: true;\n\t}\n\n\texport interface ConsensusAddressOwner {\n\t\t$kind: 'ConsensusAddressOwner';\n\t\tConsensusAddressOwner: {\n\t\t\towner: string;\n\t\t\tstartVersion: string;\n\t\t};\n\t}\n\n\texport type ObjectOwner =\n\t\t| AddressOwner\n\t\t| ParentOwner\n\t\t| SharedOwner\n\t\t| ImmutableOwner\n\t\t| ConsensusAddressOwner;\n\n\t/** Effects */\n\n\texport interface TransactionEffects {\n\t\tbcs: Uint8Array | null;\n\t\tdigest: string;\n\t\tversion: number;\n\t\tstatus: ExecutionStatus;\n\t\tgasUsed: GasCostSummary;\n\t\ttransactionDigest: string;\n\t\tgasObject: ChangedObject | null;\n\t\teventsDigest: string | null;\n\t\tdependencies: string[];\n\t\tlamportVersion: string | null;\n\t\tchangedObjects: ChangedObject[];\n\t\tunchangedSharedObjects: UnchangedSharedObject[];\n\t\tauxiliaryDataDigest: string | null;\n\t}\n\n\texport interface ChangedObject {\n\t\tid: string;\n\t\tinputState: 'Unknown' | 'DoesNotExist' | 'Exists';\n\t\tinputVersion: string | null;\n\t\tinputDigest: string | null;\n\t\tinputOwner: ObjectOwner | null;\n\t\toutputState: 'Unknown' | 'DoesNotExist' | 'ObjectWrite' | 'PackageWrite';\n\t\toutputVersion: string | null;\n\t\toutputDigest: string | null;\n\t\toutputOwner: ObjectOwner | null;\n\t\tidOperation: 'Unknown' | 'None' | 'Created' | 'Deleted';\n\t}\n\n\texport interface GasCostSummary {\n\t\tcomputationCost: string;\n\t\tstorageCost: string;\n\t\tstorageRebate: string;\n\t\tnonRefundableStorageFee: string;\n\t}\n\n\texport type ExecutionStatus =\n\t\t| {\n\t\t\t\tsuccess: true;\n\t\t\t\terror: null;\n\t\t }\n\t\t| {\n\t\t\t\tsuccess: false;\n\t\t\t\t// TODO: this should probably be typed better: https://github.com/bmwill/sui/blob/646a2c819346dc140cc649eb9fea368fb14f96e5/crates/sui-rpc-api/proto/sui/rpc/v2beta/execution_status.proto#L22\n\t\t\t\terror: string;\n\t\t };\n\n\texport interface UnchangedSharedObject {\n\t\tkind:\n\t\t\t| 'Unknown'\n\t\t\t| 'ReadOnlyRoot'\n\t\t\t| 'MutateDeleted'\n\t\t\t| 'ReadDeleted'\n\t\t\t| 'Cancelled'\n\t\t\t| 'PerEpochConfig';\n\t\tobjectId: string;\n\t\tversion: string | null;\n\t\tdigest: string | null;\n\t}\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
7
7
  }