@iota/graphql-transport 0.1.2 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/cjs/generated/queries.d.ts +991 -1444
  3. package/dist/cjs/generated/queries.js +123 -727
  4. package/dist/cjs/generated/queries.js.map +2 -2
  5. package/dist/cjs/mappers/bcs.js.map +1 -1
  6. package/dist/cjs/mappers/checkpint.js +1 -0
  7. package/dist/cjs/mappers/checkpint.js.map +2 -2
  8. package/dist/cjs/mappers/move.js.map +2 -2
  9. package/dist/cjs/mappers/object.js +2 -6
  10. package/dist/cjs/mappers/object.js.map +2 -2
  11. package/dist/cjs/mappers/transaction-block.d.ts +1 -0
  12. package/dist/cjs/mappers/transaction-block.js +316 -146
  13. package/dist/cjs/mappers/transaction-block.js.map +2 -2
  14. package/dist/cjs/mappers/validator.js +4 -6
  15. package/dist/cjs/mappers/validator.js.map +2 -2
  16. package/dist/cjs/methods.js +26 -32
  17. package/dist/cjs/methods.js.map +2 -2
  18. package/dist/cjs/transport.d.ts +1 -1
  19. package/dist/cjs/transport.js +18 -33
  20. package/dist/cjs/transport.js.map +2 -2
  21. package/dist/esm/generated/queries.d.ts +991 -1444
  22. package/dist/esm/generated/queries.js +123 -727
  23. package/dist/esm/generated/queries.js.map +2 -2
  24. package/dist/esm/mappers/bcs.js.map +1 -1
  25. package/dist/esm/mappers/checkpint.js +1 -0
  26. package/dist/esm/mappers/checkpint.js.map +2 -2
  27. package/dist/esm/mappers/move.js.map +2 -2
  28. package/dist/esm/mappers/object.js +2 -6
  29. package/dist/esm/mappers/object.js.map +2 -2
  30. package/dist/esm/mappers/transaction-block.d.ts +1 -0
  31. package/dist/esm/mappers/transaction-block.js +318 -148
  32. package/dist/esm/mappers/transaction-block.js.map +2 -2
  33. package/dist/esm/mappers/validator.js +4 -6
  34. package/dist/esm/mappers/validator.js.map +2 -2
  35. package/dist/esm/methods.js +27 -33
  36. package/dist/esm/methods.js.map +2 -2
  37. package/dist/esm/transport.d.ts +1 -1
  38. package/dist/esm/transport.js +17 -32
  39. package/dist/esm/transport.js.map +2 -2
  40. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  41. package/dist/tsconfig.tsbuildinfo +1 -1
  42. package/package.json +16 -16
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/mappers/bcs.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { toB64 } from '@iota/bcs';\nimport type { BcsType } from '@iota/bcs';\nimport { bcs } from '@iota/iota-sdk/bcs';\n\nimport type { MoveTypeLayout } from './move.js';\nimport { toShortTypeString } from './util.js';\n\nexport function layoutToBcs(layout: MoveTypeLayout): BcsType<any> {\n switch (layout) {\n case 'address':\n return bcs.Address;\n case 'bool':\n return bcs.Bool;\n case 'u8':\n return bcs.U8;\n case 'u16':\n return bcs.U16;\n case 'u32':\n return bcs.U32;\n case 'u64':\n return bcs.U64;\n case 'u128':\n return bcs.U128;\n case 'u256':\n return bcs.U256;\n }\n\n if ('vector' in layout) {\n return bcs.vector(layoutToBcs(layout.vector));\n }\n\n if ('struct' in layout) {\n const fields: Record<string, BcsType<any>> = {};\n\n for (const { name, layout: field } of layout.struct.fields) {\n fields[name] = layoutToBcs(field);\n }\n\n let struct = bcs.struct(layout.struct.type, fields);\n const structName = toShortTypeString(layout.struct.type);\n\n if (structName === '0x2::object::ID') {\n struct = struct.transform({\n input: (id: any) => (typeof id === 'string' ? { bytes: id } : id) as never,\n output: (id) => id.id,\n });\n\n return struct;\n }\n }\n\n throw new Error(`Unknown layout: ${layout}`);\n}\n\nexport function mapJsonToBcs(json: unknown, layout: MoveTypeLayout) {\n const schema = layoutToBcs(layout);\n return toB64(schema.serialize(json).toBytes());\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,iBAAsB;AAEtB,IAAAA,cAAoB;AAGpB,kBAAkC;AAE3B,SAAS,YAAY,QAAsC;AAC9D,UAAQ,QAAQ;AAAA,IACZ,KAAK;AACD,aAAO,gBAAI;AAAA,IACf,KAAK;AACD,aAAO,gBAAI;AAAA,IACf,KAAK;AACD,aAAO,gBAAI;AAAA,IACf,KAAK;AACD,aAAO,gBAAI;AAAA,IACf,KAAK;AACD,aAAO,gBAAI;AAAA,IACf,KAAK;AACD,aAAO,gBAAI;AAAA,IACf,KAAK;AACD,aAAO,gBAAI;AAAA,IACf,KAAK;AACD,aAAO,gBAAI;AAAA,EACnB;AAEA,MAAI,YAAY,QAAQ;AACpB,WAAO,gBAAI,OAAO,YAAY,OAAO,MAAM,CAAC;AAAA,EAChD;AAEA,MAAI,YAAY,QAAQ;AACpB,UAAM,SAAuC,CAAC;AAE9C,eAAW,EAAE,MAAM,QAAQ,MAAM,KAAK,OAAO,OAAO,QAAQ;AACxD,aAAO,IAAI,IAAI,YAAY,KAAK;AAAA,IACpC;AAEA,QAAI,SAAS,gBAAI,OAAO,OAAO,OAAO,MAAM,MAAM;AAClD,UAAM,iBAAa,+BAAkB,OAAO,OAAO,IAAI;AAEvD,QAAI,eAAe,mBAAmB;AAClC,eAAS,OAAO,UAAU;AAAA,QACtB,OAAO,CAAC,OAAa,OAAO,OAAO,WAAW,EAAE,OAAO,GAAG,IAAI;AAAA,QAC9D,QAAQ,CAAC,OAAO,GAAG;AAAA,MACvB,CAAC;AAED,aAAO;AAAA,IACX;AAAA,EACJ;AAEA,QAAM,IAAI,MAAM,mBAAmB,QAAQ;AAC/C;AAEO,SAAS,aAAa,MAAe,QAAwB;AAChE,QAAM,SAAS,YAAY,MAAM;AACjC,aAAO,kBAAM,OAAO,UAAU,IAAI,EAAE,QAAQ,CAAC;AACjD;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,iBAAsB;AAEtB,IAAAA,cAAoB;AAGpB,kBAAkC;AAE3B,SAAS,YAAY,QAAsC;AAC9D,UAAQ,QAAQ;AAAA,IACZ,KAAK;AACD,aAAO,gBAAI;AAAA,IACf,KAAK;AACD,aAAO,gBAAI;AAAA,IACf,KAAK;AACD,aAAO,gBAAI;AAAA,IACf,KAAK;AACD,aAAO,gBAAI;AAAA,IACf,KAAK;AACD,aAAO,gBAAI;AAAA,IACf,KAAK;AACD,aAAO,gBAAI;AAAA,IACf,KAAK;AACD,aAAO,gBAAI;AAAA,IACf,KAAK;AACD,aAAO,gBAAI;AAAA,EACnB;AAEA,MAAI,YAAY,QAAQ;AACpB,WAAO,gBAAI,OAAO,YAAY,OAAO,MAAM,CAAC;AAAA,EAChD;AAEA,MAAI,YAAY,QAAQ;AACpB,UAAM,SAAuC,CAAC;AAE9C,eAAW,EAAE,MAAM,QAAQ,MAAM,KAAK,OAAO,OAAO,QAAQ;AACxD,aAAO,IAAI,IAAI,YAAY,KAAK;AAAA,IACpC;AAEA,QAAI,SAAS,gBAAI,OAAO,OAAO,OAAO,MAAM,MAAM;AAClD,UAAM,iBAAa,+BAAkB,OAAO,OAAO,IAAI;AAEvD,QAAI,eAAe,mBAAmB;AAClC,eAAS,OAAO,UAAU;AAAA,QACtB,OAAO,CAAC,OAAa,OAAO,OAAO,WAAW,EAAE,OAAO,GAAG,IAAI;AAAA,QAC9D,QAAQ,CAAC,OAAO,GAAG;AAAA,MACvB,CAAC;AAED,aAAO;AAAA,IACX;AAAA,EACJ;AAEA,QAAM,IAAI,MAAM,mBAAmB,MAAM,EAAE;AAC/C;AAEO,SAAS,aAAa,MAAe,QAAwB;AAChE,QAAM,SAAS,YAAY,MAAM;AACjC,aAAO,kBAAM,OAAO,UAAU,IAAI,EAAE,QAAQ,CAAC;AACjD;",
6
6
  "names": ["import_bcs"]
7
7
  }
@@ -46,6 +46,7 @@ function mapGraphQLCheckpointToRpcCheckpoint(checkpoint) {
46
46
  epoch: String(checkpoint.epoch?.epochId),
47
47
  epochRollingGasCostSummary: {
48
48
  computationCost: checkpoint.rollingGasSummary?.computationCost,
49
+ computationCostBurned: checkpoint.rollingGasSummary?.computationCostBurned,
49
50
  nonRefundableStorageFee: checkpoint.rollingGasSummary?.nonRefundableStorageFee,
50
51
  storageCost: checkpoint.rollingGasSummary?.storageCost,
51
52
  storageRebate: checkpoint.rollingGasSummary?.storageRebate
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/mappers/checkpint.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Checkpoint, EndOfEpochData } from '@iota/iota-sdk/client';\n\nimport type { Rpc_Checkpoint_FieldsFragment } from '../generated/queries.js';\n\nexport function mapGraphQLCheckpointToRpcCheckpoint(\n checkpoint: Rpc_Checkpoint_FieldsFragment,\n): Checkpoint {\n const endOfEpochTx = checkpoint.endOfEpoch.nodes[0];\n let endOfEpochData: EndOfEpochData | undefined;\n\n if (\n endOfEpochTx?.kind?.__typename === 'EndOfEpochTransaction' &&\n endOfEpochTx.kind?.transactions.nodes[0].__typename === 'ChangeEpochTransaction'\n ) {\n endOfEpochData = {\n epochCommitments: [], // TODO\n nextEpochCommittee:\n endOfEpochTx.kind.transactions.nodes[0].epoch?.validatorSet?.activeValidators?.nodes.map(\n (val) => [val.credentials?.protocolPubKey, val.votingPower?.toString()!],\n ) ?? [],\n nextEpochProtocolVersion: String(\n endOfEpochTx.kind.transactions.nodes[0].epoch?.protocolConfigs.protocolVersion,\n ),\n epochSupplyChange: 0, // TODO: https://github.com/iotaledger/iota/issues/1738\n };\n }\n\n return {\n checkpointCommitments: [], // TODO\n digest: checkpoint.digest,\n endOfEpochData,\n epoch: String(checkpoint.epoch?.epochId),\n epochRollingGasCostSummary: {\n computationCost: checkpoint.rollingGasSummary?.computationCost,\n nonRefundableStorageFee: checkpoint.rollingGasSummary?.nonRefundableStorageFee,\n storageCost: checkpoint.rollingGasSummary?.storageCost,\n storageRebate: checkpoint.rollingGasSummary?.storageRebate,\n },\n networkTotalTransactions: String(checkpoint.networkTotalTransactions),\n ...(checkpoint.previousCheckpointDigest\n ? { previousDigest: checkpoint.previousCheckpointDigest }\n : {}),\n sequenceNumber: String(checkpoint.sequenceNumber),\n timestampMs: new Date(checkpoint.timestamp).getTime().toString(),\n transactions:\n checkpoint.transactionBlocks?.nodes.map(\n (transactionBlock) => transactionBlock.digest!,\n ) ?? [],\n validatorSignature: checkpoint.validatorSignatures,\n };\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQO,SAAS,oCACZ,YACU;AACV,QAAM,eAAe,WAAW,WAAW,MAAM,CAAC;AAClD,MAAI;AAEJ,MACI,cAAc,MAAM,eAAe,2BACnC,aAAa,MAAM,aAAa,MAAM,CAAC,EAAE,eAAe,0BAC1D;AACE,qBAAiB;AAAA,MACb,kBAAkB,CAAC;AAAA;AAAA,MACnB,oBACI,aAAa,KAAK,aAAa,MAAM,CAAC,EAAE,OAAO,cAAc,kBAAkB,MAAM;AAAA,QACjF,CAAC,QAAQ,CAAC,IAAI,aAAa,gBAAgB,IAAI,aAAa,SAAS,CAAE;AAAA,MAC3E,KAAK,CAAC;AAAA,MACV,0BAA0B;AAAA,QACtB,aAAa,KAAK,aAAa,MAAM,CAAC,EAAE,OAAO,gBAAgB;AAAA,MACnE;AAAA,MACA,mBAAmB;AAAA;AAAA,IACvB;AAAA,EACJ;AAEA,SAAO;AAAA,IACH,uBAAuB,CAAC;AAAA;AAAA,IACxB,QAAQ,WAAW;AAAA,IACnB;AAAA,IACA,OAAO,OAAO,WAAW,OAAO,OAAO;AAAA,IACvC,4BAA4B;AAAA,MACxB,iBAAiB,WAAW,mBAAmB;AAAA,MAC/C,yBAAyB,WAAW,mBAAmB;AAAA,MACvD,aAAa,WAAW,mBAAmB;AAAA,MAC3C,eAAe,WAAW,mBAAmB;AAAA,IACjD;AAAA,IACA,0BAA0B,OAAO,WAAW,wBAAwB;AAAA,IACpE,GAAI,WAAW,2BACT,EAAE,gBAAgB,WAAW,yBAAyB,IACtD,CAAC;AAAA,IACP,gBAAgB,OAAO,WAAW,cAAc;AAAA,IAChD,aAAa,IAAI,KAAK,WAAW,SAAS,EAAE,QAAQ,EAAE,SAAS;AAAA,IAC/D,cACI,WAAW,mBAAmB,MAAM;AAAA,MAChC,CAAC,qBAAqB,iBAAiB;AAAA,IAC3C,KAAK,CAAC;AAAA,IACV,oBAAoB,WAAW;AAAA,EACnC;AACJ;",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Checkpoint, EndOfEpochData } from '@iota/iota-sdk/client';\n\nimport type { Rpc_Checkpoint_FieldsFragment } from '../generated/queries.js';\n\nexport function mapGraphQLCheckpointToRpcCheckpoint(\n checkpoint: Rpc_Checkpoint_FieldsFragment,\n): Checkpoint {\n const endOfEpochTx = checkpoint.endOfEpoch.nodes[0];\n let endOfEpochData: EndOfEpochData | undefined;\n\n if (\n endOfEpochTx?.kind?.__typename === 'EndOfEpochTransaction' &&\n endOfEpochTx.kind?.transactions.nodes[0].__typename === 'ChangeEpochTransaction'\n ) {\n endOfEpochData = {\n epochCommitments: [], // TODO\n nextEpochCommittee:\n endOfEpochTx.kind.transactions.nodes[0].epoch?.validatorSet?.activeValidators?.nodes.map(\n (val) => [val.credentials?.protocolPubKey, val.votingPower?.toString()!],\n ) ?? [],\n nextEpochProtocolVersion: String(\n endOfEpochTx.kind.transactions.nodes[0].epoch?.protocolConfigs.protocolVersion,\n ),\n epochSupplyChange: 0, // TODO: https://github.com/iotaledger/iota/issues/1738\n };\n }\n\n return {\n checkpointCommitments: [], // TODO\n digest: checkpoint.digest,\n endOfEpochData,\n epoch: String(checkpoint.epoch?.epochId),\n epochRollingGasCostSummary: {\n computationCost: checkpoint.rollingGasSummary?.computationCost,\n computationCostBurned: checkpoint.rollingGasSummary?.computationCostBurned,\n nonRefundableStorageFee: checkpoint.rollingGasSummary?.nonRefundableStorageFee,\n storageCost: checkpoint.rollingGasSummary?.storageCost,\n storageRebate: checkpoint.rollingGasSummary?.storageRebate,\n },\n networkTotalTransactions: String(checkpoint.networkTotalTransactions),\n ...(checkpoint.previousCheckpointDigest\n ? { previousDigest: checkpoint.previousCheckpointDigest }\n : {}),\n sequenceNumber: String(checkpoint.sequenceNumber),\n timestampMs: new Date(checkpoint.timestamp).getTime().toString(),\n transactions:\n checkpoint.transactionBlocks?.nodes.map(\n (transactionBlock) => transactionBlock.digest!,\n ) ?? [],\n validatorSignature: checkpoint.validatorSignatures,\n };\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQO,SAAS,oCACZ,YACU;AACV,QAAM,eAAe,WAAW,WAAW,MAAM,CAAC;AAClD,MAAI;AAEJ,MACI,cAAc,MAAM,eAAe,2BACnC,aAAa,MAAM,aAAa,MAAM,CAAC,EAAE,eAAe,0BAC1D;AACE,qBAAiB;AAAA,MACb,kBAAkB,CAAC;AAAA;AAAA,MACnB,oBACI,aAAa,KAAK,aAAa,MAAM,CAAC,EAAE,OAAO,cAAc,kBAAkB,MAAM;AAAA,QACjF,CAAC,QAAQ,CAAC,IAAI,aAAa,gBAAgB,IAAI,aAAa,SAAS,CAAE;AAAA,MAC3E,KAAK,CAAC;AAAA,MACV,0BAA0B;AAAA,QACtB,aAAa,KAAK,aAAa,MAAM,CAAC,EAAE,OAAO,gBAAgB;AAAA,MACnE;AAAA,MACA,mBAAmB;AAAA;AAAA,IACvB;AAAA,EACJ;AAEA,SAAO;AAAA,IACH,uBAAuB,CAAC;AAAA;AAAA,IACxB,QAAQ,WAAW;AAAA,IACnB;AAAA,IACA,OAAO,OAAO,WAAW,OAAO,OAAO;AAAA,IACvC,4BAA4B;AAAA,MACxB,iBAAiB,WAAW,mBAAmB;AAAA,MAC/C,uBAAuB,WAAW,mBAAmB;AAAA,MACrD,yBAAyB,WAAW,mBAAmB;AAAA,MACvD,aAAa,WAAW,mBAAmB;AAAA,MAC3C,eAAe,WAAW,mBAAmB;AAAA,IACjD;AAAA,IACA,0BAA0B,OAAO,WAAW,wBAAwB;AAAA,IACpE,GAAI,WAAW,2BACT,EAAE,gBAAgB,WAAW,yBAAyB,IACtD,CAAC;AAAA,IACP,gBAAgB,OAAO,WAAW,cAAc;AAAA,IAChD,aAAa,IAAI,KAAK,WAAW,SAAS,EAAE,QAAQ,EAAE,SAAS;AAAA,IAC/D,cACI,WAAW,mBAAmB,MAAM;AAAA,MAChC,CAAC,qBAAqB,iBAAiB;AAAA,IAC3C,KAAK,CAAC;AAAA,IACV,oBAAoB,WAAW;AAAA,EACnC;AACJ;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/mappers/move.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n MoveStruct,\n MoveValue,\n IotaMoveAbility,\n IotaMoveNormalizedFunction,\n IotaMoveNormalizedModule,\n IotaMoveNormalizedStruct,\n IotaMoveNormalizedType,\n} from '@iota/iota-sdk/client';\nimport { normalizeIotaAddress, parseStructTag } from '@iota/iota-sdk/utils';\n\nimport type {\n Rpc_Move_Function_FieldsFragment,\n Rpc_Move_Module_FieldsFragment,\n Rpc_Move_Struct_FieldsFragment,\n} from '../generated/queries.js';\nimport { toShortTypeString } from './util.js';\n\nexport type OpenMoveTypeSignatureBody =\n | 'address'\n | 'bool'\n | 'u8'\n | 'u16'\n | 'u32'\n | 'u64'\n | 'u128'\n | 'u256'\n | { vector: OpenMoveTypeSignatureBody }\n | {\n datatype: {\n package: string;\n module: string;\n type: string;\n typeParameters?: [OpenMoveTypeSignatureBody];\n };\n }\n | { typeParameter: number };\n\nexport function mapOpenMoveType(type: { ref?: '&' | '&mut'; body: OpenMoveTypeSignatureBody }) {\n const body = mapNormalizedType(type.body);\n\n if (type.ref === '&') {\n return {\n Reference: body,\n };\n }\n\n if (type.ref === '&mut') {\n return {\n MutableReference: body,\n };\n }\n\n return body;\n}\n\nexport function mapNormalizedType(type: OpenMoveTypeSignatureBody): IotaMoveNormalizedType {\n switch (type) {\n case 'address':\n return 'Address';\n case 'bool':\n return 'Bool';\n case 'u8':\n return 'U8';\n case 'u16':\n return 'U16';\n case 'u32':\n return 'U32';\n case 'u64':\n return 'U64';\n case 'u128':\n return 'U128';\n case 'u256':\n return 'U256';\n }\n\n if ('vector' in type) {\n return {\n Vector: mapNormalizedType(type.vector),\n };\n }\n\n if ('typeParameter' in type) {\n return {\n TypeParameter: type.typeParameter,\n };\n }\n\n if ('datatype' in type) {\n return {\n Struct: {\n address: toShortTypeString(type.datatype.package),\n module: type.datatype.module,\n name: type.datatype.type,\n typeArguments: type.datatype.typeParameters?.map(mapNormalizedType) ?? [],\n },\n };\n }\n\n throw new Error('Invalid type');\n}\n\nexport function mapNormalizedMoveFunction(\n fn: Rpc_Move_Function_FieldsFragment,\n): IotaMoveNormalizedFunction {\n return {\n visibility: `${fn.visibility?.[0]}${fn.visibility?.slice(1).toLowerCase()}` as never,\n isEntry: fn.isEntry!,\n typeParameters:\n fn.typeParameters?.map((param) => ({\n abilities:\n param.constraints?.map(\n (constraint) =>\n `${constraint[0]}${constraint\n .slice(1)\n .toLowerCase()}` as IotaMoveAbility,\n ) ?? [],\n })) ?? [],\n return: fn.return?.map((param) => mapOpenMoveType(param.signature)) ?? [],\n parameters: fn.parameters?.map((param) => mapOpenMoveType(param.signature)) ?? [],\n };\n}\n\nexport function mapNormalizedMoveStruct(\n struct: Rpc_Move_Struct_FieldsFragment,\n): IotaMoveNormalizedStruct {\n return {\n abilities: {\n abilities:\n struct.abilities?.map(\n (ability) =>\n `${ability[0]}${ability.slice(1).toLowerCase()}` as IotaMoveAbility,\n ) ?? [],\n },\n fields:\n struct.fields?.map((field) => ({\n name: field.name,\n type: mapOpenMoveType(field.type?.signature),\n })) ?? [],\n typeParameters:\n struct.typeParameters?.map((param) => ({\n isPhantom: param.isPhantom!,\n constraints: {\n abilities: param.constraints?.map(\n (constraint) =>\n `${constraint[0]}${constraint\n .slice(1)\n .toLowerCase()}` as IotaMoveAbility,\n ),\n },\n })) ?? [],\n };\n}\n\nexport function mapNormalizedMoveModule(\n module: Rpc_Move_Module_FieldsFragment,\n address: string,\n): IotaMoveNormalizedModule {\n const exposedFunctions: Record<string, IotaMoveNormalizedFunction> = {};\n const structs: Record<string, IotaMoveNormalizedStruct> = {};\n\n module.functions?.nodes\n .filter(\n (func) => func.visibility === 'PUBLIC' || func.isEntry || func.visibility === 'FRIEND',\n )\n .forEach((func) => {\n exposedFunctions[func.name] = mapNormalizedMoveFunction(func);\n });\n\n module.structs?.nodes.forEach((struct) => {\n structs[struct.name] = mapNormalizedMoveStruct(struct);\n });\n\n return {\n address: toShortTypeString(address),\n name: module.name,\n fileFormatVersion: module.fileFormatVersion,\n friends:\n module.friends.nodes?.map((friend) => ({\n address: toShortTypeString(friend.package.address),\n name: friend.name,\n })) ?? [],\n structs,\n exposedFunctions,\n };\n}\n\ntype MoveData =\n | { Address: number[] }\n | { UID: number[] }\n | { ID: number[] }\n | { Bool: boolean }\n | { Number: string }\n | { String: string }\n | { Vector: MoveData[] }\n | { Option: MoveData | null }\n | { Struct: [{ name: string; value: MoveData }] };\n\nexport type MoveTypeLayout =\n | 'address'\n | 'bool'\n | 'u8'\n | 'u16'\n | 'u32'\n | 'u64'\n | 'u128'\n | 'u256'\n | { vector: MoveTypeLayout }\n | {\n struct: {\n type: string;\n fields: { name: string; layout: MoveTypeLayout }[];\n };\n };\n\nexport function moveDataToRpcContent(data: MoveData, layout: MoveTypeLayout): MoveValue {\n if ('Address' in data) {\n return normalizeIotaAddress(\n data.Address.map((byte) => byte.toString(16).padStart(2, '0')).join(''),\n );\n }\n\n if ('UID' in data) {\n return {\n id: normalizeIotaAddress(\n data.UID.map((byte) => byte.toString(16).padStart(2, '0')).join(''),\n ),\n };\n }\n\n if ('ID' in data) {\n return normalizeIotaAddress(\n data.ID.map((byte) => byte.toString(16).padStart(2, '0')).join(''),\n );\n }\n\n if ('Bool' in data) {\n return data.Bool;\n }\n\n if ('Number' in data) {\n return layout === 'u64' || layout === 'u128' || layout === 'u256'\n ? String(data.Number)\n : Number.parseInt(data.Number, 10);\n }\n\n if ('String' in data) {\n return data.String;\n }\n\n if ('Vector' in data) {\n if (typeof layout !== 'object' || !('vector' in layout)) {\n throw new Error(`Invalid layout for data: ${JSON.stringify(data)}}`);\n }\n const itemLayout = layout.vector;\n return data.Vector.map((item) => moveDataToRpcContent(item, itemLayout));\n }\n\n if ('Option' in data) {\n return data.Option && moveDataToRpcContent(data.Option, layout);\n }\n\n if ('Struct' in data) {\n const result: MoveStruct = {};\n\n if (typeof layout !== 'object' || !('struct' in layout)) {\n throw new Error(`Invalid layout for data: ${JSON.stringify(data)}}`);\n }\n\n data.Struct.forEach((item, index) => {\n const { name, layout: itemLayout } = layout.struct.fields[index];\n\n result[name] = moveDataToRpcContent(item.value, itemLayout);\n });\n\n // https://github.com/iotaledger/iota/blob/5849f6845a3ab9fdb4c17523994adad461478a4c/crates/iota-json-rpc-types/src/iota_move.rs#L481\n const tag = parseStructTag(layout.struct.type);\n const structName = `${toShortTypeString(tag.address)}::${tag.module}::${tag.name}`;\n\n switch (structName) {\n case '0x1::string::String':\n case '0x1::ascii::String':\n return result['bytes'];\n case '0x2::url::Url':\n return result['url'];\n case '0x2::object::ID':\n return result['bytes'];\n case '0x2::object::UID':\n return {\n id: result['id'] as string,\n };\n case '0x2::balance::Balance':\n return result['value'];\n case '0x1::option::Option':\n return (result['vec'] as MoveValue[])[0] ?? null;\n }\n\n return {\n type: toShortTypeString(layout.struct.type),\n fields: result,\n };\n }\n\n throw new Error('Invalid move data: ' + JSON.stringify(data));\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n MoveStruct,\n MoveValue,\n IotaMoveAbility,\n IotaMoveNormalizedFunction,\n IotaMoveNormalizedModule,\n IotaMoveNormalizedStruct,\n IotaMoveNormalizedType,\n} from '@iota/iota-sdk/client';\nimport { normalizeIotaAddress, parseStructTag } from '@iota/iota-sdk/utils';\n\nimport type {\n Rpc_Move_Function_FieldsFragment,\n Rpc_Move_Module_FieldsFragment,\n Rpc_Move_Struct_FieldsFragment,\n} from '../generated/queries.js';\nimport { toShortTypeString } from './util.js';\n\nexport type OpenMoveTypeSignatureBody =\n | 'address'\n | 'bool'\n | 'u8'\n | 'u16'\n | 'u32'\n | 'u64'\n | 'u128'\n | 'u256'\n | { vector: OpenMoveTypeSignatureBody }\n | {\n datatype: {\n package: string;\n module: string;\n type: string;\n typeParameters?: [OpenMoveTypeSignatureBody];\n };\n }\n | { typeParameter: number };\n\nexport function mapOpenMoveType(type: { ref?: '&' | '&mut'; body: OpenMoveTypeSignatureBody }) {\n const body = mapNormalizedType(type.body);\n\n if (type.ref === '&') {\n return {\n Reference: body,\n };\n }\n\n if (type.ref === '&mut') {\n return {\n MutableReference: body,\n };\n }\n\n return body;\n}\n\nexport function mapNormalizedType(type: OpenMoveTypeSignatureBody): IotaMoveNormalizedType {\n switch (type) {\n case 'address':\n return 'Address';\n case 'bool':\n return 'Bool';\n case 'u8':\n return 'U8';\n case 'u16':\n return 'U16';\n case 'u32':\n return 'U32';\n case 'u64':\n return 'U64';\n case 'u128':\n return 'U128';\n case 'u256':\n return 'U256';\n }\n\n if ('vector' in type) {\n return {\n Vector: mapNormalizedType(type.vector),\n };\n }\n\n if ('typeParameter' in type) {\n return {\n TypeParameter: type.typeParameter,\n };\n }\n\n if ('datatype' in type) {\n return {\n Struct: {\n address: toShortTypeString(type.datatype.package),\n module: type.datatype.module,\n name: type.datatype.type,\n typeArguments: type.datatype.typeParameters?.map(mapNormalizedType) ?? [],\n },\n };\n }\n\n throw new Error('Invalid type');\n}\n\nexport function mapNormalizedMoveFunction(\n fn: Rpc_Move_Function_FieldsFragment,\n): IotaMoveNormalizedFunction {\n return {\n visibility: `${fn.visibility?.[0]}${fn.visibility?.slice(1).toLowerCase()}` as never,\n isEntry: fn.isEntry!,\n typeParameters:\n fn.typeParameters?.map((param) => ({\n abilities:\n param.constraints?.map(\n (constraint) =>\n `${constraint[0]}${constraint.slice(1).toLowerCase()}` as IotaMoveAbility,\n ) ?? [],\n })) ?? [],\n return: fn.return?.map((param) => mapOpenMoveType(param.signature)) ?? [],\n parameters: fn.parameters?.map((param) => mapOpenMoveType(param.signature)) ?? [],\n };\n}\n\nexport function mapNormalizedMoveStruct(\n struct: Rpc_Move_Struct_FieldsFragment,\n): IotaMoveNormalizedStruct {\n return {\n abilities: {\n abilities:\n struct.abilities?.map(\n (ability) =>\n `${ability[0]}${ability.slice(1).toLowerCase()}` as IotaMoveAbility,\n ) ?? [],\n },\n fields:\n struct.fields?.map((field) => ({\n name: field.name,\n type: mapOpenMoveType(field.type?.signature),\n })) ?? [],\n typeParameters:\n struct.typeParameters?.map((param) => ({\n isPhantom: param.isPhantom!,\n constraints: {\n abilities: param.constraints?.map(\n (constraint) =>\n `${constraint[0]}${constraint.slice(1).toLowerCase()}` as IotaMoveAbility,\n ),\n },\n })) ?? [],\n };\n}\n\nexport function mapNormalizedMoveModule(\n module: Rpc_Move_Module_FieldsFragment,\n address: string,\n): IotaMoveNormalizedModule {\n const exposedFunctions: Record<string, IotaMoveNormalizedFunction> = {};\n const structs: Record<string, IotaMoveNormalizedStruct> = {};\n\n module.functions?.nodes\n .filter(\n (func) => func.visibility === 'PUBLIC' || func.isEntry || func.visibility === 'FRIEND',\n )\n .forEach((func) => {\n exposedFunctions[func.name] = mapNormalizedMoveFunction(func);\n });\n\n module.structs?.nodes.forEach((struct) => {\n structs[struct.name] = mapNormalizedMoveStruct(struct);\n });\n\n return {\n address: toShortTypeString(address),\n name: module.name,\n fileFormatVersion: module.fileFormatVersion,\n friends:\n module.friends.nodes?.map((friend) => ({\n address: toShortTypeString(friend.package.address),\n name: friend.name,\n })) ?? [],\n structs,\n exposedFunctions,\n };\n}\n\ntype MoveData =\n | { Address: number[] }\n | { UID: number[] }\n | { ID: number[] }\n | { Bool: boolean }\n | { Number: string }\n | { String: string }\n | { Vector: MoveData[] }\n | { Option: MoveData | null }\n | { Struct: [{ name: string; value: MoveData }] };\n\nexport type MoveTypeLayout =\n | 'address'\n | 'bool'\n | 'u8'\n | 'u16'\n | 'u32'\n | 'u64'\n | 'u128'\n | 'u256'\n | { vector: MoveTypeLayout }\n | {\n struct: {\n type: string;\n fields: { name: string; layout: MoveTypeLayout }[];\n };\n };\n\nexport function moveDataToRpcContent(data: MoveData, layout: MoveTypeLayout): MoveValue {\n if ('Address' in data) {\n return normalizeIotaAddress(\n data.Address.map((byte) => byte.toString(16).padStart(2, '0')).join(''),\n );\n }\n\n if ('UID' in data) {\n return {\n id: normalizeIotaAddress(\n data.UID.map((byte) => byte.toString(16).padStart(2, '0')).join(''),\n ),\n };\n }\n\n if ('ID' in data) {\n return normalizeIotaAddress(\n data.ID.map((byte) => byte.toString(16).padStart(2, '0')).join(''),\n );\n }\n\n if ('Bool' in data) {\n return data.Bool;\n }\n\n if ('Number' in data) {\n return layout === 'u64' || layout === 'u128' || layout === 'u256'\n ? String(data.Number)\n : Number.parseInt(data.Number, 10);\n }\n\n if ('String' in data) {\n return data.String;\n }\n\n if ('Vector' in data) {\n if (typeof layout !== 'object' || !('vector' in layout)) {\n throw new Error(`Invalid layout for data: ${JSON.stringify(data)}}`);\n }\n const itemLayout = layout.vector;\n return data.Vector.map((item) => moveDataToRpcContent(item, itemLayout));\n }\n\n if ('Option' in data) {\n return data.Option && moveDataToRpcContent(data.Option, layout);\n }\n\n if ('Struct' in data) {\n const result: MoveStruct = {};\n\n if (typeof layout !== 'object' || !('struct' in layout)) {\n throw new Error(`Invalid layout for data: ${JSON.stringify(data)}}`);\n }\n\n data.Struct.forEach((item, index) => {\n const { name, layout: itemLayout } = layout.struct.fields[index];\n\n result[name] = moveDataToRpcContent(item.value, itemLayout);\n });\n\n // https://github.com/iotaledger/iota/blob/5849f6845a3ab9fdb4c17523994adad461478a4c/crates/iota-json-rpc-types/src/iota_move.rs#L481\n const tag = parseStructTag(layout.struct.type);\n const structName = `${toShortTypeString(tag.address)}::${tag.module}::${tag.name}`;\n\n switch (structName) {\n case '0x1::string::String':\n case '0x1::ascii::String':\n return result['bytes'];\n case '0x2::url::Url':\n return result['url'];\n case '0x2::object::ID':\n return result['bytes'];\n case '0x2::object::UID':\n return {\n id: result['id'] as string,\n };\n case '0x2::balance::Balance':\n return result['value'];\n case '0x1::option::Option':\n return (result['vec'] as MoveValue[])[0] ?? null;\n }\n\n return {\n type: toShortTypeString(layout.struct.type),\n fields: result,\n };\n }\n\n throw new Error('Invalid move data: ' + JSON.stringify(data));\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["module"]
7
7
  }
@@ -31,7 +31,6 @@ function mapGraphQLObjectToRpcObject(object, options = {}) {
31
31
  bcs: options?.showBcs ? {
32
32
  dataType: "moveObject",
33
33
  bcsBytes: object.asMoveObject?.contents?.bcs,
34
- hasPublicTransfer: object.asMoveObject?.hasPublicTransfer,
35
34
  version: object.version,
36
35
  type: (0, import_util.toShortTypeString)(object.asMoveObject?.contents?.type.repr)
37
36
  } : void 0,
@@ -40,8 +39,7 @@ function mapGraphQLObjectToRpcObject(object, options = {}) {
40
39
  ...(0, import_move.moveDataToRpcContent)(
41
40
  object.asMoveObject?.contents?.data,
42
41
  object.asMoveObject?.contents?.type.layout
43
- ),
44
- hasPublicTransfer: object.asMoveObject?.hasPublicTransfer
42
+ )
45
43
  },
46
44
  digest: object.digest,
47
45
  display: (0, import_display.formatDisplay)(object),
@@ -58,14 +56,12 @@ function mapGraphQLMoveObjectToRpcObject(object, options = {}) {
58
56
  bcs: options?.showBcs ? {
59
57
  dataType: "moveObject",
60
58
  bcsBytes: object?.contents?.bcs,
61
- hasPublicTransfer: object?.hasPublicTransfer,
62
59
  version: object.version,
63
60
  type: (0, import_util.toShortTypeString)(object?.contents?.type.repr)
64
61
  } : void 0,
65
62
  content: {
66
63
  dataType: "moveObject",
67
- ...(0, import_move.moveDataToRpcContent)(object?.contents?.data, object?.contents?.type.layout),
68
- hasPublicTransfer: object?.hasPublicTransfer
64
+ ...(0, import_move.moveDataToRpcContent)(object?.contents?.data, object?.contents?.type.layout)
69
65
  },
70
66
  digest: object.digest,
71
67
  display: (0, import_display.formatDisplay)(object),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/mappers/object.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { IotaObjectResponse } from '@iota/iota-sdk/client';\n\nimport type {\n MoveValue,\n Rpc_Move_Object_FieldsFragment,\n Rpc_Object_FieldsFragment,\n} from '../generated/queries.js';\nimport { formatDisplay } from './display.js';\nimport { moveDataToRpcContent } from './move.js';\nimport { mapGraphQLOwnerToRpcOwner } from './owner.js';\nimport { toShortTypeString } from './util.js';\n\nexport function mapGraphQLObjectToRpcObject(\n object: Rpc_Object_FieldsFragment,\n options: { showBcs?: boolean | null } = {},\n): NonNullable<IotaObjectResponse['data']> {\n return {\n bcs: options?.showBcs\n ? {\n dataType: 'moveObject' as const,\n bcsBytes: object.asMoveObject?.contents?.bcs,\n hasPublicTransfer: object.asMoveObject?.hasPublicTransfer!,\n version: object.version as unknown as string,\n type: toShortTypeString(object.asMoveObject?.contents?.type.repr!),\n }\n : undefined,\n content: {\n dataType: 'moveObject' as const,\n ...(moveDataToRpcContent(\n object.asMoveObject?.contents?.data!,\n object.asMoveObject?.contents?.type.layout!,\n ) as {\n fields: {\n [key: string]: MoveValue;\n };\n type: string;\n }),\n hasPublicTransfer: object.asMoveObject?.hasPublicTransfer!,\n },\n digest: object.digest!,\n display: formatDisplay(object),\n objectId: object.objectId,\n owner: mapGraphQLOwnerToRpcOwner(object.owner),\n previousTransaction: object.previousTransactionBlock?.digest,\n storageRebate: object.storageRebate,\n type: toShortTypeString(object.asMoveObject?.contents?.type.repr!),\n version: String(object.version),\n };\n}\n\nexport function mapGraphQLMoveObjectToRpcObject(\n object: Rpc_Move_Object_FieldsFragment,\n options: { showBcs?: boolean | null } = {},\n): NonNullable<IotaObjectResponse['data']> {\n return {\n bcs: options?.showBcs\n ? {\n dataType: 'moveObject' as const,\n bcsBytes: object?.contents?.bcs,\n hasPublicTransfer: object?.hasPublicTransfer!,\n version: object.version as unknown as string,\n type: toShortTypeString(object?.contents?.type.repr!),\n }\n : undefined,\n content: {\n dataType: 'moveObject' as const,\n ...(moveDataToRpcContent(object?.contents?.data!, object?.contents?.type.layout!) as {\n fields: {\n [key: string]: MoveValue;\n };\n type: string;\n }),\n hasPublicTransfer: object?.hasPublicTransfer!,\n },\n digest: object.digest!,\n display: formatDisplay(object),\n objectId: object.objectId,\n owner: mapGraphQLOwnerToRpcOwner(object.owner),\n previousTransaction: object.previousTransactionBlock?.digest,\n storageRebate: object.storageRebate,\n type: toShortTypeString(object?.contents?.type.repr!),\n version: String(object.version),\n };\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWA,qBAA8B;AAC9B,kBAAqC;AACrC,mBAA0C;AAC1C,kBAAkC;AAE3B,SAAS,4BACZ,QACA,UAAwC,CAAC,GACF;AACvC,SAAO;AAAA,IACH,KAAK,SAAS,UACR;AAAA,MACI,UAAU;AAAA,MACV,UAAU,OAAO,cAAc,UAAU;AAAA,MACzC,mBAAmB,OAAO,cAAc;AAAA,MACxC,SAAS,OAAO;AAAA,MAChB,UAAM,+BAAkB,OAAO,cAAc,UAAU,KAAK,IAAK;AAAA,IACrE,IACA;AAAA,IACN,SAAS;AAAA,MACL,UAAU;AAAA,MACV,OAAI;AAAA,QACA,OAAO,cAAc,UAAU;AAAA,QAC/B,OAAO,cAAc,UAAU,KAAK;AAAA,MACxC;AAAA,MAMA,mBAAmB,OAAO,cAAc;AAAA,IAC5C;AAAA,IACA,QAAQ,OAAO;AAAA,IACf,aAAS,8BAAc,MAAM;AAAA,IAC7B,UAAU,OAAO;AAAA,IACjB,WAAO,wCAA0B,OAAO,KAAK;AAAA,IAC7C,qBAAqB,OAAO,0BAA0B;AAAA,IACtD,eAAe,OAAO;AAAA,IACtB,UAAM,+BAAkB,OAAO,cAAc,UAAU,KAAK,IAAK;AAAA,IACjE,SAAS,OAAO,OAAO,OAAO;AAAA,EAClC;AACJ;AAEO,SAAS,gCACZ,QACA,UAAwC,CAAC,GACF;AACvC,SAAO;AAAA,IACH,KAAK,SAAS,UACR;AAAA,MACI,UAAU;AAAA,MACV,UAAU,QAAQ,UAAU;AAAA,MAC5B,mBAAmB,QAAQ;AAAA,MAC3B,SAAS,OAAO;AAAA,MAChB,UAAM,+BAAkB,QAAQ,UAAU,KAAK,IAAK;AAAA,IACxD,IACA;AAAA,IACN,SAAS;AAAA,MACL,UAAU;AAAA,MACV,OAAI,kCAAqB,QAAQ,UAAU,MAAO,QAAQ,UAAU,KAAK,MAAO;AAAA,MAMhF,mBAAmB,QAAQ;AAAA,IAC/B;AAAA,IACA,QAAQ,OAAO;AAAA,IACf,aAAS,8BAAc,MAAM;AAAA,IAC7B,UAAU,OAAO;AAAA,IACjB,WAAO,wCAA0B,OAAO,KAAK;AAAA,IAC7C,qBAAqB,OAAO,0BAA0B;AAAA,IACtD,eAAe,OAAO;AAAA,IACtB,UAAM,+BAAkB,QAAQ,UAAU,KAAK,IAAK;AAAA,IACpD,SAAS,OAAO,OAAO,OAAO;AAAA,EAClC;AACJ;",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { IotaObjectResponse } from '@iota/iota-sdk/client';\n\nimport type {\n MoveValue,\n Rpc_Move_Object_FieldsFragment,\n Rpc_Object_FieldsFragment,\n} from '../generated/queries.js';\nimport { formatDisplay } from './display.js';\nimport { moveDataToRpcContent } from './move.js';\nimport { mapGraphQLOwnerToRpcOwner } from './owner.js';\nimport { toShortTypeString } from './util.js';\n\nexport function mapGraphQLObjectToRpcObject(\n object: Rpc_Object_FieldsFragment,\n options: { showBcs?: boolean | null } = {},\n): NonNullable<IotaObjectResponse['data']> {\n return {\n bcs: options?.showBcs\n ? {\n dataType: 'moveObject' as const,\n bcsBytes: object.asMoveObject?.contents?.bcs,\n version: object.version as unknown as string,\n type: toShortTypeString(object.asMoveObject?.contents?.type.repr!),\n }\n : undefined,\n content: {\n dataType: 'moveObject' as const,\n ...(moveDataToRpcContent(\n object.asMoveObject?.contents?.data!,\n object.asMoveObject?.contents?.type.layout!,\n ) as {\n fields: {\n [key: string]: MoveValue;\n };\n type: string;\n }),\n },\n digest: object.digest!,\n display: formatDisplay(object),\n objectId: object.objectId,\n owner: mapGraphQLOwnerToRpcOwner(object.owner),\n previousTransaction: object.previousTransactionBlock?.digest,\n storageRebate: object.storageRebate,\n type: toShortTypeString(object.asMoveObject?.contents?.type.repr!),\n version: String(object.version),\n };\n}\n\nexport function mapGraphQLMoveObjectToRpcObject(\n object: Rpc_Move_Object_FieldsFragment,\n options: { showBcs?: boolean | null } = {},\n): NonNullable<IotaObjectResponse['data']> {\n return {\n bcs: options?.showBcs\n ? {\n dataType: 'moveObject' as const,\n bcsBytes: object?.contents?.bcs,\n version: object.version as unknown as string,\n type: toShortTypeString(object?.contents?.type.repr!),\n }\n : undefined,\n content: {\n dataType: 'moveObject' as const,\n ...(moveDataToRpcContent(object?.contents?.data!, object?.contents?.type.layout!) as {\n fields: {\n [key: string]: MoveValue;\n };\n type: string;\n }),\n },\n digest: object.digest!,\n display: formatDisplay(object),\n objectId: object.objectId,\n owner: mapGraphQLOwnerToRpcOwner(object.owner),\n previousTransaction: object.previousTransactionBlock?.digest,\n storageRebate: object.storageRebate,\n type: toShortTypeString(object?.contents?.type.repr!),\n version: String(object.version),\n };\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWA,qBAA8B;AAC9B,kBAAqC;AACrC,mBAA0C;AAC1C,kBAAkC;AAE3B,SAAS,4BACZ,QACA,UAAwC,CAAC,GACF;AACvC,SAAO;AAAA,IACH,KAAK,SAAS,UACR;AAAA,MACI,UAAU;AAAA,MACV,UAAU,OAAO,cAAc,UAAU;AAAA,MACzC,SAAS,OAAO;AAAA,MAChB,UAAM,+BAAkB,OAAO,cAAc,UAAU,KAAK,IAAK;AAAA,IACrE,IACA;AAAA,IACN,SAAS;AAAA,MACL,UAAU;AAAA,MACV,OAAI;AAAA,QACA,OAAO,cAAc,UAAU;AAAA,QAC/B,OAAO,cAAc,UAAU,KAAK;AAAA,MACxC;AAAA,IAMJ;AAAA,IACA,QAAQ,OAAO;AAAA,IACf,aAAS,8BAAc,MAAM;AAAA,IAC7B,UAAU,OAAO;AAAA,IACjB,WAAO,wCAA0B,OAAO,KAAK;AAAA,IAC7C,qBAAqB,OAAO,0BAA0B;AAAA,IACtD,eAAe,OAAO;AAAA,IACtB,UAAM,+BAAkB,OAAO,cAAc,UAAU,KAAK,IAAK;AAAA,IACjE,SAAS,OAAO,OAAO,OAAO;AAAA,EAClC;AACJ;AAEO,SAAS,gCACZ,QACA,UAAwC,CAAC,GACF;AACvC,SAAO;AAAA,IACH,KAAK,SAAS,UACR;AAAA,MACI,UAAU;AAAA,MACV,UAAU,QAAQ,UAAU;AAAA,MAC5B,SAAS,OAAO;AAAA,MAChB,UAAM,+BAAkB,QAAQ,UAAU,KAAK,IAAK;AAAA,IACxD,IACA;AAAA,IACN,SAAS;AAAA,MACL,UAAU;AAAA,MACV,OAAI,kCAAqB,QAAQ,UAAU,MAAO,QAAQ,UAAU,KAAK,MAAO;AAAA,IAMpF;AAAA,IACA,QAAQ,OAAO;AAAA,IACf,aAAS,8BAAc,MAAM;AAAA,IAC7B,UAAU,OAAO;AAAA,IACjB,WAAO,wCAA0B,OAAO,KAAK;AAAA,IAC7C,qBAAqB,OAAO,0BAA0B;AAAA,IACtD,eAAe,OAAO;AAAA,IACtB,UAAM,+BAAkB,QAAQ,UAAU,KAAK,IAAK;AAAA,IACpD,SAAS,OAAO,OAAO,OAAO;AAAA,EAClC;AACJ;",
6
6
  "names": []
7
7
  }
@@ -4,3 +4,4 @@ import type { Rpc_Transaction_FieldsFragment } from '../generated/queries.js';
4
4
  export declare function mapGraphQLTransactionBlockToRpcTransactionBlock(transactionBlock: Rpc_Transaction_FieldsFragment, options?: IotaTransactionBlockResponseOptions | null, errors?: string[] | null): IotaTransactionBlockResponse;
5
5
  export declare function mapTransactionBlockToInput(data: typeof bcs.SenderSignedTransaction.$inferType): IotaTransactionBlock | null;
6
6
  export declare function mapProgramableTransaction(programableTransaction: typeof bcs.ProgrammableTransaction.$inferType): IotaTransactionBlockKind;
7
+ export declare function mapEffects(data: string): IotaTransactionBlockResponse['effects'];