@suigar/sdk 2.0.0-beta.14 → 2.0.0-beta.15

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 (160) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +22 -8
  3. package/dist/client.d.mts +258 -0
  4. package/dist/client.d.mts.map +1 -0
  5. package/dist/client.mjs +291 -0
  6. package/dist/client.mjs.map +1 -0
  7. package/dist/configs/package.mainnet.mjs +23 -0
  8. package/dist/configs/package.mainnet.mjs.map +1 -0
  9. package/dist/configs/package.mjs +19 -0
  10. package/dist/configs/package.mjs.map +1 -0
  11. package/dist/configs/package.testnet.mjs +23 -0
  12. package/dist/configs/package.testnet.mjs.map +1 -0
  13. package/dist/configs/registry.mainnet.mjs +6 -0
  14. package/dist/configs/registry.mainnet.mjs.map +1 -0
  15. package/dist/configs/registry.mjs +11 -0
  16. package/dist/configs/registry.mjs.map +1 -0
  17. package/dist/configs/registry.testnet.mjs +6 -0
  18. package/dist/configs/registry.testnet.mjs.map +1 -0
  19. package/dist/contracts/coinflip/coinflip.mjs +46 -0
  20. package/dist/contracts/coinflip/coinflip.mjs.map +1 -0
  21. package/dist/contracts/core/core.d.mts +55 -0
  22. package/dist/contracts/core/core.d.mts.map +1 -0
  23. package/dist/contracts/core/core.mjs +22 -0
  24. package/dist/contracts/core/core.mjs.map +1 -0
  25. package/dist/contracts/core/deps/0x0000000000000000000000000000000000000000000000000000000000000001/type_name.mjs +10 -0
  26. package/dist/contracts/core/deps/0x0000000000000000000000000000000000000000000000000000000000000001/type_name.mjs.map +1 -0
  27. package/dist/contracts/core/deps/0x0000000000000000000000000000000000000000000000000000000000000002/vec_map.mjs +26 -0
  28. package/dist/contracts/core/deps/0x0000000000000000000000000000000000000000000000000000000000000002/vec_map.mjs.map +1 -0
  29. package/dist/contracts/core/float.d.mts +14 -0
  30. package/dist/contracts/core/float.d.mts.map +1 -0
  31. package/dist/contracts/core/float.mjs +15 -0
  32. package/dist/contracts/core/float.mjs.map +1 -0
  33. package/dist/contracts/core/i64.mjs +10 -0
  34. package/dist/contracts/core/i64.mjs.map +1 -0
  35. package/dist/contracts/limbo/deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/float.mjs +15 -0
  36. package/dist/contracts/limbo/deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/float.mjs.map +1 -0
  37. package/dist/contracts/limbo/deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/i64.mjs +10 -0
  38. package/dist/contracts/limbo/deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/i64.mjs.map +1 -0
  39. package/dist/contracts/limbo/limbo.mjs +53 -0
  40. package/dist/contracts/limbo/limbo.mjs.map +1 -0
  41. package/dist/contracts/plinko/deps/0x0000000000000000000000000000000000000000000000000000000000000002/vec_map.mjs +26 -0
  42. package/dist/contracts/plinko/deps/0x0000000000000000000000000000000000000000000000000000000000000002/vec_map.mjs.map +1 -0
  43. package/dist/contracts/plinko/deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/float.mjs +15 -0
  44. package/dist/contracts/plinko/deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/float.mjs.map +1 -0
  45. package/dist/contracts/plinko/deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/i64.mjs +10 -0
  46. package/dist/contracts/plinko/deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/i64.mjs.map +1 -0
  47. package/dist/contracts/plinko/plinko.mjs +59 -0
  48. package/dist/contracts/plinko/plinko.mjs.map +1 -0
  49. package/dist/contracts/pvp-coinflip/deps/0x0000000000000000000000000000000000000000000000000000000000000001/type_name.mjs +10 -0
  50. package/dist/contracts/pvp-coinflip/deps/0x0000000000000000000000000000000000000000000000000000000000000001/type_name.mjs.map +1 -0
  51. package/dist/contracts/pvp-coinflip/deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.mjs +10 -0
  52. package/dist/contracts/pvp-coinflip/deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.mjs.map +1 -0
  53. package/dist/contracts/pvp-coinflip/deps/0x0000000000000000000000000000000000000000000000000000000000000002/vec_map.mjs +26 -0
  54. package/dist/contracts/pvp-coinflip/deps/0x0000000000000000000000000000000000000000000000000000000000000002/vec_map.mjs.map +1 -0
  55. package/dist/contracts/pvp-coinflip/pvp_coinflip.d.mts +34 -0
  56. package/dist/contracts/pvp-coinflip/pvp_coinflip.d.mts.map +1 -0
  57. package/dist/contracts/pvp-coinflip/pvp_coinflip.mjs +131 -0
  58. package/dist/contracts/pvp-coinflip/pvp_coinflip.mjs.map +1 -0
  59. package/dist/contracts/range/deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/float.mjs +15 -0
  60. package/dist/contracts/range/deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/float.mjs.map +1 -0
  61. package/dist/contracts/range/deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/i64.mjs +10 -0
  62. package/dist/contracts/range/deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/i64.mjs.map +1 -0
  63. package/dist/contracts/range/range.mjs +53 -0
  64. package/dist/contracts/range/range.mjs.map +1 -0
  65. package/dist/contracts/utils/index.d.mts +33 -0
  66. package/dist/contracts/utils/index.d.mts.map +1 -0
  67. package/dist/contracts/utils/index.mjs +119 -0
  68. package/dist/contracts/utils/index.mjs.map +1 -0
  69. package/dist/contracts/wheel/deps/0x0000000000000000000000000000000000000000000000000000000000000002/vec_map.mjs +26 -0
  70. package/dist/contracts/wheel/deps/0x0000000000000000000000000000000000000000000000000000000000000002/vec_map.mjs.map +1 -0
  71. package/dist/contracts/wheel/deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/float.mjs +15 -0
  72. package/dist/contracts/wheel/deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/float.mjs.map +1 -0
  73. package/dist/contracts/wheel/deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/i64.mjs +10 -0
  74. package/dist/contracts/wheel/deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/i64.mjs.map +1 -0
  75. package/dist/contracts/wheel/wheel.mjs +59 -0
  76. package/dist/contracts/wheel/wheel.mjs.map +1 -0
  77. package/dist/games.d.mts +3 -0
  78. package/dist/games.mjs +1 -0
  79. package/dist/helpers/config.mjs +51 -0
  80. package/dist/helpers/config.mjs.map +1 -0
  81. package/dist/helpers/game-settings.mjs +19 -0
  82. package/dist/helpers/game-settings.mjs.map +1 -0
  83. package/dist/helpers/metadata.mjs +42 -0
  84. package/dist/helpers/metadata.mjs.map +1 -0
  85. package/dist/index.d.mts +2 -0
  86. package/dist/index.mjs +2 -0
  87. package/dist/transactions/coinflip.mjs +27 -0
  88. package/dist/transactions/coinflip.mjs.map +1 -0
  89. package/dist/transactions/limbo.mjs +31 -0
  90. package/dist/transactions/limbo.mjs.map +1 -0
  91. package/dist/transactions/plinko.mjs +29 -0
  92. package/dist/transactions/plinko.mjs.map +1 -0
  93. package/dist/transactions/pvp-coinflip.mjs +70 -0
  94. package/dist/transactions/pvp-coinflip.mjs.map +1 -0
  95. package/dist/transactions/range.mjs +33 -0
  96. package/dist/transactions/range.mjs.map +1 -0
  97. package/dist/transactions/shared.mjs +49 -0
  98. package/dist/transactions/shared.mjs.map +1 -0
  99. package/dist/transactions/wheel.mjs +29 -0
  100. package/dist/transactions/wheel.mjs.map +1 -0
  101. package/dist/ttl-cache.mjs +60 -0
  102. package/dist/ttl-cache.mjs.map +1 -0
  103. package/dist/types/bet-metadata.type.d.mts +7 -0
  104. package/dist/types/bet-metadata.type.d.mts.map +1 -0
  105. package/dist/types/build-game-transaction-options.type.d.mts +9 -0
  106. package/dist/types/build-game-transaction-options.type.d.mts.map +1 -0
  107. package/dist/types/game-details.type.d.mts +73 -0
  108. package/dist/types/game-details.type.d.mts.map +1 -0
  109. package/dist/types/game-details.type.mjs +59 -0
  110. package/dist/types/game-details.type.mjs.map +1 -0
  111. package/dist/types/game-settings.type.d.mts +201 -0
  112. package/dist/types/game-settings.type.d.mts.map +1 -0
  113. package/dist/types/game-settings.type.mjs +37 -0
  114. package/dist/types/game-settings.type.mjs.map +1 -0
  115. package/dist/types/game.type.d.mts +15 -0
  116. package/dist/types/game.type.d.mts.map +1 -0
  117. package/dist/types/game.type.mjs +19 -0
  118. package/dist/types/game.type.mjs.map +1 -0
  119. package/dist/types/index.d.mts +7 -0
  120. package/dist/types/move-float.type.d.mts +7 -0
  121. package/dist/types/move-float.type.d.mts.map +1 -0
  122. package/dist/types/network.type.d.mts +1 -0
  123. package/dist/types/network.type.mjs +6 -0
  124. package/dist/types/network.type.mjs.map +1 -0
  125. package/dist/types/suigar-config.type.d.mts +33 -0
  126. package/dist/types/suigar-config.type.d.mts.map +1 -0
  127. package/dist/types/transaction-options.type.d.mts +63 -0
  128. package/dist/types/transaction-options.type.d.mts.map +1 -0
  129. package/dist/utils/constants.d.mts +8 -0
  130. package/dist/utils/constants.d.mts.map +1 -0
  131. package/dist/utils/constants.mjs +10 -0
  132. package/dist/utils/constants.mjs.map +1 -0
  133. package/dist/utils/numeric.d.mts +86 -0
  134. package/dist/utils/numeric.d.mts.map +1 -0
  135. package/dist/utils/numeric.mjs +148 -0
  136. package/dist/utils/numeric.mjs.map +1 -0
  137. package/dist/utils/parser.d.mts +54 -0
  138. package/dist/utils/parser.d.mts.map +1 -0
  139. package/dist/utils/parser.mjs +94 -0
  140. package/dist/utils/parser.mjs.map +1 -0
  141. package/dist/utils.d.mts +4 -0
  142. package/dist/utils.mjs +4 -0
  143. package/package.json +16 -17
  144. package/dist/chunk-7N55D2TV.js +0 -343
  145. package/dist/games-Da2uZvVJ.d.cts +0 -98
  146. package/dist/games-Da2uZvVJ.d.ts +0 -98
  147. package/dist/games.cjs +0 -2
  148. package/dist/games.d.cts +0 -2
  149. package/dist/games.d.ts +0 -2
  150. package/dist/games.js +0 -1
  151. package/dist/index-3P_LBbDM.d.cts +0 -25
  152. package/dist/index-3P_LBbDM.d.ts +0 -25
  153. package/dist/index.cjs +0 -1692
  154. package/dist/index.d.cts +0 -467
  155. package/dist/index.d.ts +0 -467
  156. package/dist/index.js +0 -1470
  157. package/dist/utils.cjs +0 -243
  158. package/dist/utils.d.cts +0 -180
  159. package/dist/utils.d.ts +0 -180
  160. package/dist/utils.js +0 -1
@@ -0,0 +1,59 @@
1
+ import { MoveStruct, normalizeMoveArguments } from "../utils/index.mjs";
2
+ import { VecMap } from "./deps/0x0000000000000000000000000000000000000000000000000000000000000002/vec_map.mjs";
3
+ import { Float } from "./deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/float.mjs";
4
+ import { bcs } from "@mysten/sui/bcs";
5
+ //#region src/contracts/plinko/plinko.ts
6
+ /**************************************************************
7
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
8
+ **************************************************************/
9
+ const $moduleName = "0xd3dd2200883af10811724f0bed97591ad155a02efd6332d471ff8b346030dfb7::plinko";
10
+ const PlinkoSettingsKey = new MoveStruct({
11
+ name: `${$moduleName}::PlinkoSettingsKey`,
12
+ fields: { dummy_field: bcs.bool() }
13
+ });
14
+ const PlinkoConfig = new MoveStruct({
15
+ name: `${$moduleName}::PlinkoConfig`,
16
+ fields: {
17
+ num_rows: bcs.u8(),
18
+ multipliers: bcs.vector(Float),
19
+ min_stake: bcs.u64(),
20
+ max_stake: bcs.u64(),
21
+ is_playable: bcs.bool()
22
+ }
23
+ });
24
+ const Parameters = new MoveStruct({
25
+ name: `${$moduleName}::Parameters<phantom T0>`,
26
+ fields: {
27
+ id: bcs.Address,
28
+ min_stake: bcs.u64(),
29
+ max_stake: bcs.u64(),
30
+ max_number_of_balls: bcs.u64(),
31
+ configs: VecMap(bcs.u8(), PlinkoConfig)
32
+ }
33
+ });
34
+ function play(options) {
35
+ const packageAddress = options.package ?? "0xd3dd2200883af10811724f0bed97591ad155a02efd6332d471ff8b346030dfb7";
36
+ const argumentsTypes = [
37
+ null,
38
+ "u64",
39
+ null,
40
+ "u64",
41
+ "u8",
42
+ "vector<0x1::string::String>",
43
+ "vector<vector<u8>>",
44
+ null,
45
+ "0x2::clock::Clock",
46
+ "0x2::random::Random"
47
+ ];
48
+ return (tx) => tx.moveCall({
49
+ package: packageAddress,
50
+ module: "plinko",
51
+ function: "play",
52
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes),
53
+ typeArguments: options.typeArguments
54
+ });
55
+ }
56
+ //#endregion
57
+ export { Parameters, PlinkoSettingsKey, play };
58
+
59
+ //# sourceMappingURL=plinko.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plinko.mjs","names":["float.Float","vec_map.VecMap"],"sources":["../../../src/contracts/plinko/plinko.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { bcs } from '@mysten/sui/bcs';\nimport { type Transaction } from '@mysten/sui/transactions';\nimport {\n\tMoveStruct,\n\tnormalizeMoveArguments,\n\ttype RawTransactionArgument,\n} from '../utils/index.js';\nimport * as vec_map from './deps/0x0000000000000000000000000000000000000000000000000000000000000002/vec_map.js';\nimport * as float from './deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/float.js';\n\nconst $moduleName =\n\t'0xd3dd2200883af10811724f0bed97591ad155a02efd6332d471ff8b346030dfb7::plinko';\nexport const PlinkoSettingsKey = new MoveStruct({\n\tname: `${$moduleName}::PlinkoSettingsKey`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const PlinkoConfig = new MoveStruct({\n\tname: `${$moduleName}::PlinkoConfig`,\n\tfields: {\n\t\tnum_rows: bcs.u8(),\n\t\tmultipliers: bcs.vector(float.Float),\n\t\tmin_stake: bcs.u64(),\n\t\tmax_stake: bcs.u64(),\n\t\tis_playable: bcs.bool(),\n\t},\n});\nexport const Parameters = new MoveStruct({\n\tname: `${$moduleName}::Parameters<phantom T0>`,\n\tfields: {\n\t\tid: bcs.Address,\n\t\tmin_stake: bcs.u64(),\n\t\tmax_stake: bcs.u64(),\n\t\tmax_number_of_balls: bcs.u64(),\n\t\tconfigs: vec_map.VecMap(bcs.u8(), PlinkoConfig),\n\t},\n});\nexport interface PlayOptions {\n\tpackage?: string;\n\targuments: [\n\t\tRawTransactionArgument<string>,\n\t\tRawTransactionArgument<number | bigint>,\n\t\tRawTransactionArgument<string>,\n\t\tRawTransactionArgument<number | bigint>,\n\t\tRawTransactionArgument<number>,\n\t\tRawTransactionArgument<Array<string>>,\n\t\tRawTransactionArgument<Array<Array<number>>>,\n\t\tRawTransactionArgument<string>,\n\t];\n\ttypeArguments: [string];\n}\nexport function play(options: PlayOptions) {\n\tconst packageAddress =\n\t\toptions.package ??\n\t\t'0xd3dd2200883af10811724f0bed97591ad155a02efd6332d471ff8b346030dfb7';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\t'u64',\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'vector<0x1::string::String>',\n\t\t'vector<vector<u8>>',\n\t\tnull,\n\t\t'0x2::clock::Clock',\n\t\t'0x2::random::Random',\n\t] satisfies (string | null)[];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'plinko',\n\t\t\tfunction: 'play',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\n"],"mappings":";;;;;;;;AAaA,MAAM,cACL;AACD,MAAa,oBAAoB,IAAI,WAAW;CAC/C,MAAM,GAAG,YAAY;CACrB,QAAQ,EACP,aAAa,IAAI,MAAM,EACvB;CACD,CAAC;AACF,MAAa,eAAe,IAAI,WAAW;CAC1C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,UAAU,IAAI,IAAI;EAClB,aAAa,IAAI,OAAOA,MAAY;EACpC,WAAW,IAAI,KAAK;EACpB,WAAW,IAAI,KAAK;EACpB,aAAa,IAAI,MAAM;EACvB;CACD,CAAC;AACF,MAAa,aAAa,IAAI,WAAW;CACxC,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,IAAI,IAAI;EACR,WAAW,IAAI,KAAK;EACpB,WAAW,IAAI,KAAK;EACpB,qBAAqB,IAAI,KAAK;EAC9B,SAASC,OAAe,IAAI,IAAI,EAAE,aAAa;EAC/C;CACD,CAAC;AAeF,SAAgB,KAAK,SAAsB;CAC1C,MAAM,iBACL,QAAQ,WACR;CACD,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,QAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,eAAe;EACpE,eAAe,QAAQ;EACvB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { MoveStruct } from "../../../utils/index.mjs";
2
+ import { bcs } from "@mysten/sui/bcs";
3
+ const TypeName = new MoveStruct({
4
+ name: `0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName`,
5
+ fields: { name: bcs.string() }
6
+ });
7
+ //#endregion
8
+ export { TypeName };
9
+
10
+ //# sourceMappingURL=type_name.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type_name.mjs","names":[],"sources":["../../../../../src/contracts/pvp-coinflip/deps/0x0000000000000000000000000000000000000000000000000000000000000001/type_name.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { bcs } from '@mysten/sui/bcs';\nimport { MoveStruct } from '../../../utils/index.js';\n\nconst $moduleName =\n\t'0x0000000000000000000000000000000000000000000000000000000000000001::type_name';\nexport const TypeName = new MoveStruct({\n\tname: `${$moduleName}::TypeName`,\n\tfields: {\n\t\tname: bcs.string(),\n\t},\n});\n"],"mappings":";;AAQA,MAAa,WAAW,IAAI,WAAW;CACtC,MAAM;CACN,QAAQ,EACP,MAAM,IAAI,QAAQ,EAClB;CACD,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { MoveStruct } from "../../../utils/index.mjs";
2
+ import { bcs } from "@mysten/sui/bcs";
3
+ const Balance = new MoveStruct({
4
+ name: `0x2::balance::Balance<phantom T0>`,
5
+ fields: { value: bcs.u64() }
6
+ });
7
+ //#endregion
8
+ export { Balance };
9
+
10
+ //# sourceMappingURL=balance.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balance.mjs","names":[],"sources":["../../../../../src/contracts/pvp-coinflip/deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { bcs } from '@mysten/sui/bcs';\nimport { MoveStruct } from '../../../utils/index.js';\n\nconst $moduleName = '0x2::balance';\nexport const Balance = new MoveStruct({\n\tname: `${$moduleName}::Balance<phantom T0>`,\n\tfields: {\n\t\tvalue: bcs.u64(),\n\t},\n});\n"],"mappings":";;AAOA,MAAa,UAAU,IAAI,WAAW;CACrC,MAAM;CACN,QAAQ,EACP,OAAO,IAAI,KAAK,EAChB;CACD,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { MoveStruct } from "../../../utils/index.mjs";
2
+ import { bcs } from "@mysten/sui/bcs";
3
+ //#region src/contracts/pvp-coinflip/deps/0x0000000000000000000000000000000000000000000000000000000000000002/vec_map.ts
4
+ /**************************************************************
5
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
6
+ **************************************************************/
7
+ const $moduleName = "0x2::vec_map";
8
+ function Entry(...typeParameters) {
9
+ return new MoveStruct({
10
+ name: `${$moduleName}::Entry<${typeParameters[0].name}, ${typeParameters[1].name}>`,
11
+ fields: {
12
+ key: typeParameters[0],
13
+ value: typeParameters[1]
14
+ }
15
+ });
16
+ }
17
+ function VecMap(...typeParameters) {
18
+ return new MoveStruct({
19
+ name: `${$moduleName}::VecMap<${typeParameters[0].name}, ${typeParameters[1].name}>`,
20
+ fields: { contents: bcs.vector(Entry(typeParameters[0], typeParameters[1])) }
21
+ });
22
+ }
23
+ //#endregion
24
+ export { VecMap };
25
+
26
+ //# sourceMappingURL=vec_map.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vec_map.mjs","names":[],"sources":["../../../../../src/contracts/pvp-coinflip/deps/0x0000000000000000000000000000000000000000000000000000000000000002/vec_map.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { bcs, type BcsType } from '@mysten/sui/bcs';\nimport { MoveStruct } from '../../../utils/index.js';\n\nconst $moduleName = '0x2::vec_map';\nexport function Entry<T0 extends BcsType<any>, T1 extends BcsType<any>>(\n\t...typeParameters: [T0, T1]\n) {\n\treturn new MoveStruct({\n\t\tname: `${$moduleName}::Entry<${typeParameters[0].name as T0['name']}, ${typeParameters[1].name as T1['name']}>`,\n\t\tfields: {\n\t\t\tkey: typeParameters[0],\n\t\t\tvalue: typeParameters[1],\n\t\t},\n\t});\n}\nexport function VecMap<T0 extends BcsType<any>, T1 extends BcsType<any>>(\n\t...typeParameters: [T0, T1]\n) {\n\treturn new MoveStruct({\n\t\tname: `${$moduleName}::VecMap<${typeParameters[0].name as T0['name']}, ${typeParameters[1].name as T1['name']}>`,\n\t\tfields: {\n\t\t\tcontents: bcs.vector(Entry(typeParameters[0], typeParameters[1])),\n\t\t},\n\t});\n}\n"],"mappings":";;;;;;AAMA,MAAM,cAAc;AACpB,SAAgB,MACf,GAAG,gBACF;CACD,OAAO,IAAI,WAAW;EACrB,MAAM,GAAG,YAAY,UAAU,eAAe,GAAG,KAAmB,IAAI,eAAe,GAAG,KAAmB;EAC7G,QAAQ;GACP,KAAK,eAAe;GACpB,OAAO,eAAe;GACtB;EACD,CAAC;;AAEH,SAAgB,OACf,GAAG,gBACF;CACD,OAAO,IAAI,WAAW;EACrB,MAAM,GAAG,YAAY,WAAW,eAAe,GAAG,KAAmB,IAAI,eAAe,GAAG,KAAmB;EAC9G,QAAQ,EACP,UAAU,IAAI,OAAO,MAAM,eAAe,IAAI,eAAe,GAAG,CAAC,EACjE;EACD,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { MoveStruct } from "../utils/index.mjs";
2
+ import { Transaction } from "@mysten/sui/transactions";
3
+ import * as _$_mysten_bcs0 from "@mysten/bcs";
4
+
5
+ //#region src/contracts/pvp-coinflip/pvp_coinflip.d.ts
6
+ declare const Game: MoveStruct<{
7
+ id: _$_mysten_bcs0.BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
8
+ creator: _$_mysten_bcs0.BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
9
+ creator_is_tails: _$_mysten_bcs0.BcsType<boolean, boolean, "bool">;
10
+ is_private: _$_mysten_bcs0.BcsType<boolean, boolean, "bool">;
11
+ creator_metadata: MoveStruct<{
12
+ contents: _$_mysten_bcs0.BcsType<{
13
+ key: string;
14
+ value: number[];
15
+ }[], Iterable<{
16
+ key: string;
17
+ value: Iterable<number> & {
18
+ length: number;
19
+ };
20
+ }> & {
21
+ length: number;
22
+ }, string>;
23
+ }, "0x2::vec_map::VecMap<string, vector<u8>>">;
24
+ joiner: _$_mysten_bcs0.BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
25
+ winner: _$_mysten_bcs0.BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
26
+ stake_per_player: _$_mysten_bcs0.BcsType<string, string | number | bigint, "u64">;
27
+ house_edge_bps: _$_mysten_bcs0.BcsType<string, string | number | bigint, "u64">;
28
+ stake_pot: MoveStruct<{
29
+ value: _$_mysten_bcs0.BcsType<string, string | number | bigint, "u64">;
30
+ }, "0x2::balance::Balance<phantom T0>">;
31
+ }, "0xb43cf6583c0c15315c7e66f173af4be79ac40c38aad1fd92ec08638ab2026202::pvp_coinflip::Game<phantom T0>">;
32
+ //#endregion
33
+ export { Game };
34
+ //# sourceMappingURL=pvp_coinflip.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pvp_coinflip.d.mts","names":[],"sources":["../../../src/contracts/pvp-coinflip/pvp_coinflip.ts"],"mappings":";;;;;cAsBa,IAAA,EAAI,UAAA"}
@@ -0,0 +1,131 @@
1
+ import { MoveStruct, normalizeMoveArguments } from "../utils/index.mjs";
2
+ import { TypeName } from "./deps/0x0000000000000000000000000000000000000000000000000000000000000001/type_name.mjs";
3
+ import { Balance } from "./deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.mjs";
4
+ import { VecMap } from "./deps/0x0000000000000000000000000000000000000000000000000000000000000002/vec_map.mjs";
5
+ import { bcs } from "@mysten/sui/bcs";
6
+ //#region src/contracts/pvp-coinflip/pvp_coinflip.ts
7
+ /**************************************************************
8
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
9
+ **************************************************************/
10
+ const $moduleName = "0xb43cf6583c0c15315c7e66f173af4be79ac40c38aad1fd92ec08638ab2026202::pvp_coinflip";
11
+ const PvpCoinflipSettingsKey = new MoveStruct({
12
+ name: `${$moduleName}::PvpCoinflipSettingsKey`,
13
+ fields: { dummy_field: bcs.bool() }
14
+ });
15
+ const Game = new MoveStruct({
16
+ name: `${$moduleName}::Game<phantom T0>`,
17
+ fields: {
18
+ id: bcs.Address,
19
+ creator: bcs.Address,
20
+ creator_is_tails: bcs.bool(),
21
+ is_private: bcs.bool(),
22
+ creator_metadata: VecMap(bcs.string(), bcs.vector(bcs.u8())),
23
+ joiner: bcs.Address,
24
+ winner: bcs.Address,
25
+ stake_per_player: bcs.u64(),
26
+ house_edge_bps: bcs.u64(),
27
+ stake_pot: Balance
28
+ }
29
+ });
30
+ const GameCreatedEvent = new MoveStruct({
31
+ name: `${$moduleName}::GameCreatedEvent<phantom T0>`,
32
+ fields: {
33
+ game_id: bcs.Address,
34
+ creator: bcs.Address,
35
+ creator_is_tails: bcs.bool(),
36
+ is_private: bcs.bool(),
37
+ joiner_is_tails: bcs.bool(),
38
+ stake_per_player: bcs.u64(),
39
+ house_edge_bps: bcs.u64(),
40
+ coin_type: TypeName
41
+ }
42
+ });
43
+ const GameResolvedEvent = new MoveStruct({
44
+ name: `${$moduleName}::GameResolvedEvent<phantom T0>`,
45
+ fields: {
46
+ game_id: bcs.Address,
47
+ creator: bcs.Address,
48
+ joiner: bcs.Address,
49
+ winner: bcs.Address,
50
+ creator_is_tails: bcs.bool(),
51
+ is_private: bcs.bool(),
52
+ joiner_is_tails: bcs.bool(),
53
+ stake_per_player: bcs.u64(),
54
+ total_pot: bcs.u64(),
55
+ house_edge_amount: bcs.u64(),
56
+ payout_amount: bcs.u64(),
57
+ coin_type: TypeName
58
+ }
59
+ });
60
+ const GameCancelledEvent = new MoveStruct({
61
+ name: `${$moduleName}::GameCancelledEvent<phantom T0>`,
62
+ fields: {
63
+ game_id: bcs.Address,
64
+ creator: bcs.Address,
65
+ creator_is_tails: bcs.bool(),
66
+ is_private: bcs.bool(),
67
+ stake_per_player: bcs.u64(),
68
+ coin_type: TypeName
69
+ }
70
+ });
71
+ const Parameters = new MoveStruct({
72
+ name: `${$moduleName}::Parameters<phantom T0>`,
73
+ fields: {
74
+ id: bcs.Address,
75
+ house_edge_bps: bcs.u64(),
76
+ min_stake: bcs.u64()
77
+ }
78
+ });
79
+ function createGame(options) {
80
+ const packageAddress = options.package ?? "0xb43cf6583c0c15315c7e66f173af4be79ac40c38aad1fd92ec08638ab2026202";
81
+ const argumentsTypes = [
82
+ null,
83
+ null,
84
+ "bool",
85
+ "bool",
86
+ "vector<0x1::string::String>",
87
+ "vector<vector<u8>>"
88
+ ];
89
+ return (tx) => tx.moveCall({
90
+ package: packageAddress,
91
+ module: "pvp_coinflip",
92
+ function: "create_game",
93
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes),
94
+ typeArguments: options.typeArguments
95
+ });
96
+ }
97
+ function joinGame(options) {
98
+ const packageAddress = options.package ?? "0xb43cf6583c0c15315c7e66f173af4be79ac40c38aad1fd92ec08638ab2026202";
99
+ const argumentsTypes = [
100
+ "0x2::object::ID",
101
+ null,
102
+ null,
103
+ "vector<0x1::string::String>",
104
+ "vector<vector<u8>>",
105
+ null,
106
+ "0x2::clock::Clock",
107
+ "0x2::random::Random"
108
+ ];
109
+ return (tx) => tx.moveCall({
110
+ package: packageAddress,
111
+ module: "pvp_coinflip",
112
+ function: "join_game",
113
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes),
114
+ typeArguments: options.typeArguments
115
+ });
116
+ }
117
+ function cancelGame(options) {
118
+ const packageAddress = options.package ?? "0xb43cf6583c0c15315c7e66f173af4be79ac40c38aad1fd92ec08638ab2026202";
119
+ const argumentsTypes = ["0x2::object::ID", null];
120
+ return (tx) => tx.moveCall({
121
+ package: packageAddress,
122
+ module: "pvp_coinflip",
123
+ function: "cancel_game",
124
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes),
125
+ typeArguments: options.typeArguments
126
+ });
127
+ }
128
+ //#endregion
129
+ export { Game, GameCancelledEvent, GameCreatedEvent, GameResolvedEvent, Parameters, PvpCoinflipSettingsKey, cancelGame, createGame, joinGame };
130
+
131
+ //# sourceMappingURL=pvp_coinflip.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pvp_coinflip.mjs","names":["vec_map.VecMap","balance.Balance","type_name.TypeName"],"sources":["../../../src/contracts/pvp-coinflip/pvp_coinflip.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { bcs } from '@mysten/sui/bcs';\nimport { type Transaction } from '@mysten/sui/transactions';\nimport {\n\tMoveStruct,\n\tnormalizeMoveArguments,\n\ttype RawTransactionArgument,\n} from '../utils/index.js';\nimport * as type_name from './deps/0x0000000000000000000000000000000000000000000000000000000000000001/type_name.js';\nimport * as balance from './deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.js';\nimport * as vec_map from './deps/0x0000000000000000000000000000000000000000000000000000000000000002/vec_map.js';\n\nconst $moduleName =\n\t'0xb43cf6583c0c15315c7e66f173af4be79ac40c38aad1fd92ec08638ab2026202::pvp_coinflip';\nexport const PvpCoinflipSettingsKey = new MoveStruct({\n\tname: `${$moduleName}::PvpCoinflipSettingsKey`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const Game = new MoveStruct({\n\tname: `${$moduleName}::Game<phantom T0>`,\n\tfields: {\n\t\tid: bcs.Address,\n\t\tcreator: bcs.Address,\n\t\tcreator_is_tails: bcs.bool(),\n\t\tis_private: bcs.bool(),\n\t\tcreator_metadata: vec_map.VecMap(bcs.string(), bcs.vector(bcs.u8())),\n\t\tjoiner: bcs.Address,\n\t\twinner: bcs.Address,\n\t\tstake_per_player: bcs.u64(),\n\t\thouse_edge_bps: bcs.u64(),\n\t\tstake_pot: balance.Balance,\n\t},\n});\nexport const GameCreatedEvent = new MoveStruct({\n\tname: `${$moduleName}::GameCreatedEvent<phantom T0>`,\n\tfields: {\n\t\tgame_id: bcs.Address,\n\t\tcreator: bcs.Address,\n\t\tcreator_is_tails: bcs.bool(),\n\t\tis_private: bcs.bool(),\n\t\tjoiner_is_tails: bcs.bool(),\n\t\tstake_per_player: bcs.u64(),\n\t\thouse_edge_bps: bcs.u64(),\n\t\tcoin_type: type_name.TypeName,\n\t},\n});\nexport const GameResolvedEvent = new MoveStruct({\n\tname: `${$moduleName}::GameResolvedEvent<phantom T0>`,\n\tfields: {\n\t\tgame_id: bcs.Address,\n\t\tcreator: bcs.Address,\n\t\tjoiner: bcs.Address,\n\t\twinner: bcs.Address,\n\t\tcreator_is_tails: bcs.bool(),\n\t\tis_private: bcs.bool(),\n\t\tjoiner_is_tails: bcs.bool(),\n\t\tstake_per_player: bcs.u64(),\n\t\ttotal_pot: bcs.u64(),\n\t\thouse_edge_amount: bcs.u64(),\n\t\tpayout_amount: bcs.u64(),\n\t\tcoin_type: type_name.TypeName,\n\t},\n});\nexport const GameCancelledEvent = new MoveStruct({\n\tname: `${$moduleName}::GameCancelledEvent<phantom T0>`,\n\tfields: {\n\t\tgame_id: bcs.Address,\n\t\tcreator: bcs.Address,\n\t\tcreator_is_tails: bcs.bool(),\n\t\tis_private: bcs.bool(),\n\t\tstake_per_player: bcs.u64(),\n\t\tcoin_type: type_name.TypeName,\n\t},\n});\nexport const Parameters = new MoveStruct({\n\tname: `${$moduleName}::Parameters<phantom T0>`,\n\tfields: {\n\t\tid: bcs.Address,\n\t\thouse_edge_bps: bcs.u64(),\n\t\tmin_stake: bcs.u64(),\n\t},\n});\nexport interface CreateGameOptions {\n\tpackage?: string;\n\targuments: [\n\t\tRawTransactionArgument<string>,\n\t\tRawTransactionArgument<string>,\n\t\tRawTransactionArgument<boolean>,\n\t\tRawTransactionArgument<boolean>,\n\t\tRawTransactionArgument<Array<string>>,\n\t\tRawTransactionArgument<Array<Array<number>>>,\n\t];\n\ttypeArguments: [string];\n}\nexport function createGame(options: CreateGameOptions) {\n\tconst packageAddress =\n\t\toptions.package ??\n\t\t'0xb43cf6583c0c15315c7e66f173af4be79ac40c38aad1fd92ec08638ab2026202';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\t'bool',\n\t\t'bool',\n\t\t'vector<0x1::string::String>',\n\t\t'vector<vector<u8>>',\n\t] satisfies (string | null)[];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pvp_coinflip',\n\t\t\tfunction: 'create_game',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface JoinGameOptions {\n\tpackage?: string;\n\targuments: [\n\t\tRawTransactionArgument<string>,\n\t\tRawTransactionArgument<string>,\n\t\tRawTransactionArgument<string>,\n\t\tRawTransactionArgument<Array<string>>,\n\t\tRawTransactionArgument<Array<Array<number>>>,\n\t\tRawTransactionArgument<string>,\n\t];\n\ttypeArguments: [string];\n}\nexport function joinGame(options: JoinGameOptions) {\n\tconst packageAddress =\n\t\toptions.package ??\n\t\t'0xb43cf6583c0c15315c7e66f173af4be79ac40c38aad1fd92ec08638ab2026202';\n\tconst argumentsTypes = [\n\t\t'0x2::object::ID',\n\t\tnull,\n\t\tnull,\n\t\t'vector<0x1::string::String>',\n\t\t'vector<vector<u8>>',\n\t\tnull,\n\t\t'0x2::clock::Clock',\n\t\t'0x2::random::Random',\n\t] satisfies (string | null)[];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pvp_coinflip',\n\t\t\tfunction: 'join_game',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface CancelGameOptions {\n\tpackage?: string;\n\targuments: [RawTransactionArgument<string>, RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\nexport function cancelGame(options: CancelGameOptions) {\n\tconst packageAddress =\n\t\toptions.package ??\n\t\t'0xb43cf6583c0c15315c7e66f173af4be79ac40c38aad1fd92ec08638ab2026202';\n\tconst argumentsTypes = ['0x2::object::ID', null] satisfies (string | null)[];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pvp_coinflip',\n\t\t\tfunction: 'cancel_game',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\n"],"mappings":";;;;;;;;;AAcA,MAAM,cACL;AACD,MAAa,yBAAyB,IAAI,WAAW;CACpD,MAAM,GAAG,YAAY;CACrB,QAAQ,EACP,aAAa,IAAI,MAAM,EACvB;CACD,CAAC;AACF,MAAa,OAAO,IAAI,WAAW;CAClC,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,IAAI,IAAI;EACR,SAAS,IAAI;EACb,kBAAkB,IAAI,MAAM;EAC5B,YAAY,IAAI,MAAM;EACtB,kBAAkBA,OAAe,IAAI,QAAQ,EAAE,IAAI,OAAO,IAAI,IAAI,CAAC,CAAC;EACpE,QAAQ,IAAI;EACZ,QAAQ,IAAI;EACZ,kBAAkB,IAAI,KAAK;EAC3B,gBAAgB,IAAI,KAAK;EACzB,WAAWC;EACX;CACD,CAAC;AACF,MAAa,mBAAmB,IAAI,WAAW;CAC9C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,SAAS,IAAI;EACb,SAAS,IAAI;EACb,kBAAkB,IAAI,MAAM;EAC5B,YAAY,IAAI,MAAM;EACtB,iBAAiB,IAAI,MAAM;EAC3B,kBAAkB,IAAI,KAAK;EAC3B,gBAAgB,IAAI,KAAK;EACzB,WAAWC;EACX;CACD,CAAC;AACF,MAAa,oBAAoB,IAAI,WAAW;CAC/C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,SAAS,IAAI;EACb,SAAS,IAAI;EACb,QAAQ,IAAI;EACZ,QAAQ,IAAI;EACZ,kBAAkB,IAAI,MAAM;EAC5B,YAAY,IAAI,MAAM;EACtB,iBAAiB,IAAI,MAAM;EAC3B,kBAAkB,IAAI,KAAK;EAC3B,WAAW,IAAI,KAAK;EACpB,mBAAmB,IAAI,KAAK;EAC5B,eAAe,IAAI,KAAK;EACxB,WAAWA;EACX;CACD,CAAC;AACF,MAAa,qBAAqB,IAAI,WAAW;CAChD,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,SAAS,IAAI;EACb,SAAS,IAAI;EACb,kBAAkB,IAAI,MAAM;EAC5B,YAAY,IAAI,MAAM;EACtB,kBAAkB,IAAI,KAAK;EAC3B,WAAWA;EACX;CACD,CAAC;AACF,MAAa,aAAa,IAAI,WAAW;CACxC,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,IAAI,IAAI;EACR,gBAAgB,IAAI,KAAK;EACzB,WAAW,IAAI,KAAK;EACpB;CACD,CAAC;AAaF,SAAgB,WAAW,SAA4B;CACtD,MAAM,iBACL,QAAQ,WACR;CACD,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;CACD,QAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,eAAe;EACpE,eAAe,QAAQ;EACvB,CAAC;;AAcJ,SAAgB,SAAS,SAA0B;CAClD,MAAM,iBACL,QAAQ,WACR;CACD,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,QAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,eAAe;EACpE,eAAe,QAAQ;EACvB,CAAC;;AAOJ,SAAgB,WAAW,SAA4B;CACtD,MAAM,iBACL,QAAQ,WACR;CACD,MAAM,iBAAiB,CAAC,mBAAmB,KAAK;CAChD,QAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,eAAe;EACpE,eAAe,QAAQ;EACvB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { MoveStruct } from "../../../utils/index.mjs";
2
+ import { I64 } from "./i64.mjs";
3
+ import { bcs } from "@mysten/sui/bcs";
4
+ const Float = new MoveStruct({
5
+ name: `0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc::float::Float`,
6
+ fields: {
7
+ is_negative: bcs.bool(),
8
+ exp: I64,
9
+ mant: bcs.u64()
10
+ }
11
+ });
12
+ //#endregion
13
+ export { Float };
14
+
15
+ //# sourceMappingURL=float.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"float.mjs","names":["i64.I64"],"sources":["../../../../../src/contracts/range/deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/float.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { bcs } from '@mysten/sui/bcs';\nimport { MoveStruct } from '../../../utils/index.js';\nimport * as i64 from './i64.js';\n\nconst $moduleName =\n\t'0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc::float';\nexport const Float = new MoveStruct({\n\tname: `${$moduleName}::Float`,\n\tfields: {\n\t\tis_negative: bcs.bool(),\n\t\texp: i64.I64,\n\t\tmant: bcs.u64(),\n\t},\n});\n"],"mappings":";;;AASA,MAAa,QAAQ,IAAI,WAAW;CACnC,MAAM;CACN,QAAQ;EACP,aAAa,IAAI,MAAM;EACvB,KAAKA;EACL,MAAM,IAAI,KAAK;EACf;CACD,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { MoveStruct } from "../../../utils/index.mjs";
2
+ import { bcs } from "@mysten/sui/bcs";
3
+ const I64 = new MoveStruct({
4
+ name: `0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc::i64::I64`,
5
+ fields: { bits: bcs.u64() }
6
+ });
7
+ //#endregion
8
+ export { I64 };
9
+
10
+ //# sourceMappingURL=i64.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i64.mjs","names":[],"sources":["../../../../../src/contracts/range/deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/i64.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { bcs } from '@mysten/sui/bcs';\nimport { MoveStruct } from '../../../utils/index.js';\n\nconst $moduleName =\n\t'0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc::i64';\nexport const I64 = new MoveStruct({\n\tname: `${$moduleName}::I64`,\n\tfields: {\n\t\tbits: bcs.u64(),\n\t},\n});\n"],"mappings":";;AAQA,MAAa,MAAM,IAAI,WAAW;CACjC,MAAM;CACN,QAAQ,EACP,MAAM,IAAI,KAAK,EACf;CACD,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { MoveStruct, normalizeMoveArguments } from "../utils/index.mjs";
2
+ import { Float } from "./deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/float.mjs";
3
+ import { bcs } from "@mysten/sui/bcs";
4
+ //#region src/contracts/range/range.ts
5
+ /**************************************************************
6
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
7
+ **************************************************************/
8
+ const $moduleName = "0x096a4cf18b3661e76b2c62b90785418345d52f45b272448794f123a4cb6b6416::range";
9
+ const RangeSettingsKey = new MoveStruct({
10
+ name: `${$moduleName}::RangeSettingsKey`,
11
+ fields: { dummy_field: bcs.bool() }
12
+ });
13
+ const Parameters = new MoveStruct({
14
+ name: `${$moduleName}::Parameters<phantom T0>`,
15
+ fields: {
16
+ id: bcs.Address,
17
+ min_stake: bcs.u64(),
18
+ max_stake: bcs.u64(),
19
+ min_zone_size: bcs.u64(),
20
+ max_zone_size: bcs.u64(),
21
+ max_number_of_games: bcs.u64(),
22
+ min_rtp: Float,
23
+ max_rtp: Float
24
+ }
25
+ });
26
+ function play(options) {
27
+ const packageAddress = options.package ?? "0x096a4cf18b3661e76b2c62b90785418345d52f45b272448794f123a4cb6b6416";
28
+ const argumentsTypes = [
29
+ null,
30
+ "u64",
31
+ null,
32
+ "u64",
33
+ "u64",
34
+ "u64",
35
+ "bool",
36
+ "vector<0x1::string::String>",
37
+ "vector<vector<u8>>",
38
+ null,
39
+ "0x2::clock::Clock",
40
+ "0x2::random::Random"
41
+ ];
42
+ return (tx) => tx.moveCall({
43
+ package: packageAddress,
44
+ module: "range",
45
+ function: "play",
46
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes),
47
+ typeArguments: options.typeArguments
48
+ });
49
+ }
50
+ //#endregion
51
+ export { Parameters, RangeSettingsKey, play };
52
+
53
+ //# sourceMappingURL=range.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range.mjs","names":["float.Float"],"sources":["../../../src/contracts/range/range.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { bcs } from '@mysten/sui/bcs';\nimport { type Transaction } from '@mysten/sui/transactions';\nimport {\n\tMoveStruct,\n\tnormalizeMoveArguments,\n\ttype RawTransactionArgument,\n} from '../utils/index.js';\nimport * as float from './deps/0xf391858d2a08473e8d4defcc8df89976bd7b123d3865c6b9341b237f7853dbbc/float.js';\n\nconst $moduleName =\n\t'0x096a4cf18b3661e76b2c62b90785418345d52f45b272448794f123a4cb6b6416::range';\nexport const RangeSettingsKey = new MoveStruct({\n\tname: `${$moduleName}::RangeSettingsKey`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const Parameters = new MoveStruct({\n\tname: `${$moduleName}::Parameters<phantom T0>`,\n\tfields: {\n\t\tid: bcs.Address,\n\t\tmin_stake: bcs.u64(),\n\t\tmax_stake: bcs.u64(),\n\t\tmin_zone_size: bcs.u64(),\n\t\tmax_zone_size: bcs.u64(),\n\t\tmax_number_of_games: bcs.u64(),\n\t\tmin_rtp: float.Float,\n\t\tmax_rtp: float.Float,\n\t},\n});\nexport interface PlayOptions {\n\tpackage?: string;\n\targuments: [\n\t\tRawTransactionArgument<string>,\n\t\tRawTransactionArgument<number | bigint>,\n\t\tRawTransactionArgument<string>,\n\t\tRawTransactionArgument<number | bigint>,\n\t\tRawTransactionArgument<number | bigint>,\n\t\tRawTransactionArgument<number | bigint>,\n\t\tRawTransactionArgument<boolean>,\n\t\tRawTransactionArgument<Array<string>>,\n\t\tRawTransactionArgument<Array<Array<number>>>,\n\t\tRawTransactionArgument<string>,\n\t];\n\ttypeArguments: [string];\n}\nexport function play(options: PlayOptions) {\n\tconst packageAddress =\n\t\toptions.package ??\n\t\t'0x096a4cf18b3661e76b2c62b90785418345d52f45b272448794f123a4cb6b6416';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\t'u64',\n\t\tnull,\n\t\t'u64',\n\t\t'u64',\n\t\t'u64',\n\t\t'bool',\n\t\t'vector<0x1::string::String>',\n\t\t'vector<vector<u8>>',\n\t\tnull,\n\t\t'0x2::clock::Clock',\n\t\t'0x2::random::Random',\n\t] satisfies (string | null)[];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'range',\n\t\t\tfunction: 'play',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\n"],"mappings":";;;;;;;AAYA,MAAM,cACL;AACD,MAAa,mBAAmB,IAAI,WAAW;CAC9C,MAAM,GAAG,YAAY;CACrB,QAAQ,EACP,aAAa,IAAI,MAAM,EACvB;CACD,CAAC;AACF,MAAa,aAAa,IAAI,WAAW;CACxC,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,IAAI,IAAI;EACR,WAAW,IAAI,KAAK;EACpB,WAAW,IAAI,KAAK;EACpB,eAAe,IAAI,KAAK;EACxB,eAAe,IAAI,KAAK;EACxB,qBAAqB,IAAI,KAAK;EAC9B,SAASA;EACT,SAASA;EACT;CACD,CAAC;AAiBF,SAAgB,KAAK,SAAsB;CAC1C,MAAM,iBACL,QAAQ,WACR;CACD,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,QAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,eAAe;EACpE,eAAe,QAAQ;EACvB,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { BcsStruct, BcsType } from "@mysten/sui/bcs";
2
+ import { ClientWithCoreApi, SuiClientTypes } from "@mysten/sui/client";
3
+
4
+ //#region src/contracts/utils/index.d.ts
5
+ type GetOptions<Include extends Omit<SuiClientTypes.ObjectInclude, 'content'> = {}> = SuiClientTypes.GetObjectOptions<Include> & {
6
+ client: ClientWithCoreApi;
7
+ };
8
+ type GetManyOptions<Include extends Omit<SuiClientTypes.ObjectInclude, 'content'> = {}> = SuiClientTypes.GetObjectsOptions<Include> & {
9
+ client: ClientWithCoreApi;
10
+ };
11
+ declare class MoveStruct<T extends Record<string, BcsType<any>>, const Name extends string = string> extends BcsStruct<T, Name> {
12
+ get<Include extends Omit<SuiClientTypes.ObjectInclude, 'content' | 'json'> = {}>({
13
+ objectId,
14
+ ...options
15
+ }: GetOptions<Include>): Promise<SuiClientTypes.Object<Include & {
16
+ content: true;
17
+ json: true;
18
+ }> & {
19
+ json: BcsStruct<T>['$inferType'];
20
+ }>;
21
+ getMany<Include extends Omit<SuiClientTypes.ObjectInclude, 'content' | 'json'> = {}>({
22
+ client,
23
+ ...options
24
+ }: GetManyOptions<Include>): Promise<Array<SuiClientTypes.Object<Include & {
25
+ content: true;
26
+ json: true;
27
+ }> & {
28
+ json: BcsStruct<T>['$inferType'];
29
+ }>>;
30
+ }
31
+ //#endregion
32
+ export { MoveStruct };
33
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/contracts/utils/index.ts"],"mappings":";;;;KAqBY,UAAA,iBACK,IAAA,CAAK,cAAA,CAAe,aAAA,qBACjC,cAAA,CAAe,gBAAA,CAAiB,OAAA;EAAa,MAAA,EAAQ,iBAAA;AAAA;AAAA,KAE7C,cAAA,iBACK,IAAA,CAAK,cAAA,CAAe,aAAA,qBACjC,cAAA,CAAe,iBAAA,CAAkB,OAAA;EAAa,MAAA,EAAQ,iBAAA;AAAA;AAAA,cA8I7C,UAAA,WACF,MAAA,SAAe,OAAA,oDAEhB,SAAA,CAAU,CAAA,EAAG,IAAA;EAChB,GAAA,iBACW,IAAA,CAAK,cAAA,CAAe,aAAA,2BAAA,CAAA;IAEpC,QAAA;IAAA,GACG;EAAA,GACD,UAAA,CAAW,OAAA,IAAW,OAAA,CACxB,cAAA,CAAe,MAAA,CAAO,OAAA;IAAY,OAAA;IAAe,IAAA;EAAA;IAChD,IAAA,EAAM,SAAA,CAAU,CAAA;EAAA;EAeZ,OAAA,iBACW,IAAA,CAAK,cAAA,CAAe,aAAA,2BAAA,CAAA;IAEpC,MAAA;IAAA,GACG;EAAA,GACD,cAAA,CAAe,OAAA,IAAW,OAAA,CAC5B,KAAA,CACC,cAAA,CAAe,MAAA,CAAO,OAAA;IAAY,OAAA;IAAe,IAAA;EAAA;IAChD,IAAA,EAAM,SAAA,CAAU,CAAA;EAAA;AAAA"}
@@ -0,0 +1,119 @@
1
+ import { normalizeSuiAddress } from "@mysten/sui/utils";
2
+ import { BcsStruct, TypeTagSerializer, bcs } from "@mysten/sui/bcs";
3
+ import { isArgument } from "@mysten/sui/transactions";
4
+ //#region src/contracts/utils/index.ts
5
+ const MOVE_STDLIB_ADDRESS = normalizeSuiAddress("0x1");
6
+ const SUI_FRAMEWORK_ADDRESS = normalizeSuiAddress("0x2");
7
+ function getPureBcsSchema(typeTag) {
8
+ const parsedTag = typeof typeTag === "string" ? TypeTagSerializer.parseFromStr(typeTag) : typeTag;
9
+ if ("u8" in parsedTag) return bcs.U8;
10
+ else if ("u16" in parsedTag) return bcs.U16;
11
+ else if ("u32" in parsedTag) return bcs.U32;
12
+ else if ("u64" in parsedTag) return bcs.U64;
13
+ else if ("u128" in parsedTag) return bcs.U128;
14
+ else if ("u256" in parsedTag) return bcs.U256;
15
+ else if ("address" in parsedTag) return bcs.Address;
16
+ else if ("bool" in parsedTag) return bcs.Bool;
17
+ else if ("vector" in parsedTag) {
18
+ const type = getPureBcsSchema(parsedTag.vector);
19
+ return type ? bcs.vector(type) : null;
20
+ } else if ("struct" in parsedTag) {
21
+ const structTag = parsedTag.struct;
22
+ const pkg = normalizeSuiAddress(structTag.address);
23
+ if (pkg === MOVE_STDLIB_ADDRESS) {
24
+ if ((structTag.module === "ascii" || structTag.module === "string") && structTag.name === "String") return bcs.String;
25
+ if (structTag.module === "option" && structTag.name === "Option") {
26
+ const inner = structTag.typeParams[0];
27
+ const type = inner ? getPureBcsSchema(inner) : null;
28
+ return type ? bcs.option(type) : null;
29
+ }
30
+ }
31
+ if (pkg === SUI_FRAMEWORK_ADDRESS && structTag.module === "object" && (structTag.name === "ID" || structTag.name === "UID")) return bcs.Address;
32
+ }
33
+ return null;
34
+ }
35
+ function normalizeMoveArguments(args, argTypes, parameterNames) {
36
+ const argLen = Array.isArray(args) ? args.length : Object.keys(args).length;
37
+ if (parameterNames && argLen !== parameterNames.length) throw new Error(`Invalid number of arguments, expected ${parameterNames.length}, got ${argLen}`);
38
+ const normalizedArgs = [];
39
+ let index = 0;
40
+ for (const argType of argTypes) {
41
+ if (argType === "0x2::clock::Clock") {
42
+ normalizedArgs.push((tx) => tx.object.clock());
43
+ continue;
44
+ }
45
+ if (argType === "0x2::random::Random") {
46
+ normalizedArgs.push((tx) => tx.object.random());
47
+ continue;
48
+ }
49
+ if (argType === "0x2::deny_list::DenyList") {
50
+ normalizedArgs.push((tx) => tx.object.denyList());
51
+ continue;
52
+ }
53
+ if (argType === "0x3::sui_system::SuiSystemState") {
54
+ normalizedArgs.push((tx) => tx.object.system());
55
+ continue;
56
+ }
57
+ let arg;
58
+ if (Array.isArray(args)) {
59
+ if (index >= args.length) throw new Error(`Invalid number of arguments, expected at least ${index + 1}, got ${args.length}`);
60
+ arg = args[index];
61
+ } else {
62
+ if (!parameterNames) throw new Error(`Expected arguments to be passed as an array`);
63
+ const name = parameterNames[index];
64
+ arg = args[name];
65
+ if (arg === void 0) throw new Error(`Parameter ${name} is required`);
66
+ }
67
+ index += 1;
68
+ if (typeof arg === "function" || isArgument(arg)) {
69
+ normalizedArgs.push(arg);
70
+ continue;
71
+ }
72
+ const bcsType = argType === null ? null : getPureBcsSchema(argType);
73
+ if (bcsType) {
74
+ const bytes = bcsType.serialize(arg);
75
+ normalizedArgs.push((tx) => tx.pure(bytes));
76
+ continue;
77
+ }
78
+ if (typeof arg === "string") {
79
+ normalizedArgs.push((tx) => tx.object(arg));
80
+ continue;
81
+ }
82
+ throw new Error(`Invalid argument ${stringify(arg)} for type ${argType}`);
83
+ }
84
+ return normalizedArgs;
85
+ }
86
+ var MoveStruct = class extends BcsStruct {
87
+ async get({ objectId, ...options }) {
88
+ const [res] = await this.getMany({
89
+ ...options,
90
+ objectIds: [objectId]
91
+ });
92
+ if (!res) throw new Error(`No object found for id ${objectId}`);
93
+ return res;
94
+ }
95
+ async getMany({ client, ...options }) {
96
+ return (await client.core.getObjects({
97
+ ...options,
98
+ include: {
99
+ ...options.include,
100
+ content: true
101
+ }
102
+ })).objects.map((obj) => {
103
+ if (obj instanceof Error) throw obj;
104
+ return {
105
+ ...obj,
106
+ json: this.parse(obj.content)
107
+ };
108
+ });
109
+ }
110
+ };
111
+ function stringify(val) {
112
+ if (typeof val === "object") return JSON.stringify(val, (val) => val);
113
+ if (typeof val === "bigint") return val.toString();
114
+ return val;
115
+ }
116
+ //#endregion
117
+ export { MoveStruct, normalizeMoveArguments };
118
+
119
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/contracts/utils/index.ts"],"sourcesContent":["import {\n\tbcs,\n\tBcsEnum,\n\tBcsStruct,\n\tBcsTuple,\n\tTypeTagSerializer,\n\ttype BcsType,\n\ttype TypeTag,\n} from '@mysten/sui/bcs';\nimport {\n\ttype ClientWithCoreApi,\n\ttype SuiClientTypes,\n} from '@mysten/sui/client';\nimport { isArgument, type TransactionArgument } from '@mysten/sui/transactions';\nimport { normalizeSuiAddress } from '@mysten/sui/utils';\n\nconst MOVE_STDLIB_ADDRESS = normalizeSuiAddress('0x1');\nconst SUI_FRAMEWORK_ADDRESS = normalizeSuiAddress('0x2');\n\nexport type RawTransactionArgument<T> = T | TransactionArgument;\n\nexport type GetOptions<\n\tInclude extends Omit<SuiClientTypes.ObjectInclude, 'content'> = {},\n> = SuiClientTypes.GetObjectOptions<Include> & { client: ClientWithCoreApi };\n\nexport type GetManyOptions<\n\tInclude extends Omit<SuiClientTypes.ObjectInclude, 'content'> = {},\n> = SuiClientTypes.GetObjectsOptions<Include> & { client: ClientWithCoreApi };\n\nexport function getPureBcsSchema(\n\ttypeTag: string | TypeTag,\n): BcsType<any> | null {\n\tconst parsedTag =\n\t\ttypeof typeTag === 'string'\n\t\t\t? TypeTagSerializer.parseFromStr(typeTag)\n\t\t\t: typeTag;\n\n\tif ('u8' in parsedTag) {\n\t\treturn bcs.U8;\n\t} else if ('u16' in parsedTag) {\n\t\treturn bcs.U16;\n\t} else if ('u32' in parsedTag) {\n\t\treturn bcs.U32;\n\t} else if ('u64' in parsedTag) {\n\t\treturn bcs.U64;\n\t} else if ('u128' in parsedTag) {\n\t\treturn bcs.U128;\n\t} else if ('u256' in parsedTag) {\n\t\treturn bcs.U256;\n\t} else if ('address' in parsedTag) {\n\t\treturn bcs.Address;\n\t} else if ('bool' in parsedTag) {\n\t\treturn bcs.Bool;\n\t} else if ('vector' in parsedTag) {\n\t\tconst type = getPureBcsSchema(parsedTag.vector);\n\t\treturn type ? bcs.vector(type) : null;\n\t} else if ('struct' in parsedTag) {\n\t\tconst structTag = parsedTag.struct;\n\t\tconst pkg = normalizeSuiAddress(structTag.address);\n\n\t\tif (pkg === MOVE_STDLIB_ADDRESS) {\n\t\t\tif (\n\t\t\t\t(structTag.module === 'ascii' || structTag.module === 'string') &&\n\t\t\t\tstructTag.name === 'String'\n\t\t\t) {\n\t\t\t\treturn bcs.String;\n\t\t\t}\n\n\t\t\tif (structTag.module === 'option' && structTag.name === 'Option') {\n\t\t\t\tconst inner = structTag.typeParams[0];\n\t\t\t\tconst type = inner ? getPureBcsSchema(inner) : null;\n\t\t\t\treturn type ? bcs.option(type) : null;\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tpkg === SUI_FRAMEWORK_ADDRESS &&\n\t\t\tstructTag.module === 'object' &&\n\t\t\t(structTag.name === 'ID' || structTag.name === 'UID')\n\t\t) {\n\t\t\treturn bcs.Address;\n\t\t}\n\t}\n\n\treturn null;\n}\n\nexport function normalizeMoveArguments(\n\targs: unknown[] | object,\n\targTypes: readonly (string | null)[],\n\tparameterNames?: string[],\n) {\n\tconst argLen = Array.isArray(args) ? args.length : Object.keys(args).length;\n\tif (parameterNames && argLen !== parameterNames.length) {\n\t\tthrow new Error(\n\t\t\t`Invalid number of arguments, expected ${parameterNames.length}, got ${argLen}`,\n\t\t);\n\t}\n\n\tconst normalizedArgs: TransactionArgument[] = [];\n\n\tlet index = 0;\n\tfor (const argType of argTypes) {\n\t\tif (argType === '0x2::clock::Clock') {\n\t\t\tnormalizedArgs.push((tx) => tx.object.clock());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === '0x2::random::Random') {\n\t\t\tnormalizedArgs.push((tx) => tx.object.random());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === '0x2::deny_list::DenyList') {\n\t\t\tnormalizedArgs.push((tx) => tx.object.denyList());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === '0x3::sui_system::SuiSystemState') {\n\t\t\tnormalizedArgs.push((tx) => tx.object.system());\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet arg;\n\t\tif (Array.isArray(args)) {\n\t\t\tif (index >= args.length) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Invalid number of arguments, expected at least ${index + 1}, got ${args.length}`,\n\t\t\t\t);\n\t\t\t}\n\t\t\targ = args[index];\n\t\t} else {\n\t\t\tif (!parameterNames) {\n\t\t\t\tthrow new Error(`Expected arguments to be passed as an array`);\n\t\t\t}\n\t\t\tconst name = parameterNames[index];\n\t\t\targ = args[name as keyof typeof args];\n\n\t\t\tif (arg === undefined) {\n\t\t\t\tthrow new Error(`Parameter ${name} is required`);\n\t\t\t}\n\t\t}\n\n\t\tindex += 1;\n\n\t\tif (typeof arg === 'function' || isArgument(arg)) {\n\t\t\tnormalizedArgs.push(arg as TransactionArgument);\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst bcsType = argType === null ? null : getPureBcsSchema(argType);\n\n\t\tif (bcsType) {\n\t\t\tconst bytes = bcsType.serialize(arg as never);\n\t\t\tnormalizedArgs.push((tx) => tx.pure(bytes));\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (typeof arg === 'string') {\n\t\t\tnormalizedArgs.push((tx) => tx.object(arg));\n\t\t\tcontinue;\n\t\t}\n\n\t\tthrow new Error(`Invalid argument ${stringify(arg)} for type ${argType}`);\n\t}\n\n\treturn normalizedArgs;\n}\n\nexport class MoveStruct<\n\tT extends Record<string, BcsType<any>>,\n\tconst Name extends string = string,\n> extends BcsStruct<T, Name> {\n\tasync get<\n\t\tInclude extends Omit<SuiClientTypes.ObjectInclude, 'content' | 'json'> = {},\n\t>({\n\t\tobjectId,\n\t\t...options\n\t}: GetOptions<Include>): Promise<\n\t\tSuiClientTypes.Object<Include & { content: true; json: true }> & {\n\t\t\tjson: BcsStruct<T>['$inferType'];\n\t\t}\n\t> {\n\t\tconst [res] = await this.getMany<Include>({\n\t\t\t...options,\n\t\t\tobjectIds: [objectId],\n\t\t});\n\n\t\tif (!res) {\n\t\t\tthrow new Error(`No object found for id ${objectId}`);\n\t\t}\n\n\t\treturn res;\n\t}\n\n\tasync getMany<\n\t\tInclude extends Omit<SuiClientTypes.ObjectInclude, 'content' | 'json'> = {},\n\t>({\n\t\tclient,\n\t\t...options\n\t}: GetManyOptions<Include>): Promise<\n\t\tArray<\n\t\t\tSuiClientTypes.Object<Include & { content: true; json: true }> & {\n\t\t\t\tjson: BcsStruct<T>['$inferType'];\n\t\t\t}\n\t\t>\n\t> {\n\t\tconst response = (await client.core.getObjects({\n\t\t\t...options,\n\t\t\tinclude: {\n\t\t\t\t...options.include,\n\t\t\t\tcontent: true,\n\t\t\t},\n\t\t})) as SuiClientTypes.GetObjectsResponse<Include & { content: true }>;\n\n\t\treturn response.objects.map((obj) => {\n\t\t\tif (obj instanceof Error) {\n\t\t\t\tthrow obj;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...obj,\n\t\t\t\tjson: this.parse(obj.content),\n\t\t\t};\n\t\t});\n\t}\n}\n\nexport class MoveEnum<\n\tT extends Record<string, BcsType<any> | null>,\n\tconst Name extends string,\n> extends BcsEnum<T, Name> {}\n\nexport class MoveTuple<\n\tconst T extends readonly BcsType<any>[],\n\tconst Name extends string,\n> extends BcsTuple<T, Name> {}\n\nfunction stringify(val: unknown) {\n\tif (typeof val === 'object') {\n\t\treturn JSON.stringify(val, (val: unknown) => val);\n\t}\n\tif (typeof val === 'bigint') {\n\t\treturn val.toString();\n\t}\n\n\treturn val;\n}\n"],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { MoveStruct } from "../../../utils/index.mjs";
2
+ import { bcs } from "@mysten/sui/bcs";
3
+ //#region src/contracts/wheel/deps/0x0000000000000000000000000000000000000000000000000000000000000002/vec_map.ts
4
+ /**************************************************************
5
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
6
+ **************************************************************/
7
+ const $moduleName = "0x2::vec_map";
8
+ function Entry(...typeParameters) {
9
+ return new MoveStruct({
10
+ name: `${$moduleName}::Entry<${typeParameters[0].name}, ${typeParameters[1].name}>`,
11
+ fields: {
12
+ key: typeParameters[0],
13
+ value: typeParameters[1]
14
+ }
15
+ });
16
+ }
17
+ function VecMap(...typeParameters) {
18
+ return new MoveStruct({
19
+ name: `${$moduleName}::VecMap<${typeParameters[0].name}, ${typeParameters[1].name}>`,
20
+ fields: { contents: bcs.vector(Entry(typeParameters[0], typeParameters[1])) }
21
+ });
22
+ }
23
+ //#endregion
24
+ export { VecMap };
25
+
26
+ //# sourceMappingURL=vec_map.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vec_map.mjs","names":[],"sources":["../../../../../src/contracts/wheel/deps/0x0000000000000000000000000000000000000000000000000000000000000002/vec_map.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { bcs, type BcsType } from '@mysten/sui/bcs';\nimport { MoveStruct } from '../../../utils/index.js';\n\nconst $moduleName = '0x2::vec_map';\nexport function Entry<T0 extends BcsType<any>, T1 extends BcsType<any>>(\n\t...typeParameters: [T0, T1]\n) {\n\treturn new MoveStruct({\n\t\tname: `${$moduleName}::Entry<${typeParameters[0].name as T0['name']}, ${typeParameters[1].name as T1['name']}>`,\n\t\tfields: {\n\t\t\tkey: typeParameters[0],\n\t\t\tvalue: typeParameters[1],\n\t\t},\n\t});\n}\nexport function VecMap<T0 extends BcsType<any>, T1 extends BcsType<any>>(\n\t...typeParameters: [T0, T1]\n) {\n\treturn new MoveStruct({\n\t\tname: `${$moduleName}::VecMap<${typeParameters[0].name as T0['name']}, ${typeParameters[1].name as T1['name']}>`,\n\t\tfields: {\n\t\t\tcontents: bcs.vector(Entry(typeParameters[0], typeParameters[1])),\n\t\t},\n\t});\n}\n"],"mappings":";;;;;;AAMA,MAAM,cAAc;AACpB,SAAgB,MACf,GAAG,gBACF;CACD,OAAO,IAAI,WAAW;EACrB,MAAM,GAAG,YAAY,UAAU,eAAe,GAAG,KAAmB,IAAI,eAAe,GAAG,KAAmB;EAC7G,QAAQ;GACP,KAAK,eAAe;GACpB,OAAO,eAAe;GACtB;EACD,CAAC;;AAEH,SAAgB,OACf,GAAG,gBACF;CACD,OAAO,IAAI,WAAW;EACrB,MAAM,GAAG,YAAY,WAAW,eAAe,GAAG,KAAmB,IAAI,eAAe,GAAG,KAAmB;EAC9G,QAAQ,EACP,UAAU,IAAI,OAAO,MAAM,eAAe,IAAI,eAAe,GAAG,CAAC,EACjE;EACD,CAAC"}