@hot-labs/kit 1.2.0-alpha.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/README.md +2 -9
  2. package/build/HotConnector.d.ts +8 -7
  3. package/build/HotConnector.js +21 -24
  4. package/build/HotConnector.js.map +1 -1
  5. package/build/OmniConnector.d.ts +5 -0
  6. package/build/OmniConnector.js +5 -5
  7. package/build/OmniConnector.js.map +1 -1
  8. package/build/OmniWallet.d.ts +10 -17
  9. package/build/OmniWallet.js +14 -19
  10. package/build/OmniWallet.js.map +1 -1
  11. package/build/core/Intents.d.ts +53 -43
  12. package/build/core/Intents.js +207 -133
  13. package/build/core/Intents.js.map +1 -1
  14. package/build/core/api.d.ts +30 -2
  15. package/build/core/api.js +43 -10
  16. package/build/core/api.js.map +1 -1
  17. package/build/core/bridge.js +1 -1
  18. package/build/core/bridge.js.map +1 -1
  19. package/build/core/index.d.ts +1 -1
  20. package/build/core/index.js +1 -1
  21. package/build/core/index.js.map +1 -1
  22. package/build/core/telemetry.d.ts +13 -0
  23. package/build/core/telemetry.js +27 -0
  24. package/build/core/telemetry.js.map +1 -0
  25. package/build/core/token.d.ts +1 -0
  26. package/build/core/token.js +3 -0
  27. package/build/core/token.js.map +1 -1
  28. package/build/core/tokens.js +0 -8
  29. package/build/core/tokens.js.map +1 -1
  30. package/build/core/types.d.ts +17 -0
  31. package/build/core/utils.d.ts +1 -0
  32. package/build/core/utils.js +21 -1
  33. package/build/core/utils.js.map +1 -1
  34. package/build/cosmos/connector.d.ts +2 -2
  35. package/build/cosmos/connector.js +17 -21
  36. package/build/cosmos/connector.js.map +1 -1
  37. package/build/cosmos/wallet.d.ts +2 -4
  38. package/build/cosmos/wallet.js +3 -8
  39. package/build/cosmos/wallet.js.map +1 -1
  40. package/build/evm/connector.d.ts +1 -0
  41. package/build/evm/connector.js +4 -0
  42. package/build/evm/connector.js.map +1 -1
  43. package/build/evm/wallet.d.ts +2 -1
  44. package/build/evm/wallet.js +7 -5
  45. package/build/evm/wallet.js.map +1 -1
  46. package/build/exchange.d.ts +4 -1
  47. package/build/exchange.js +24 -30
  48. package/build/exchange.js.map +1 -1
  49. package/build/hot-wallet/google.js +10 -5
  50. package/build/hot-wallet/google.js.map +1 -1
  51. package/build/hot-wallet/proxy.js +2 -2
  52. package/build/hot-wallet/proxy.js.map +1 -1
  53. package/build/index.d.ts +2 -1
  54. package/build/index.js +2 -1
  55. package/build/index.js.map +1 -1
  56. package/build/near/connector.js +2 -2
  57. package/build/near/connector.js.map +1 -1
  58. package/build/{core/nearRpc.d.ts → near/rpc.d.ts} +0 -1
  59. package/build/{core/nearRpc.js → near/rpc.js} +8 -22
  60. package/build/near/rpc.js.map +1 -0
  61. package/build/near/wallet.d.ts +4 -4
  62. package/build/near/wallet.js +36 -30
  63. package/build/near/wallet.js.map +1 -1
  64. package/build/solana/{protocol.d.ts → WalletStandard.d.ts} +1 -1
  65. package/build/solana/{protocol.js → WalletStandard.js} +1 -1
  66. package/build/solana/WalletStandard.js.map +1 -0
  67. package/build/solana/connector.d.ts +1 -1
  68. package/build/solana/connector.js +9 -8
  69. package/build/solana/connector.js.map +1 -1
  70. package/build/solana/injected/solana-wallet.js.map +1 -1
  71. package/build/solana/wallet.d.ts +5 -7
  72. package/build/solana/wallet.js +8 -17
  73. package/build/solana/wallet.js.map +1 -1
  74. package/build/solana/{wallets.js → walletStandartList.js} +1 -1
  75. package/build/solana/walletStandartList.js.map +1 -0
  76. package/build/stellar/connector.d.ts +0 -2
  77. package/build/stellar/connector.js +1 -4
  78. package/build/stellar/connector.js.map +1 -1
  79. package/build/stellar/wallet.d.ts +10 -8
  80. package/build/stellar/wallet.js +12 -16
  81. package/build/stellar/wallet.js.map +1 -1
  82. package/build/ton/connector.d.ts +0 -1
  83. package/build/ton/connector.js +1 -4
  84. package/build/ton/connector.js.map +1 -1
  85. package/build/ton/wallet.d.ts +2 -3
  86. package/build/ton/wallet.js +3 -4
  87. package/build/ton/wallet.js.map +1 -1
  88. package/build/tron/connector.d.ts +51 -0
  89. package/build/tron/connector.js +65 -0
  90. package/build/tron/connector.js.map +1 -0
  91. package/build/tron/index.d.ts +6 -0
  92. package/build/tron/index.js +5 -0
  93. package/build/tron/index.js.map +1 -0
  94. package/build/tron/wallet.d.ts +52 -0
  95. package/build/tron/wallet.js +122 -0
  96. package/build/tron/wallet.js.map +1 -0
  97. package/build/ui/Popup.d.ts +2 -2
  98. package/build/ui/Popup.js +5 -1
  99. package/build/ui/Popup.js.map +1 -1
  100. package/build/ui/bridge/Bridge.js +389 -0
  101. package/build/ui/bridge/Bridge.js.map +1 -0
  102. package/build/ui/{payment → bridge}/SelectRecipient.js +3 -3
  103. package/build/ui/bridge/SelectRecipient.js.map +1 -0
  104. package/build/ui/{payment → bridge}/SelectSender.js +2 -2
  105. package/build/ui/bridge/SelectSender.js.map +1 -0
  106. package/build/ui/{payment → bridge}/SelectToken.js +4 -3
  107. package/build/ui/bridge/SelectToken.js.map +1 -0
  108. package/build/ui/{payment → bridge}/TokenCard.d.ts +7 -9
  109. package/build/ui/bridge/TokenCard.js +65 -0
  110. package/build/ui/bridge/TokenCard.js.map +1 -0
  111. package/build/ui/connect/AuthPopup.js +1 -1
  112. package/build/ui/connect/AuthPopup.js.map +1 -1
  113. package/build/ui/connect/ConnectWallet.d.ts +7 -2
  114. package/build/ui/connect/ConnectWallet.js +7 -7
  115. package/build/ui/connect/ConnectWallet.js.map +1 -1
  116. package/build/ui/connect/PrimaryWallet.d.ts +6 -0
  117. package/build/ui/connect/PrimaryWallet.js +18 -0
  118. package/build/ui/connect/PrimaryWallet.js.map +1 -0
  119. package/build/ui/connect/WCRequest.js +1 -1
  120. package/build/ui/connect/WCRequest.js.map +1 -1
  121. package/build/ui/connect/WalletPicker.js +1 -1
  122. package/build/ui/connect/WalletPicker.js.map +1 -1
  123. package/build/ui/icons/arrow-right.d.ts +3 -1
  124. package/build/ui/icons/arrow-right.js +3 -3
  125. package/build/ui/icons/arrow-right.js.map +1 -1
  126. package/build/ui/icons/close.js +1 -1
  127. package/build/ui/icons/close.js.map +1 -1
  128. package/build/ui/icons/exchange.d.ts +3 -4
  129. package/build/ui/icons/exchange.js +2 -2
  130. package/build/ui/icons/exchange.js.map +1 -1
  131. package/build/ui/icons/logout.js +1 -1
  132. package/build/ui/icons/logout.js.map +1 -1
  133. package/build/ui/icons/pending.js +1 -1
  134. package/build/ui/icons/pending.js.map +1 -1
  135. package/build/ui/icons/plus.d.ts +2 -0
  136. package/build/ui/icons/plus.js +6 -0
  137. package/build/ui/icons/plus.js.map +1 -0
  138. package/build/ui/icons/qr.js +1 -1
  139. package/build/ui/icons/qr.js.map +1 -1
  140. package/build/ui/icons/refresh.d.ts +2 -0
  141. package/build/ui/icons/refresh.js +6 -0
  142. package/build/ui/icons/refresh.js.map +1 -0
  143. package/build/ui/icons/search.js +1 -1
  144. package/build/ui/icons/search.js.map +1 -1
  145. package/build/ui/icons/switch.js +1 -1
  146. package/build/ui/icons/switch.js.map +1 -1
  147. package/build/ui/icons/wallet.js +1 -1
  148. package/build/ui/icons/wallet.js.map +1 -1
  149. package/build/ui/{payment → profile}/DepositQR.js.map +1 -1
  150. package/build/ui/profile/Payment.d.ts +23 -0
  151. package/build/ui/profile/Payment.js +150 -0
  152. package/build/ui/profile/Payment.js.map +1 -0
  153. package/build/ui/profile/Profile.d.ts +7 -0
  154. package/build/ui/profile/Profile.js +135 -0
  155. package/build/ui/profile/Profile.js.map +1 -0
  156. package/build/ui/router.d.ts +19 -5
  157. package/build/ui/router.js +21 -9
  158. package/build/ui/router.js.map +1 -1
  159. package/build/ui/styles.js +4 -11
  160. package/build/ui/styles.js.map +1 -1
  161. package/build/ui/uikit/Stepper.d.ts +13 -0
  162. package/build/ui/uikit/Stepper.js +22 -0
  163. package/build/ui/uikit/Stepper.js.map +1 -0
  164. package/build/ui/uikit/Toast.d.ts +4 -0
  165. package/build/ui/uikit/Toast.js +33 -0
  166. package/build/ui/uikit/Toast.js.map +1 -0
  167. package/build/ui/uikit/button.d.ts +2 -0
  168. package/build/ui/uikit/button.js +52 -0
  169. package/build/ui/uikit/button.js.map +1 -0
  170. package/build/ui/uikit/image.d.ts +6 -0
  171. package/build/ui/uikit/image.js +38 -0
  172. package/build/ui/uikit/image.js.map +1 -0
  173. package/build/ui/uikit/loader.d.ts +2 -0
  174. package/build/ui/uikit/loader.js +50 -0
  175. package/build/ui/uikit/loader.js.map +1 -0
  176. package/build/ui/uikit/tabs.d.ts +12 -0
  177. package/build/ui/uikit/tabs.js +35 -0
  178. package/build/ui/uikit/tabs.js.map +1 -0
  179. package/build/ui/uikit/text.d.ts +6 -0
  180. package/build/ui/uikit/text.js +59 -0
  181. package/build/ui/uikit/text.js.map +1 -0
  182. package/build/ui/utils.d.ts +1 -0
  183. package/build/ui/utils.js +20 -0
  184. package/build/ui/utils.js.map +1 -0
  185. package/package.json +8 -4
  186. package/src/HotConnector.ts +24 -31
  187. package/src/OmniConnector.ts +10 -9
  188. package/src/OmniWallet.ts +24 -25
  189. package/src/core/Intents.ts +222 -151
  190. package/src/core/api.ts +56 -10
  191. package/src/core/bridge.ts +3 -2
  192. package/src/core/index.ts +1 -1
  193. package/src/core/telemetry.ts +28 -0
  194. package/src/core/token.ts +4 -0
  195. package/src/core/tokens.ts +0 -9
  196. package/src/core/types.ts +21 -0
  197. package/src/core/utils.ts +17 -1
  198. package/src/cosmos/connector.ts +22 -26
  199. package/src/cosmos/wallet.ts +3 -8
  200. package/src/evm/connector.ts +5 -0
  201. package/src/evm/wallet.ts +9 -6
  202. package/src/exchange.ts +24 -30
  203. package/src/hot-wallet/google.ts +12 -5
  204. package/src/hot-wallet/proxy.ts +2 -2
  205. package/src/index.ts +3 -1
  206. package/src/near/connector.ts +2 -2
  207. package/src/{core/nearRpc.ts → near/rpc.ts} +9 -23
  208. package/src/near/wallet.ts +39 -31
  209. package/src/solana/{protocol.ts → WalletStandard.ts} +2 -4
  210. package/src/solana/connector.ts +9 -8
  211. package/src/solana/injected/solana-wallet.ts +6 -6
  212. package/src/solana/wallet.ts +11 -20
  213. package/src/stellar/connector.ts +1 -6
  214. package/src/stellar/wallet.ts +17 -17
  215. package/src/ton/connector.ts +1 -5
  216. package/src/ton/wallet.ts +3 -3
  217. package/src/tron/connector.ts +89 -0
  218. package/src/tron/index.ts +7 -0
  219. package/src/tron/wallet.ts +146 -0
  220. package/src/ui/Popup.tsx +12 -4
  221. package/src/ui/{payment → bridge}/Bridge.tsx +266 -212
  222. package/src/ui/{payment → bridge}/SelectRecipient.tsx +5 -4
  223. package/src/ui/{payment → bridge}/SelectSender.tsx +5 -5
  224. package/src/ui/{payment → bridge}/SelectToken.tsx +6 -4
  225. package/src/ui/bridge/TokenCard.tsx +99 -0
  226. package/src/ui/connect/AuthPopup.tsx +1 -1
  227. package/src/ui/connect/ConnectWallet.tsx +16 -10
  228. package/src/ui/connect/PrimaryWallet.tsx +65 -0
  229. package/src/ui/connect/WCRequest.tsx +1 -1
  230. package/src/ui/connect/WalletPicker.tsx +1 -1
  231. package/src/ui/icons/arrow-right.tsx +3 -4
  232. package/src/ui/icons/close.tsx +1 -1
  233. package/src/ui/icons/exchange.tsx +4 -11
  234. package/src/ui/icons/logout.tsx +4 -13
  235. package/src/ui/icons/pending.tsx +2 -4
  236. package/src/ui/icons/plus.tsx +12 -0
  237. package/src/ui/icons/qr.tsx +1 -2
  238. package/src/ui/icons/refresh.tsx +20 -0
  239. package/src/ui/icons/search.tsx +4 -4
  240. package/src/ui/icons/switch.tsx +4 -4
  241. package/src/ui/icons/wallet.tsx +2 -4
  242. package/src/ui/profile/Payment.tsx +309 -0
  243. package/src/ui/{payment → profile}/Profile.tsx +110 -70
  244. package/src/ui/router.tsx +57 -17
  245. package/src/ui/styles.ts +4 -11
  246. package/src/ui/uikit/Stepper.tsx +50 -0
  247. package/src/ui/uikit/Toast.tsx +45 -0
  248. package/src/ui/uikit/button.tsx +53 -0
  249. package/src/ui/uikit/image.tsx +45 -0
  250. package/src/ui/uikit/loader.tsx +52 -0
  251. package/src/ui/uikit/tabs.tsx +56 -0
  252. package/src/ui/uikit/text.tsx +64 -0
  253. package/src/ui/utils.ts +14 -0
  254. package/build/core/nearRpc.js.map +0 -1
  255. package/build/solana/protocol.js.map +0 -1
  256. package/build/solana/wallets.js.map +0 -1
  257. package/build/ui/payment/Bridge.js +0 -358
  258. package/build/ui/payment/Bridge.js.map +0 -1
  259. package/build/ui/payment/Payment.d.ts +0 -16
  260. package/build/ui/payment/Payment.js +0 -50
  261. package/build/ui/payment/Payment.js.map +0 -1
  262. package/build/ui/payment/Profile.d.ts +0 -8
  263. package/build/ui/payment/Profile.js +0 -110
  264. package/build/ui/payment/Profile.js.map +0 -1
  265. package/build/ui/payment/SelectRecipient.js.map +0 -1
  266. package/build/ui/payment/SelectSender.js.map +0 -1
  267. package/build/ui/payment/SelectToken.js.map +0 -1
  268. package/build/ui/payment/TokenCard.js +0 -63
  269. package/build/ui/payment/TokenCard.js.map +0 -1
  270. package/src/ui/payment/Payment.tsx +0 -79
  271. package/src/ui/payment/TokenCard.tsx +0 -98
  272. package/build/solana/{wallets.d.ts → walletStandartList.d.ts} +0 -0
  273. package/build/ui/{payment → bridge}/Bridge.d.ts +3 -3
  274. package/build/ui/{payment → bridge}/SelectRecipient.d.ts +0 -0
  275. package/build/ui/{payment → bridge}/SelectSender.d.ts +2 -2
  276. package/build/ui/{payment → bridge}/SelectToken.d.ts +1 -1
  277. /package/build/ui/{payment → profile}/DepositQR.d.ts +0 -0
  278. /package/build/ui/{payment → profile}/DepositQR.js +0 -0
  279. /package/src/solana/{wallets.ts → walletStandartList.ts} +0 -0
  280. /package/src/ui/{payment → profile}/DepositQR.tsx +0 -0
@@ -1,9 +1,10 @@
1
1
  import { sha256 } from "@noble/hashes/sha2.js";
2
- import { ed25519 } from "@noble/curves/ed25519";
3
- import { base58, base64, hex } from "@scure/base";
2
+ import { rpc } from "../near/rpc";
4
3
  import { OmniToken } from "./chains";
4
+ import { formatter } from "./utils";
5
5
  import { tokens } from "./tokens";
6
- import { rpc } from "./nearRpc";
6
+ import { api } from "./api";
7
+ import { openConnector, openConnectPrimaryWallet, openPayment, openToast } from "../ui/router";
7
8
  export const TGAS = 1000000000000n;
8
9
  export class Intents {
9
10
  wibe3;
@@ -13,13 +14,17 @@ export class Intents {
13
14
  static get builder() {
14
15
  return new Intents();
15
16
  }
16
- hashes = [];
17
- intents = [];
18
- nonce;
19
- deadline;
20
- signer;
17
+ signedHashes = [];
21
18
  commitments = [];
22
19
  need = new Map();
20
+ signer;
21
+ unsignedCommitment;
22
+ addIntent(intent) {
23
+ if (!this.unsignedCommitment)
24
+ this.unsignedCommitment = { intents: [] };
25
+ this.unsignedCommitment.intents.push(intent);
26
+ return this;
27
+ }
23
28
  addNeed(token, amount) {
24
29
  if (!this.need.has(token))
25
30
  this.need.set(token, 0n);
@@ -28,7 +33,7 @@ export class Intents {
28
33
  }
29
34
  authCall(args) {
30
35
  this.addNeed(OmniToken.NEAR, args.attachNear);
31
- this.intents.push({
36
+ this.addIntent({
32
37
  min_gas: (BigInt(args.tgas) * TGAS).toString(),
33
38
  attached_deposit: args.attachNear.toString(),
34
39
  contract_id: args.contractId,
@@ -37,6 +42,21 @@ export class Intents {
37
42
  });
38
43
  return this;
39
44
  }
45
+ /**
46
+ * Use this method to pay for a merchant's item created in pay.hot-labs.org
47
+ */
48
+ merchantPayment({ merchantId, token, itemId, email, amount, memo }) {
49
+ return this.transfer({
50
+ msg: JSON.stringify({ merchant_id: merchantId, item_id: itemId, memo: memo }),
51
+ recipient: "pay.fi.tg",
52
+ amount,
53
+ token,
54
+ }).depositAndExecute({
55
+ title: `Pay ${this.wibe3?.omni(token).readable(amount)} ${this.wibe3?.omni(token).symbol}`,
56
+ serverSideProcessing: true,
57
+ payload: { email },
58
+ });
59
+ }
40
60
  transfer(args) {
41
61
  const omniToken = tokens.get(args.token);
42
62
  const amount = (typeof args.amount === "number" ? omniToken.int(args.amount) : args.amount).toString();
@@ -49,7 +69,7 @@ export class Intents {
49
69
  msg: args.msg,
50
70
  };
51
71
  this.addNeed(args.token, BigInt(amount));
52
- this.intents.push(intent);
72
+ this.addIntent(intent);
53
73
  return this;
54
74
  }
55
75
  batchTransfer(args) {
@@ -68,7 +88,7 @@ export class Intents {
68
88
  memo: args.memo,
69
89
  msg: args.msg,
70
90
  };
71
- this.intents.push(intent);
91
+ this.addIntent(intent);
72
92
  return this;
73
93
  }
74
94
  tokenDiff(args) {
@@ -88,7 +108,7 @@ export class Intents {
88
108
  this.addNeed(tokenKey, -amount);
89
109
  }
90
110
  }
91
- this.intents.push(intent);
111
+ this.addIntent(intent);
92
112
  return this;
93
113
  }
94
114
  addRawIntent(rawIntent) {
@@ -96,33 +116,31 @@ export class Intents {
96
116
  throw new Error("Intent must have 'intent' field");
97
117
  const intentType = rawIntent.intent;
98
118
  if (intentType === "token_diff") {
99
- const diff = rawIntent.diff || rawIntent.token_diff;
100
- if (!diff)
101
- throw new Error("token_diff intent must have 'diff' or 'token_diff' field");
102
119
  const tokenDiffArgs = {};
103
- for (const [token, amountStr] of Object.entries(diff)) {
120
+ for (const [token, amountStr] of Object.entries(rawIntent.diff)) {
104
121
  tokenDiffArgs[token] = BigInt(amountStr);
105
122
  }
106
123
  return this.tokenDiff(tokenDiffArgs);
107
124
  }
108
125
  if (intentType === "transfer") {
109
- if (!rawIntent.tokens || !rawIntent.receiver_id) {
110
- throw new Error("transfer intent must have 'tokens' and 'receiver_id' fields");
111
- }
112
126
  const tokens = {};
113
127
  for (const [token, amount] of Object.entries(rawIntent.tokens)) {
114
128
  tokens[token] = BigInt(amount);
115
129
  }
116
130
  return this.batchTransfer({
131
+ tgas: rawIntent.min_gas ? Number(BigInt(rawIntent.min_gas) / TGAS) : undefined,
117
132
  recipient: rawIntent.receiver_id,
118
- tokens,
119
133
  memo: rawIntent.memo,
120
134
  msg: rawIntent.msg,
121
- tgas: rawIntent.min_gas ? Number(BigInt(rawIntent.min_gas) / TGAS) : undefined,
135
+ tokens,
122
136
  });
123
137
  }
124
138
  if (intentType === "mt_withdraw") {
125
- const intent = {
139
+ for (let i = 0; i < rawIntent.amounts.length; i++) {
140
+ const token = `nep245:${rawIntent.token}:${rawIntent.token_ids[i]}`;
141
+ this.addNeed(token, BigInt(rawIntent.amounts[i]));
142
+ }
143
+ this.addIntent({
126
144
  intent: "mt_withdraw",
127
145
  amounts: rawIntent.amounts,
128
146
  receiver_id: rawIntent.receiver_id,
@@ -131,40 +149,52 @@ export class Intents {
131
149
  memo: rawIntent.memo,
132
150
  msg: rawIntent.msg,
133
151
  min_gas: rawIntent.min_gas,
134
- };
135
- for (let i = 0; i < rawIntent.amounts.length; i++) {
136
- const token = `nep245:${rawIntent.token}:${rawIntent.token_ids[i]}`;
137
- this.addNeed(token, BigInt(rawIntent.amounts[i]));
138
- }
139
- this.intents.push(intent);
152
+ });
140
153
  return this;
141
154
  }
142
155
  if (intentType === "ft_withdraw") {
143
- if (!rawIntent.token || !rawIntent.receiver_id || !rawIntent.amount) {
144
- throw new Error("ft_withdraw intent must have 'token', 'receiver_id', and 'amount' fields");
145
- }
146
- const token = `nep141:${rawIntent.token}`;
147
156
  return this.withdraw({
157
+ token: `nep141:${rawIntent.token}`,
148
158
  amount: BigInt(rawIntent.amount),
149
159
  receiver: rawIntent.receiver_id,
150
160
  memo: rawIntent.memo,
151
161
  msg: rawIntent.msg,
152
- token,
153
162
  });
154
163
  }
155
164
  if (intentType === "auth_call") {
156
- if (!rawIntent.contract_id || !rawIntent.msg || !rawIntent.attached_deposit || !rawIntent.min_gas) {
157
- throw new Error("auth_call intent must have 'contract_id', 'msg', 'attached_deposit', and 'min_gas' fields");
158
- }
159
165
  return this.authCall({
160
- contractId: rawIntent.contract_id,
161
- msg: rawIntent.msg,
162
166
  attachNear: BigInt(rawIntent.attached_deposit),
163
167
  tgas: Number(BigInt(rawIntent.min_gas) / TGAS),
168
+ contractId: rawIntent.contract_id,
169
+ msg: rawIntent.msg,
170
+ });
171
+ }
172
+ if (intentType === "add_public_key") {
173
+ return this.addPublicKey(rawIntent.public_key);
174
+ }
175
+ if (intentType === "remove_public_key") {
176
+ return this.removePublicKey(rawIntent.public_key);
177
+ }
178
+ if (intentType === "nft_withdraw") {
179
+ return this.withdraw({
180
+ token: rawIntent.token_id,
181
+ receiver: rawIntent.receiver_id,
182
+ memo: rawIntent.memo,
183
+ msg: rawIntent.msg,
184
+ tgas: rawIntent.min_gas ? Number(BigInt(rawIntent.min_gas) / TGAS) : undefined,
185
+ amount: 1n,
164
186
  });
165
187
  }
166
188
  throw new Error(`Unsupported intent type: ${intentType}`);
167
189
  }
190
+ addPublicKey(publicKey) {
191
+ this.addIntent({ intent: "add_public_key", public_key: publicKey });
192
+ return this;
193
+ }
194
+ removePublicKey(publicKey) {
195
+ this.addIntent({ intent: "remove_public_key", public_key: publicKey });
196
+ return this;
197
+ }
168
198
  withdraw(args) {
169
199
  const omniToken = tokens.get(args.token);
170
200
  const amount = (typeof args.amount === "number" ? omniToken.int(args.amount) : args.amount).toString();
@@ -173,7 +203,7 @@ export class Intents {
173
203
  if (standart === "nep245") {
174
204
  const mtContract = tokenParts[0];
175
205
  const tokenId = tokenParts.slice(1).join(":");
176
- const intent = {
206
+ this.addIntent({
177
207
  intent: "mt_withdraw",
178
208
  amounts: [amount],
179
209
  receiver_id: args.receiver,
@@ -182,26 +212,35 @@ export class Intents {
182
212
  memo: args.memo,
183
213
  msg: args.msg,
184
214
  min_gas: args.tgas ? (BigInt(args.tgas) * TGAS).toString() : undefined,
185
- };
186
- this.intents.push(intent);
215
+ });
187
216
  return this;
188
217
  }
189
218
  if (standart === "nep141") {
190
- const intent = {
219
+ this.addIntent({
191
220
  intent: "ft_withdraw",
192
221
  receiver_id: args.receiver,
193
222
  token: tokenParts.join(":"),
194
223
  amount: amount,
195
224
  memo: args.memo,
196
225
  msg: args.msg,
197
- };
198
- this.intents.push(intent);
226
+ });
227
+ return this;
228
+ }
229
+ if (standart === "nep171") {
230
+ this.addIntent({
231
+ intent: "nft_withdraw",
232
+ receiver_id: args.receiver,
233
+ token_id: tokenParts.join(":"),
234
+ min_gas: args.tgas ? (BigInt(args.tgas) * TGAS).toString() : undefined,
235
+ memo: args.memo,
236
+ msg: args.msg,
237
+ });
199
238
  return this;
200
239
  }
201
240
  throw new Error(`Unsupported token: ${args.token}`);
202
241
  }
203
242
  attachHashes(hashes) {
204
- this.hashes.push(...hashes);
243
+ this.signedHashes.push(...hashes);
205
244
  return this;
206
245
  }
207
246
  attachWallet(wallet) {
@@ -209,137 +248,172 @@ export class Intents {
209
248
  return this;
210
249
  }
211
250
  attachDeadline(deadline) {
212
- this.deadline = deadline;
251
+ if (!this.unsignedCommitment)
252
+ this.unsignedCommitment = { intents: [] };
253
+ this.unsignedCommitment.deadline = deadline;
213
254
  return this;
214
255
  }
215
256
  attachNonce(nonce) {
216
- this.nonce = nonce;
257
+ if (!this.unsignedCommitment)
258
+ this.unsignedCommitment = { intents: [] };
259
+ this.unsignedCommitment.nonce = nonce;
217
260
  return this;
218
261
  }
219
262
  attachTimeout(seconds) {
220
- this.deadline = new Date(Date.now() + seconds * 1000);
263
+ if (!this.unsignedCommitment)
264
+ this.unsignedCommitment = { intents: [] };
265
+ this.unsignedCommitment.deadline = new Date(Date.now() + seconds * 1000);
221
266
  return this;
222
267
  }
223
268
  attachSeed(seed) {
224
- this.nonce = new Uint8Array(sha256(new TextEncoder().encode(seed))).slice(0, 32);
269
+ if (!this.unsignedCommitment)
270
+ this.unsignedCommitment = { intents: [] };
271
+ this.unsignedCommitment.nonce = new Uint8Array(sha256(new TextEncoder().encode(seed))).slice(0, 32);
272
+ return this;
273
+ }
274
+ attachCommitment(commitment) {
275
+ this.commitments.push(commitment);
225
276
  return this;
226
277
  }
227
278
  take(token, amount) {
228
279
  const intAmount = typeof amount === "number" ? tokens.get(token).int(amount) : amount;
229
- this.addNeed(token, intAmount);
230
- const tokenDiff = this.intents.find((intent) => intent.intent === "token_diff");
280
+ // this.addNeed(token, -intAmount); Do we need to add the need here?
281
+ const tokenDiff = this.unsignedCommitment?.intents.find((intent) => intent.intent === "token_diff");
231
282
  if (tokenDiff)
232
283
  tokenDiff.diff[token.toString()] = intAmount.toString();
233
284
  else
234
- this.intents.push({ intent: "token_diff", diff: { [token.toString()]: intAmount.toString() } });
285
+ this.addIntent({ intent: "token_diff", diff: { [token.toString()]: intAmount.toString() } });
235
286
  return this;
236
287
  }
237
288
  give(token, amount) {
238
289
  const intAmount = typeof amount === "number" ? tokens.get(token).int(amount) : amount;
239
- this.addNeed(token, -intAmount);
240
- const tokenDiff = this.intents.find((intent) => intent.intent === "token_diff");
290
+ this.addNeed(token, intAmount);
291
+ const tokenDiff = this.unsignedCommitment?.intents.find((intent) => intent.intent === "token_diff");
241
292
  if (tokenDiff)
242
293
  tokenDiff.diff[token.toString()] = (-intAmount).toString();
243
294
  else
244
- this.intents.push({ intent: "token_diff", diff: { [token.toString()]: (-intAmount).toString() } });
245
- return this;
246
- }
247
- async signRaw({ ed25519PrivateKey, intentsAddress, checkTokens }) {
248
- if (checkTokens) {
249
- await this.checkRequiredTokens();
250
- }
251
- const publicKey = ed25519.getPublicKey(ed25519PrivateKey);
252
- const nonce = new Uint8Array(this.nonce || window.crypto.getRandomValues(new Uint8Array(32)));
253
- const message = JSON.stringify({
254
- deadline: this.deadline ? new Date(this.deadline).toISOString() : "2100-01-01T00:00:00.000Z",
255
- nonce: base64.encode(nonce),
256
- verifying_contract: "intents.near",
257
- signer_id: intentsAddress || hex.encode(publicKey).toLowerCase(),
258
- intents: this.intents,
259
- });
260
- return {
261
- signature: `ed25519:${base58.encode(ed25519.sign(message, ed25519PrivateKey))}`,
262
- public_key: `ed25519:${base58.encode(publicKey)}`,
263
- standard: "raw_ed25519",
264
- payload: message,
265
- };
266
- }
267
- async attachCommitment(commitment) {
268
- this.commitments.push(commitment);
269
- return this;
270
- }
271
- async attachSigner(signer) {
272
- this.signer = signer;
295
+ this.addIntent({ intent: "token_diff", diff: { [token.toString()]: (-intAmount).toString() } });
273
296
  return this;
274
297
  }
275
- async checkRequiredTokens() {
276
- if (this.wibe3 == null)
277
- return;
278
- for (const [token, needAmount] of this.need.entries()) {
279
- if (needAmount <= 0n)
280
- continue;
281
- await this.wibe3.requestToken(token, needAmount);
298
+ async signSequence() {
299
+ const signer = this.signer;
300
+ if (!signer)
301
+ throw new Error("No signer attached");
302
+ if (!signer.omniAddress)
303
+ throw new Error("No omni address");
304
+ const commitments = [];
305
+ for (const intent of this.unsignedCommitment?.intents || []) {
306
+ commitments.push(await signer.signIntents([intent], {
307
+ deadline: this.unsignedCommitment?.deadline ? +this.unsignedCommitment.deadline : undefined,
308
+ nonce: this.unsignedCommitment?.nonce,
309
+ }));
282
310
  }
311
+ return commitments;
283
312
  }
284
- async sign(params = { checkTokens: true }) {
313
+ async sign() {
285
314
  const signer = this.signer;
286
315
  if (!signer)
287
316
  throw new Error("No signer attached");
288
317
  if (!signer.omniAddress)
289
318
  throw new Error("No omni address");
290
- if ("ed25519PrivateKey" in signer) {
291
- return await this.signRaw({
292
- ed25519PrivateKey: signer.ed25519PrivateKey,
293
- intentsAddress: signer.omniAddress,
294
- checkTokens: params.checkTokens,
295
- });
296
- }
297
- if (params.checkTokens) {
298
- await this.checkRequiredTokens();
319
+ const commitment = await signer.signIntents(this.unsignedCommitment?.intents || [], {
320
+ deadline: this.unsignedCommitment?.deadline ? +this.unsignedCommitment.deadline : undefined,
321
+ nonce: this.unsignedCommitment?.nonce,
322
+ });
323
+ this.unsignedCommitment = undefined;
324
+ this.commitments.push(commitment);
325
+ return this;
326
+ }
327
+ async simulate() {
328
+ if (this.commitments.length === 0)
329
+ throw new Error("No commitments attached");
330
+ return await Intents.simulateIntents(this.commitments);
331
+ }
332
+ async setupSigner() {
333
+ if (!this.wibe3)
334
+ throw new Error("No wibe3 attached");
335
+ if (this.signer)
336
+ return this.signer;
337
+ if (this.wibe3.priorityWallet) {
338
+ this.signer = this.wibe3.priorityWallet;
339
+ return this.signer;
299
340
  }
300
- return await signer.signIntents(this.intents, {
301
- deadline: this.deadline ? +this.deadline : undefined,
302
- nonce: this.nonce,
341
+ if (this.wibe3.wallets.length > 0)
342
+ await openConnectPrimaryWallet(this.wibe3);
343
+ else
344
+ await openConnector(this.wibe3);
345
+ if (this.wibe3.priorityWallet == undefined)
346
+ throw new Error("No signer attached");
347
+ this.signer = this.wibe3.priorityWallet;
348
+ return this.signer;
349
+ }
350
+ async openSignFlow({ title, allowedTokens, onConfirm }) {
351
+ if (!this.wibe3)
352
+ throw "Attach wibe3";
353
+ if (!this.signer)
354
+ throw "Attach signer";
355
+ // TODO: Handle multiple payables
356
+ const payableToken = tokens.get(Array.from(this.need.keys())[0]);
357
+ const payableAmount = this.need.get(payableToken.omniAddress) || 0n;
358
+ const balance = await this.wibe3.fetchToken(payableToken, this.signer);
359
+ const prepaidAmount = formatter.bigIntMin(payableAmount, balance);
360
+ return await openPayment(this.wibe3, {
361
+ onConfirm,
362
+ needAmount: payableAmount - prepaidAmount,
363
+ allowedTokens,
364
+ prepaidAmount,
365
+ payableToken,
366
+ intents: this,
367
+ title,
303
368
  });
304
369
  }
305
- async simulate(params = { checkTokens: true }) {
306
- const signed = await this.sign(params);
307
- return await Intents.simulateIntents([signed]);
370
+ async depositAndExecute({ title = "Payment", message, allowedTokens, serverSideProcessing, payload } = {}) {
371
+ await this.setupSigner();
372
+ if (this.need.size === 0)
373
+ return this.execute();
374
+ await this.openSignFlow({
375
+ title,
376
+ allowedTokens,
377
+ onConfirm: async ({ depositQoute, processing }) => {
378
+ if (!serverSideProcessing)
379
+ return;
380
+ let depositAddress;
381
+ if (depositQoute?.qoute === "deposit")
382
+ await processing?.();
383
+ else if (depositQoute?.qoute === "withdraw")
384
+ await processing?.();
385
+ else
386
+ depositAddress = depositQoute?.qoute?.depositAddress;
387
+ await api.yieldIntentCall({
388
+ depositAddress: depositAddress,
389
+ commitment: this.commitments[0],
390
+ payload: payload || {},
391
+ });
392
+ },
393
+ });
394
+ if (serverSideProcessing)
395
+ return;
396
+ const close = openToast(message || "Executing payment");
397
+ await this.execute().finally(() => close());
308
398
  }
309
- async execute(params = { checkTokens: true }) {
310
- const signed = await this.sign(params);
311
- const hash = await Intents.publishSignedIntents([...this.commitments, signed], this.hashes);
399
+ async execute() {
400
+ if (this.unsignedCommitment != null)
401
+ await this.sign();
402
+ const task = Intents.publish(this.commitments, this.signedHashes);
403
+ this.commitments = [];
404
+ this.signedHashes = [];
405
+ const hash = await task;
312
406
  await rpc.waitTransactionResult(hash, "intents.near");
313
407
  return hash;
314
408
  }
315
- static async publishSignedIntents(signed, hashes = []) {
316
- const res = await fetch("https://api0.herewallet.app/api/v1/evm/intent-solver", {
317
- headers: { "Content-Type": "application/json" },
318
- method: "POST",
319
- body: JSON.stringify({
320
- params: [{ signed_datas: signed, quote_hashes: hashes }],
321
- method: "publish_intents",
322
- id: "dontcare",
323
- jsonrpc: "2.0",
324
- }),
325
- });
326
- const { result } = await res.json();
409
+ static async publish(signed, hashes = []) {
410
+ const result = await api.publishIntents(signed, hashes);
327
411
  if (result.status === "FAILED")
328
412
  throw result.reason;
329
413
  const intentResult = result.intent_hashes[0];
330
414
  const getStatus = async () => {
331
- const statusRes = await fetch("https://api0.herewallet.app/api/v1/evm/intent-solver", {
332
- headers: { "Content-Type": "application/json" },
333
- method: "POST",
334
- body: JSON.stringify({
335
- params: [{ intent_hash: intentResult }],
336
- method: "get_status",
337
- id: "dontcare",
338
- jsonrpc: "2.0",
339
- }),
340
- });
341
- const { result } = await statusRes.json();
342
- return result;
415
+ const statusResult = await api.getIntentsStatus(intentResult);
416
+ return statusResult;
343
417
  };
344
418
  const fetchResult = async () => {
345
419
  await new Promise((resolve) => setTimeout(resolve, 1000));
@@ -1 +1 @@
1
- {"version":3,"file":"Intents.js","sourceRoot":"","sources":["../../src/core/Intents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Intents.js","sourceRoot":"","sources":["../../src/core/Intents.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,23 @@
1
1
  import { Commitment } from "./types";
2
- export declare class ApiError extends Error {
2
+ export declare class NetworkError extends Error {
3
3
  readonly status: number;
4
+ readonly url: string;
5
+ readonly message: string;
4
6
  name: string;
5
- constructor(status: number, message: string);
7
+ constructor(status: number, url: string, message: string);
8
+ }
9
+ export declare class TimeoutNetworkError extends NetworkError {
10
+ name: string;
11
+ constructor(url: string);
12
+ }
13
+ export interface PaymentStatus {
14
+ payment_id: string;
15
+ timestamp: number;
16
+ amount: string;
17
+ token_id: string;
18
+ sender_id: string;
19
+ near_trx: string;
20
+ status: string;
6
21
  }
7
22
  export interface TokenType {
8
23
  icon: string;
@@ -26,7 +41,20 @@ export declare class Api {
26
41
  auth(commitment: Commitment, seed: string): Promise<string>;
27
42
  validateAuth(jwt: string): Promise<any>;
28
43
  getPortfolio(chain: number, address: string): Promise<TokenType[]>;
44
+ yieldIntentCall(args: {
45
+ commitment: Commitment;
46
+ depositAddress?: string;
47
+ payload?: Record<string, any>;
48
+ }): Promise<any>;
49
+ paymentStatus(memo: string): Promise<PaymentStatus>;
50
+ getPayments(merchantId: string): Promise<PaymentStatus[]>;
29
51
  publishIntents(signed: Record<string, any>[], hashes: string[]): Promise<any>;
52
+ publishTelemetry(events: {
53
+ event: string;
54
+ value_str?: string;
55
+ value_float?: number;
56
+ ts: number;
57
+ }[], accountId: string): Promise<void>;
30
58
  getIntentsStatus(intentHash: string): Promise<any>;
31
59
  }
32
60
  export declare const api: Api;