@airgap/serializer 0.13.7-beta.11

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 (276) hide show
  1. package/LICENSE.md +7 -0
  2. package/airgap-coinlib-serializer.min.js +213386 -0
  3. package/index.d.ts +14 -0
  4. package/index.js +16 -0
  5. package/index.js.map +1 -0
  6. package/package.json +76 -0
  7. package/readme.md +121 -0
  8. package/v2/inter-app-communication-protocol.d.ts +15 -0
  9. package/v2/inter-app-communication-protocol.js +117 -0
  10. package/v2/inter-app-communication-protocol.js.map +1 -0
  11. package/v2/interfaces.d.ts +8 -0
  12. package/v2/interfaces.js +31 -0
  13. package/v2/interfaces.js.map +1 -0
  14. package/v2/message.d.ts +46 -0
  15. package/v2/message.js +89 -0
  16. package/v2/message.js.map +1 -0
  17. package/v2/payloads/chunked-payload.d.ts +18 -0
  18. package/v2/payloads/chunked-payload.js +56 -0
  19. package/v2/payloads/chunked-payload.js.map +1 -0
  20. package/v2/payloads/full-payload.d.ts +14 -0
  21. package/v2/payloads/full-payload.js +52 -0
  22. package/v2/payloads/full-payload.js.map +1 -0
  23. package/v2/payloads/payload.d.ts +4 -0
  24. package/v2/payloads/payload.js +3 -0
  25. package/v2/payloads/payload.js.map +1 -0
  26. package/v2/schemas/definitions/account-share-request.d.ts +4 -0
  27. package/v2/schemas/definitions/account-share-request.js +3 -0
  28. package/v2/schemas/definitions/account-share-request.js.map +1 -0
  29. package/v2/schemas/definitions/account-share-response.d.ts +5 -0
  30. package/v2/schemas/definitions/account-share-response.js +3 -0
  31. package/v2/schemas/definitions/account-share-response.js.map +1 -0
  32. package/v2/schemas/definitions/config-set-request.d.ts +7 -0
  33. package/v2/schemas/definitions/config-set-request.js +3 -0
  34. package/v2/schemas/definitions/config-set-request.js.map +1 -0
  35. package/v2/schemas/definitions/config-set-response.d.ts +4 -0
  36. package/v2/schemas/definitions/config-set-response.js +3 -0
  37. package/v2/schemas/definitions/config-set-response.js.map +1 -0
  38. package/v2/schemas/definitions/hex-string.d.ts +1 -0
  39. package/v2/schemas/definitions/hex-string.js +3 -0
  40. package/v2/schemas/definitions/hex-string.js.map +1 -0
  41. package/v2/schemas/definitions/item-retrieve-request.d.ts +5 -0
  42. package/v2/schemas/definitions/item-retrieve-request.js +3 -0
  43. package/v2/schemas/definitions/item-retrieve-request.js.map +1 -0
  44. package/v2/schemas/definitions/item-retrieve-response.d.ts +3 -0
  45. package/v2/schemas/definitions/item-retrieve-response.js +3 -0
  46. package/v2/schemas/definitions/item-retrieve-response.js.map +1 -0
  47. package/v2/schemas/definitions/item-store-request.d.ts +5 -0
  48. package/v2/schemas/definitions/item-store-request.js +3 -0
  49. package/v2/schemas/definitions/item-store-request.js.map +1 -0
  50. package/v2/schemas/definitions/item-store-response.d.ts +3 -0
  51. package/v2/schemas/definitions/item-store-response.js +3 -0
  52. package/v2/schemas/definitions/item-store-response.js.map +1 -0
  53. package/v2/schemas/definitions/message-encrypt-request.d.ts +8 -0
  54. package/v2/schemas/definitions/message-encrypt-request.js +3 -0
  55. package/v2/schemas/definitions/message-encrypt-request.js.map +1 -0
  56. package/v2/schemas/definitions/message-encrypt-response.d.ts +4 -0
  57. package/v2/schemas/definitions/message-encrypt-response.js +3 -0
  58. package/v2/schemas/definitions/message-encrypt-response.js.map +1 -0
  59. package/v2/schemas/definitions/message-sign-request.d.ts +5 -0
  60. package/v2/schemas/definitions/message-sign-request.js +3 -0
  61. package/v2/schemas/definitions/message-sign-request.js.map +1 -0
  62. package/v2/schemas/definitions/message-sign-response.d.ts +5 -0
  63. package/v2/schemas/definitions/message-sign-response.js +3 -0
  64. package/v2/schemas/definitions/message-sign-response.js.map +1 -0
  65. package/v2/schemas/definitions/message-verify-request.d.ts +6 -0
  66. package/v2/schemas/definitions/message-verify-request.js +3 -0
  67. package/v2/schemas/definitions/message-verify-request.js.map +1 -0
  68. package/v2/schemas/definitions/message-verify-response.d.ts +6 -0
  69. package/v2/schemas/definitions/message-verify-response.js +3 -0
  70. package/v2/schemas/definitions/message-verify-response.js.map +1 -0
  71. package/v2/schemas/definitions/multisig-request.d.ts +7 -0
  72. package/v2/schemas/definitions/multisig-request.js +3 -0
  73. package/v2/schemas/definitions/multisig-request.js.map +1 -0
  74. package/v2/schemas/definitions/multisig-response.d.ts +5 -0
  75. package/v2/schemas/definitions/multisig-response.js +3 -0
  76. package/v2/schemas/definitions/multisig-response.js.map +1 -0
  77. package/v2/schemas/definitions/pair-request.d.ts +7 -0
  78. package/v2/schemas/definitions/pair-request.js +3 -0
  79. package/v2/schemas/definitions/pair-request.js.map +1 -0
  80. package/v2/schemas/definitions/pair-response.d.ts +6 -0
  81. package/v2/schemas/definitions/pair-response.js +3 -0
  82. package/v2/schemas/definitions/pair-response.js.map +1 -0
  83. package/v2/schemas/generated/account-share-request.json +22 -0
  84. package/v2/schemas/generated/account-share-response.json +22 -0
  85. package/v2/schemas/generated/message-sign-request.json +22 -0
  86. package/v2/schemas/generated/message-sign-response.json +22 -0
  87. package/v2/schemas/generated/transaction-sign-request-aeternity.json +32 -0
  88. package/v2/schemas/generated/transaction-sign-request-bitcoin-segwit.json +0 -0
  89. package/v2/schemas/generated/transaction-sign-request-bitcoin.json +73 -0
  90. package/v2/schemas/generated/transaction-sign-request-cosmos.json +100 -0
  91. package/v2/schemas/generated/transaction-sign-request-ethereum.json +50 -0
  92. package/v2/schemas/generated/transaction-sign-request-substrate.json +29 -0
  93. package/v2/schemas/generated/transaction-sign-request-tezos-sapling.json +127 -0
  94. package/v2/schemas/generated/transaction-sign-request-tezos.json +29 -0
  95. package/v2/schemas/generated/transaction-sign-response-aeternity.json +19 -0
  96. package/v2/schemas/generated/transaction-sign-response-bitcoin-segwit.json +0 -0
  97. package/v2/schemas/generated/transaction-sign-response-bitcoin.json +37 -0
  98. package/v2/schemas/generated/transaction-sign-response-cosmos.json +22 -0
  99. package/v2/schemas/generated/transaction-sign-response-ethereum.json +19 -0
  100. package/v2/schemas/generated/transaction-sign-response-substrate.json +19 -0
  101. package/v2/schemas/generated/transaction-sign-response-tezos-sapling.json +19 -0
  102. package/v2/schemas/generated/transaction-sign-response-tezos.json +19 -0
  103. package/v2/schemas/schema.d.ts +30 -0
  104. package/v2/schemas/schema.js +15 -0
  105. package/v2/schemas/schema.js.map +1 -0
  106. package/v2/serializer.d.ts +17 -0
  107. package/v2/serializer.js +224 -0
  108. package/v2/serializer.js.map +1 -0
  109. package/v2/unsigned-transactions/aeternity-transactions.validator.d.ts +6 -0
  110. package/v2/unsigned-transactions/aeternity-transactions.validator.js +101 -0
  111. package/v2/unsigned-transactions/aeternity-transactions.validator.js.map +1 -0
  112. package/v2/unsigned-transactions/bitcoin-transactions.validator.d.ts +6 -0
  113. package/v2/unsigned-transactions/bitcoin-transactions.validator.js +71 -0
  114. package/v2/unsigned-transactions/bitcoin-transactions.validator.js.map +1 -0
  115. package/v2/unsigned-transactions/cosmos-transactions.validator.d.ts +6 -0
  116. package/v2/unsigned-transactions/cosmos-transactions.validator.js +100 -0
  117. package/v2/unsigned-transactions/cosmos-transactions.validator.js.map +1 -0
  118. package/v2/unsigned-transactions/ethereum-transactions.validator.d.ts +6 -0
  119. package/v2/unsigned-transactions/ethereum-transactions.validator.js +86 -0
  120. package/v2/unsigned-transactions/ethereum-transactions.validator.js.map +1 -0
  121. package/v2/unsigned-transactions/substrate-transactions.validator.d.ts +6 -0
  122. package/v2/unsigned-transactions/substrate-transactions.validator.js +100 -0
  123. package/v2/unsigned-transactions/substrate-transactions.validator.js.map +1 -0
  124. package/v2/unsigned-transactions/tezos-transactions.validator.d.ts +6 -0
  125. package/v2/unsigned-transactions/tezos-transactions.validator.js +97 -0
  126. package/v2/unsigned-transactions/tezos-transactions.validator.js.map +1 -0
  127. package/v2/unsigned-transactions/xtz-btc-transactions.validator.d.ts +9 -0
  128. package/v2/unsigned-transactions/xtz-btc-transactions.validator.js +162 -0
  129. package/v2/unsigned-transactions/xtz-btc-transactions.validator.js.map +1 -0
  130. package/v2/utils/generateId.d.ts +1 -0
  131. package/v2/utils/generateId.js +15 -0
  132. package/v2/utils/generateId.js.map +1 -0
  133. package/v2/utils/json-to-rlp.d.ts +8 -0
  134. package/v2/utils/json-to-rlp.js +177 -0
  135. package/v2/utils/json-to-rlp.js.map +1 -0
  136. package/v2/utils/toBuffer.d.ts +4 -0
  137. package/v2/utils/toBuffer.js +27 -0
  138. package/v2/utils/toBuffer.js.map +1 -0
  139. package/v2/validators/transactions.validator.d.ts +5 -0
  140. package/v2/validators/transactions.validator.js +10 -0
  141. package/v2/validators/transactions.validator.js.map +1 -0
  142. package/v2/validators/validators.d.ts +1 -0
  143. package/v2/validators/validators.js +557 -0
  144. package/v2/validators/validators.js.map +1 -0
  145. package/v3/iac-message-wrapper.d.ts +14 -0
  146. package/v3/iac-message-wrapper.js +65 -0
  147. package/v3/iac-message-wrapper.js.map +1 -0
  148. package/v3/interfaces.d.ts +8 -0
  149. package/v3/interfaces.js +31 -0
  150. package/v3/interfaces.js.map +1 -0
  151. package/v3/message.d.ts +45 -0
  152. package/v3/message.js +114 -0
  153. package/v3/message.js.map +1 -0
  154. package/v3/payload.d.ts +9 -0
  155. package/v3/payload.js +25 -0
  156. package/v3/payload.js.map +1 -0
  157. package/v3/schemas/definitions/account-share-request.d.ts +4 -0
  158. package/v3/schemas/definitions/account-share-request.js +3 -0
  159. package/v3/schemas/definitions/account-share-request.js.map +1 -0
  160. package/v3/schemas/definitions/account-share-response.d.ts +9 -0
  161. package/v3/schemas/definitions/account-share-response.js +3 -0
  162. package/v3/schemas/definitions/account-share-response.js.map +1 -0
  163. package/v3/schemas/definitions/config-set-request.d.ts +7 -0
  164. package/v3/schemas/definitions/config-set-request.js +3 -0
  165. package/v3/schemas/definitions/config-set-request.js.map +1 -0
  166. package/v3/schemas/definitions/config-set-response.d.ts +4 -0
  167. package/v3/schemas/definitions/config-set-response.js +3 -0
  168. package/v3/schemas/definitions/config-set-response.js.map +1 -0
  169. package/v3/schemas/definitions/hex-string.d.ts +1 -0
  170. package/v3/schemas/definitions/hex-string.js +3 -0
  171. package/v3/schemas/definitions/hex-string.js.map +1 -0
  172. package/v3/schemas/definitions/item-retrieve-request.d.ts +5 -0
  173. package/v3/schemas/definitions/item-retrieve-request.js +3 -0
  174. package/v3/schemas/definitions/item-retrieve-request.js.map +1 -0
  175. package/v3/schemas/definitions/item-retrieve-response.d.ts +3 -0
  176. package/v3/schemas/definitions/item-retrieve-response.js +3 -0
  177. package/v3/schemas/definitions/item-retrieve-response.js.map +1 -0
  178. package/v3/schemas/definitions/item-store-request.d.ts +5 -0
  179. package/v3/schemas/definitions/item-store-request.js +3 -0
  180. package/v3/schemas/definitions/item-store-request.js.map +1 -0
  181. package/v3/schemas/definitions/item-store-response.d.ts +3 -0
  182. package/v3/schemas/definitions/item-store-response.js +3 -0
  183. package/v3/schemas/definitions/item-store-response.js.map +1 -0
  184. package/v3/schemas/definitions/message-encrypt-request.d.ts +8 -0
  185. package/v3/schemas/definitions/message-encrypt-request.js +3 -0
  186. package/v3/schemas/definitions/message-encrypt-request.js.map +1 -0
  187. package/v3/schemas/definitions/message-encrypt-response.d.ts +4 -0
  188. package/v3/schemas/definitions/message-encrypt-response.js +3 -0
  189. package/v3/schemas/definitions/message-encrypt-response.js.map +1 -0
  190. package/v3/schemas/definitions/message-sign-request.d.ts +5 -0
  191. package/v3/schemas/definitions/message-sign-request.js +3 -0
  192. package/v3/schemas/definitions/message-sign-request.js.map +1 -0
  193. package/v3/schemas/definitions/message-sign-response.d.ts +5 -0
  194. package/v3/schemas/definitions/message-sign-response.js +3 -0
  195. package/v3/schemas/definitions/message-sign-response.js.map +1 -0
  196. package/v3/schemas/definitions/message-verify-request.d.ts +6 -0
  197. package/v3/schemas/definitions/message-verify-request.js +3 -0
  198. package/v3/schemas/definitions/message-verify-request.js.map +1 -0
  199. package/v3/schemas/definitions/message-verify-response.d.ts +6 -0
  200. package/v3/schemas/definitions/message-verify-response.js +3 -0
  201. package/v3/schemas/definitions/message-verify-response.js.map +1 -0
  202. package/v3/schemas/definitions/multisig-request.d.ts +7 -0
  203. package/v3/schemas/definitions/multisig-request.js +3 -0
  204. package/v3/schemas/definitions/multisig-request.js.map +1 -0
  205. package/v3/schemas/definitions/multisig-response.d.ts +5 -0
  206. package/v3/schemas/definitions/multisig-response.js +3 -0
  207. package/v3/schemas/definitions/multisig-response.js.map +1 -0
  208. package/v3/schemas/definitions/pair-request.d.ts +7 -0
  209. package/v3/schemas/definitions/pair-request.js +3 -0
  210. package/v3/schemas/definitions/pair-request.js.map +1 -0
  211. package/v3/schemas/definitions/pair-response.d.ts +6 -0
  212. package/v3/schemas/definitions/pair-response.js +3 -0
  213. package/v3/schemas/definitions/pair-response.js.map +1 -0
  214. package/v3/schemas/generated/account-share-request.json +22 -0
  215. package/v3/schemas/generated/account-share-response.json +34 -0
  216. package/v3/schemas/generated/message-sign-request.json +22 -0
  217. package/v3/schemas/generated/message-sign-response.json +22 -0
  218. package/v3/schemas/generated/transaction-sign-request-aeternity.json +32 -0
  219. package/v3/schemas/generated/transaction-sign-request-bitcoin-segwit.json +32 -0
  220. package/v3/schemas/generated/transaction-sign-request-bitcoin.json +73 -0
  221. package/v3/schemas/generated/transaction-sign-request-cosmos.json +100 -0
  222. package/v3/schemas/generated/transaction-sign-request-ethereum-typed.json +35 -0
  223. package/v3/schemas/generated/transaction-sign-request-ethereum.json +47 -0
  224. package/v3/schemas/generated/transaction-sign-request-substrate.json +29 -0
  225. package/v3/schemas/generated/transaction-sign-request-tezos-sapling.json +133 -0
  226. package/v3/schemas/generated/transaction-sign-request-tezos.json +29 -0
  227. package/v3/schemas/generated/transaction-sign-response-aeternity.json +19 -0
  228. package/v3/schemas/generated/transaction-sign-response-bitcoin-segwit.json +19 -0
  229. package/v3/schemas/generated/transaction-sign-response-bitcoin.json +37 -0
  230. package/v3/schemas/generated/transaction-sign-response-cosmos.json +23 -0
  231. package/v3/schemas/generated/transaction-sign-response-ethereum.json +19 -0
  232. package/v3/schemas/generated/transaction-sign-response-substrate.json +19 -0
  233. package/v3/schemas/generated/transaction-sign-response-tezos-sapling.json +19 -0
  234. package/v3/schemas/generated/transaction-sign-response-tezos.json +19 -0
  235. package/v3/schemas/schema.d.ts +29 -0
  236. package/v3/schemas/schema.js +14 -0
  237. package/v3/schemas/schema.js.map +1 -0
  238. package/v3/serializer.d.ts +13 -0
  239. package/v3/serializer.js +234 -0
  240. package/v3/serializer.js.map +1 -0
  241. package/v3/unsigned-transactions/aeternity-transactions.validator.d.ts +6 -0
  242. package/v3/unsigned-transactions/aeternity-transactions.validator.js +101 -0
  243. package/v3/unsigned-transactions/aeternity-transactions.validator.js.map +1 -0
  244. package/v3/unsigned-transactions/bitcoin-transactions.validator.d.ts +6 -0
  245. package/v3/unsigned-transactions/bitcoin-transactions.validator.js +71 -0
  246. package/v3/unsigned-transactions/bitcoin-transactions.validator.js.map +1 -0
  247. package/v3/unsigned-transactions/cosmos-transactions.validator.d.ts +6 -0
  248. package/v3/unsigned-transactions/cosmos-transactions.validator.js +100 -0
  249. package/v3/unsigned-transactions/cosmos-transactions.validator.js.map +1 -0
  250. package/v3/unsigned-transactions/ethereum-transactions.validator.d.ts +6 -0
  251. package/v3/unsigned-transactions/ethereum-transactions.validator.js +86 -0
  252. package/v3/unsigned-transactions/ethereum-transactions.validator.js.map +1 -0
  253. package/v3/unsigned-transactions/substrate-transactions.validator.d.ts +6 -0
  254. package/v3/unsigned-transactions/substrate-transactions.validator.js +100 -0
  255. package/v3/unsigned-transactions/substrate-transactions.validator.js.map +1 -0
  256. package/v3/unsigned-transactions/tezos-transactions.validator.d.ts +6 -0
  257. package/v3/unsigned-transactions/tezos-transactions.validator.js +97 -0
  258. package/v3/unsigned-transactions/tezos-transactions.validator.js.map +1 -0
  259. package/v3/unsigned-transactions/xtz-btc-transactions.validator.d.ts +9 -0
  260. package/v3/unsigned-transactions/xtz-btc-transactions.validator.js +160 -0
  261. package/v3/unsigned-transactions/xtz-btc-transactions.validator.js.map +1 -0
  262. package/v3/utils/generateId.d.ts +2 -0
  263. package/v3/utils/generateId.js +17 -0
  264. package/v3/utils/generateId.js.map +1 -0
  265. package/v3/utils/json-to-rlp.d.ts +8 -0
  266. package/v3/utils/json-to-rlp.js +235 -0
  267. package/v3/utils/json-to-rlp.js.map +1 -0
  268. package/v3/utils/toBuffer.d.ts +2 -0
  269. package/v3/utils/toBuffer.js +22 -0
  270. package/v3/utils/toBuffer.js.map +1 -0
  271. package/v3/validators/transactions.validator.d.ts +5 -0
  272. package/v3/validators/transactions.validator.js +10 -0
  273. package/v3/validators/transactions.validator.js.map +1 -0
  274. package/v3/validators/validators.d.ts +1 -0
  275. package/v3/validators/validators.js +555 -0
  276. package/v3/validators/validators.js.map +1 -0
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.EthereumTransactionValidator = void 0;
17
+ var validate_1 = require("@airgap/coinlib-core/dependencies/src/validate.js-0.13.1/validate");
18
+ var transactions_validator_1 = require("../validators/transactions.validator");
19
+ var validators_1 = require("../validators/validators");
20
+ var unsignedTransactionConstraints = {
21
+ nonce: {
22
+ presence: { allowEmpty: false },
23
+ type: 'String',
24
+ isHexStringWithPrefix: true
25
+ },
26
+ gasPrice: {
27
+ presence: { allowEmpty: false },
28
+ type: 'String',
29
+ isHexStringWithPrefix: true
30
+ },
31
+ gasLimit: {
32
+ presence: { allowEmpty: false },
33
+ type: 'String',
34
+ isHexStringWithPrefix: true
35
+ },
36
+ to: {
37
+ presence: { allowEmpty: false },
38
+ type: 'String',
39
+ isHexStringWithPrefix: true,
40
+ format: {
41
+ pattern: '^0x[a-fA-F0-9]{40}$',
42
+ flags: 'i',
43
+ message: 'is not a valid ethereum address'
44
+ }
45
+ },
46
+ value: {
47
+ presence: { allowEmpty: false },
48
+ type: 'String',
49
+ isHexStringWithPrefix: true
50
+ },
51
+ chainId: {
52
+ presence: { allowEmpty: false },
53
+ numericality: { noStrings: true, onlyInteger: true, greaterThanOrEqualTo: 0 }
54
+ },
55
+ data: {
56
+ presence: { allowEmpty: false },
57
+ type: 'String',
58
+ isHexStringWithPrefix: true
59
+ }
60
+ };
61
+ var signedTransactionConstraints = {
62
+ transaction: {
63
+ presence: { allowEmpty: false },
64
+ type: 'String',
65
+ isValidEthereumTransactionString: true
66
+ }
67
+ };
68
+ var success = function () { return undefined; };
69
+ var error = function (errors) { return errors; };
70
+ var EthereumTransactionValidator = /** @class */ (function (_super) {
71
+ __extends(EthereumTransactionValidator, _super);
72
+ function EthereumTransactionValidator() {
73
+ return _super !== null && _super.apply(this, arguments) || this;
74
+ }
75
+ EthereumTransactionValidator.prototype.validateUnsignedTransaction = function (unsignedTx) {
76
+ var rawTx = unsignedTx.transaction;
77
+ validators_1.validateSyncScheme({});
78
+ return validate_1.async(rawTx, unsignedTransactionConstraints).then(success, error);
79
+ };
80
+ EthereumTransactionValidator.prototype.validateSignedTransaction = function (signedTx) {
81
+ return validate_1.async(signedTx, signedTransactionConstraints).then(success, error);
82
+ };
83
+ return EthereumTransactionValidator;
84
+ }(transactions_validator_1.TransactionValidator));
85
+ exports.EthereumTransactionValidator = EthereumTransactionValidator;
86
+ //# sourceMappingURL=ethereum-transactions.validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ethereum-transactions.validator.js","sourceRoot":"","sources":["../../../src/v2/unsigned-transactions/ethereum-transactions.validator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8FAAyF;AAGzF,+EAA2E;AAC3E,uDAA6D;AAE7D,IAAM,8BAA8B,GAAG;IACrC,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;QAC/B,IAAI,EAAE,QAAQ;QACd,qBAAqB,EAAE,IAAI;KAC5B;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;QAC/B,IAAI,EAAE,QAAQ;QACd,qBAAqB,EAAE,IAAI;KAC5B;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;QAC/B,IAAI,EAAE,QAAQ;QACd,qBAAqB,EAAE,IAAI;KAC5B;IACD,EAAE,EAAE;QACF,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;QAC/B,IAAI,EAAE,QAAQ;QACd,qBAAqB,EAAE,IAAI;QAC3B,MAAM,EAAE;YACN,OAAO,EAAE,qBAAqB;YAC9B,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,iCAAiC;SAC3C;KACF;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;QAC/B,IAAI,EAAE,QAAQ;QACd,qBAAqB,EAAE,IAAI;KAC5B;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;QAC/B,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,EAAE;KAC9E;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;QAC/B,IAAI,EAAE,QAAQ;QACd,qBAAqB,EAAE,IAAI;KAC5B;CACF,CAAA;AAED,IAAM,4BAA4B,GAAG;IACnC,WAAW,EAAE;QACX,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;QAC/B,IAAI,EAAE,QAAQ;QACd,gCAAgC,EAAE,IAAI;KACvC;CACF,CAAA;AACD,IAAM,OAAO,GAAG,cAAM,OAAA,SAAS,EAAT,CAAS,CAAA;AAC/B,IAAM,KAAK,GAAG,UAAC,MAAM,IAAK,OAAA,MAAM,EAAN,CAAM,CAAA;AAEhC;IAAkD,gDAAoB;IAAtE;;IAUA,CAAC;IATQ,kEAA2B,GAAlC,UAAmC,UAAuC;QACxE,IAAM,KAAK,GAA2B,UAAU,CAAC,WAAW,CAAA;QAC5D,+BAAkB,CAAC,EAAE,CAAC,CAAA;QAEtB,OAAO,gBAAK,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAC1E,CAAC;IACM,gEAAyB,GAAhC,UAAiC,QAAmC;QAClE,OAAO,gBAAK,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAC3E,CAAC;IACH,mCAAC;AAAD,CAAC,AAVD,CAAkD,6CAAoB,GAUrE;AAVY,oEAA4B"}
@@ -0,0 +1,6 @@
1
+ import { SignedSubstrateTransaction, UnsignedSubstrateTransaction } from '@airgap/substrate';
2
+ import { TransactionValidator } from '../validators/transactions.validator';
3
+ export declare class SubstrateTransactionValidator extends TransactionValidator {
4
+ validateUnsignedTransaction(unsignedTx: UnsignedSubstrateTransaction): Promise<any>;
5
+ validateSignedTransaction(signedTx: SignedSubstrateTransaction): Promise<any>;
6
+ }
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
16
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
17
+ return new (P || (P = Promise))(function (resolve, reject) {
18
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
19
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
20
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
21
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
22
+ });
23
+ };
24
+ var __generator = (this && this.__generator) || function (thisArg, body) {
25
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
26
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
27
+ function verb(n) { return function (v) { return step([n, v]); }; }
28
+ function step(op) {
29
+ if (f) throw new TypeError("Generator is already executing.");
30
+ while (_) try {
31
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
32
+ if (y = 0, t) op = [op[0] & 2, t.value];
33
+ switch (op[0]) {
34
+ case 0: case 1: t = op; break;
35
+ case 4: _.label++; return { value: op[1], done: false };
36
+ case 5: _.label++; y = op[1]; op = [0]; continue;
37
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
38
+ default:
39
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
40
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
41
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
42
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
43
+ if (t[2]) _.ops.pop();
44
+ _.trys.pop(); continue;
45
+ }
46
+ op = body.call(thisArg, _);
47
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
48
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
49
+ }
50
+ };
51
+ Object.defineProperty(exports, "__esModule", { value: true });
52
+ exports.SubstrateTransactionValidator = void 0;
53
+ var validate_1 = require("@airgap/coinlib-core/dependencies/src/validate.js-0.13.1/validate");
54
+ var transactions_validator_1 = require("../validators/transactions.validator");
55
+ var validators_1 = require("../validators/validators");
56
+ var unsignedTransactionConstraints = {
57
+ encoded: {
58
+ presence: { allowEmpty: false },
59
+ type: 'String'
60
+ }
61
+ };
62
+ var signedTransactionConstraints = {
63
+ transaction: {
64
+ isValidSubstrateTransaction: true,
65
+ presence: { allowEmpty: false },
66
+ type: 'String'
67
+ },
68
+ accountIdentifier: {
69
+ presence: { allowEmpty: false },
70
+ type: 'String'
71
+ }
72
+ };
73
+ var success = function () { return undefined; };
74
+ var error = function (errors) { return errors; };
75
+ var SubstrateTransactionValidator = /** @class */ (function (_super) {
76
+ __extends(SubstrateTransactionValidator, _super);
77
+ function SubstrateTransactionValidator() {
78
+ return _super !== null && _super.apply(this, arguments) || this;
79
+ }
80
+ SubstrateTransactionValidator.prototype.validateUnsignedTransaction = function (unsignedTx) {
81
+ return __awaiter(this, void 0, void 0, function () {
82
+ var rawTx;
83
+ return __generator(this, function (_a) {
84
+ rawTx = unsignedTx.transaction;
85
+ validators_1.validateSyncScheme({});
86
+ return [2 /*return*/, validate_1.async(rawTx, unsignedTransactionConstraints).then(success, error)];
87
+ });
88
+ });
89
+ };
90
+ SubstrateTransactionValidator.prototype.validateSignedTransaction = function (signedTx) {
91
+ return __awaiter(this, void 0, void 0, function () {
92
+ return __generator(this, function (_a) {
93
+ return [2 /*return*/, validate_1.async(signedTx, signedTransactionConstraints).then(success, error)];
94
+ });
95
+ });
96
+ };
97
+ return SubstrateTransactionValidator;
98
+ }(transactions_validator_1.TransactionValidator));
99
+ exports.SubstrateTransactionValidator = SubstrateTransactionValidator;
100
+ //# sourceMappingURL=substrate-transactions.validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"substrate-transactions.validator.js","sourceRoot":"","sources":["../../../src/v2/unsigned-transactions/substrate-transactions.validator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8FAAyF;AAGzF,+EAA2E;AAC3E,uDAA6D;AAE7D,IAAM,8BAA8B,GAAG;IACrC,OAAO,EAAE;QACP,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;QAC/B,IAAI,EAAE,QAAQ;KACf;CACF,CAAA;AAED,IAAM,4BAA4B,GAAG;IACnC,WAAW,EAAE;QACX,2BAA2B,EAAE,IAAI;QACjC,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;QAC/B,IAAI,EAAE,QAAQ;KACf;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;QAC/B,IAAI,EAAE,QAAQ;KACf;CACF,CAAA;AAED,IAAM,OAAO,GAAG,cAAM,OAAA,SAAS,EAAT,CAAS,CAAA;AAC/B,IAAM,KAAK,GAAG,UAAC,MAAM,IAAK,OAAA,MAAM,EAAN,CAAM,CAAA;AAEhC;IAAmD,iDAAoB;IAAvE;;IAWA,CAAC;IAVc,mEAA2B,GAAxC,UAAyC,UAAwC;;;;gBACzE,KAAK,GAA4B,UAAU,CAAC,WAAW,CAAA;gBAC7D,+BAAkB,CAAC,EAAE,CAAC,CAAA;gBAEtB,sBAAO,gBAAK,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAA;;;KACzE;IAEY,iEAAyB,GAAtC,UAAuC,QAAoC;;;gBACzE,sBAAO,gBAAK,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAA;;;KAC1E;IACH,oCAAC;AAAD,CAAC,AAXD,CAAmD,6CAAoB,GAWtE;AAXY,sEAA6B"}
@@ -0,0 +1,6 @@
1
+ import { SignedTezosTransaction, UnsignedTezosTransaction } from '@airgap/tezos';
2
+ import { TransactionValidator } from '../validators/transactions.validator';
3
+ export declare class TezosTransactionValidator extends TransactionValidator {
4
+ validateUnsignedTransaction(unsignedTx: UnsignedTezosTransaction): Promise<any>;
5
+ validateSignedTransaction(signedTx: SignedTezosTransaction): Promise<any>;
6
+ }
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
16
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
17
+ return new (P || (P = Promise))(function (resolve, reject) {
18
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
19
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
20
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
21
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
22
+ });
23
+ };
24
+ var __generator = (this && this.__generator) || function (thisArg, body) {
25
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
26
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
27
+ function verb(n) { return function (v) { return step([n, v]); }; }
28
+ function step(op) {
29
+ if (f) throw new TypeError("Generator is already executing.");
30
+ while (_) try {
31
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
32
+ if (y = 0, t) op = [op[0] & 2, t.value];
33
+ switch (op[0]) {
34
+ case 0: case 1: t = op; break;
35
+ case 4: _.label++; return { value: op[1], done: false };
36
+ case 5: _.label++; y = op[1]; op = [0]; continue;
37
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
38
+ default:
39
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
40
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
41
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
42
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
43
+ if (t[2]) _.ops.pop();
44
+ _.trys.pop(); continue;
45
+ }
46
+ op = body.call(thisArg, _);
47
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
48
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
49
+ }
50
+ };
51
+ Object.defineProperty(exports, "__esModule", { value: true });
52
+ exports.TezosTransactionValidator = void 0;
53
+ var validate_1 = require("@airgap/coinlib-core/dependencies/src/validate.js-0.13.1/validate");
54
+ var transactions_validator_1 = require("../validators/transactions.validator");
55
+ var validators_1 = require("../validators/validators");
56
+ var unsignedTransactionConstraints = {
57
+ binaryTransaction: {
58
+ isValidTezosUnsignedTransaction: true,
59
+ presence: { allowEmpty: false },
60
+ type: 'String'
61
+ }
62
+ };
63
+ var success = function () { return undefined; };
64
+ var error = function (errors) { return errors; };
65
+ var signedTransactionConstraints = {
66
+ transaction: {
67
+ isValidTezosSignedTransaction: true,
68
+ presence: { allowEmpty: false },
69
+ type: 'String'
70
+ },
71
+ accountIdentifier: {
72
+ presence: { allowEmpty: false },
73
+ type: 'String'
74
+ }
75
+ };
76
+ var TezosTransactionValidator = /** @class */ (function (_super) {
77
+ __extends(TezosTransactionValidator, _super);
78
+ function TezosTransactionValidator() {
79
+ return _super !== null && _super.apply(this, arguments) || this;
80
+ }
81
+ TezosTransactionValidator.prototype.validateUnsignedTransaction = function (unsignedTx) {
82
+ return __awaiter(this, void 0, void 0, function () {
83
+ var rawTx;
84
+ return __generator(this, function (_a) {
85
+ rawTx = unsignedTx.transaction;
86
+ validators_1.validateSyncScheme({});
87
+ return [2 /*return*/, validate_1.async(rawTx, unsignedTransactionConstraints).then(success, error)];
88
+ });
89
+ });
90
+ };
91
+ TezosTransactionValidator.prototype.validateSignedTransaction = function (signedTx) {
92
+ return validate_1.async(signedTx, signedTransactionConstraints).then(success, error);
93
+ };
94
+ return TezosTransactionValidator;
95
+ }(transactions_validator_1.TransactionValidator));
96
+ exports.TezosTransactionValidator = TezosTransactionValidator;
97
+ //# sourceMappingURL=tezos-transactions.validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tezos-transactions.validator.js","sourceRoot":"","sources":["../../../src/v2/unsigned-transactions/tezos-transactions.validator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8FAAyF;AAGzF,+EAA2E;AAC3E,uDAA6D;AAE7D,IAAM,8BAA8B,GAAG;IACrC,iBAAiB,EAAE;QACjB,+BAA+B,EAAE,IAAI;QACrC,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;QAC/B,IAAI,EAAE,QAAQ;KACf;CACF,CAAA;AACD,IAAM,OAAO,GAAG,cAAM,OAAA,SAAS,EAAT,CAAS,CAAA;AAC/B,IAAM,KAAK,GAAG,UAAC,MAAM,IAAK,OAAA,MAAM,EAAN,CAAM,CAAA;AAEhC,IAAM,4BAA4B,GAAG;IACnC,WAAW,EAAE;QACX,6BAA6B,EAAE,IAAI;QACnC,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;QAC/B,IAAI,EAAE,QAAQ;KACf;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;QAC/B,IAAI,EAAE,QAAQ;KACf;CACF,CAAA;AAED;IAA+C,6CAAoB;IAAnE;;IAUA,CAAC;IATc,+DAA2B,GAAxC,UAAyC,UAAoC;;;;gBACrE,KAAK,GAAwB,UAAU,CAAC,WAAW,CAAA;gBACzD,+BAAkB,CAAC,EAAE,CAAC,CAAA;gBAEtB,sBAAO,gBAAK,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAA;;;KACzE;IACM,6DAAyB,GAAhC,UAAiC,QAAgC;QAC/D,OAAO,gBAAK,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAC3E,CAAC;IACH,gCAAC;AAAD,CAAC,AAVD,CAA+C,6CAAoB,GAUlE;AAVY,8DAAyB"}
@@ -0,0 +1,9 @@
1
+ import { SignedTezosTransaction, UnsignedTezosTransaction } from '@airgap/tezos';
2
+ import { TransactionValidator } from '../validators/transactions.validator';
3
+ export declare class TezosBTCTransactionValidator extends TransactionValidator {
4
+ validateUnsignedTransaction(unsignedTx: UnsignedTezosTransaction): Promise<any>;
5
+ validateSignedTransaction(signedTx: SignedTezosTransaction): Promise<any>;
6
+ private assertDestination;
7
+ private assertParameters;
8
+ private assertNoHiddenXTZAmount;
9
+ }
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
16
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
17
+ return new (P || (P = Promise))(function (resolve, reject) {
18
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
19
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
20
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
21
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
22
+ });
23
+ };
24
+ var __generator = (this && this.__generator) || function (thisArg, body) {
25
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
26
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
27
+ function verb(n) { return function (v) { return step([n, v]); }; }
28
+ function step(op) {
29
+ if (f) throw new TypeError("Generator is already executing.");
30
+ while (_) try {
31
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
32
+ if (y = 0, t) op = [op[0] & 2, t.value];
33
+ switch (op[0]) {
34
+ case 0: case 1: t = op; break;
35
+ case 4: _.label++; return { value: op[1], done: false };
36
+ case 5: _.label++; y = op[1]; op = [0]; continue;
37
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
38
+ default:
39
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
40
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
41
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
42
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
43
+ if (t[2]) _.ops.pop();
44
+ _.trys.pop(); continue;
45
+ }
46
+ op = body.call(thisArg, _);
47
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
48
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
49
+ }
50
+ };
51
+ var __importDefault = (this && this.__importDefault) || function (mod) {
52
+ return (mod && mod.__esModule) ? mod : { "default": mod };
53
+ };
54
+ Object.defineProperty(exports, "__esModule", { value: true });
55
+ exports.TezosBTCTransactionValidator = void 0;
56
+ var bignumber_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber"));
57
+ var validate_1 = require("@airgap/coinlib-core/dependencies/src/validate.js-0.13.1/validate");
58
+ var errors_1 = require("@airgap/coinlib-core/errors");
59
+ var coinlib_error_1 = require("@airgap/coinlib-core/errors/coinlib-error");
60
+ var tezos_1 = require("@airgap/tezos");
61
+ var transactions_validator_1 = require("../validators/transactions.validator");
62
+ var validators_1 = require("../validators/validators");
63
+ var unsignedTransactionConstraints = {
64
+ binaryTransaction: {
65
+ isValidTezosUnsignedTransaction: true,
66
+ presence: { allowEmpty: false },
67
+ type: 'String'
68
+ }
69
+ };
70
+ var success = function () { return undefined; };
71
+ var error = function (errors) { return errors; };
72
+ var signedTransactionConstraints = {
73
+ transaction: {
74
+ isValidTezosSignedTransaction: true,
75
+ presence: { allowEmpty: false },
76
+ type: 'String'
77
+ },
78
+ accountIdentifier: {
79
+ presence: { allowEmpty: false },
80
+ type: 'String'
81
+ }
82
+ };
83
+ var TezosBTCTransactionValidator = /** @class */ (function (_super) {
84
+ __extends(TezosBTCTransactionValidator, _super);
85
+ function TezosBTCTransactionValidator() {
86
+ return _super !== null && _super.apply(this, arguments) || this;
87
+ }
88
+ TezosBTCTransactionValidator.prototype.validateUnsignedTransaction = function (unsignedTx) {
89
+ return __awaiter(this, void 0, void 0, function () {
90
+ var _this = this;
91
+ return __generator(this, function (_a) {
92
+ return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
93
+ var protocol, unforged, rawTx, errors;
94
+ var _this = this;
95
+ return __generator(this, function (_a) {
96
+ switch (_a.label) {
97
+ case 0:
98
+ protocol = new tezos_1.TezosBTC();
99
+ return [4 /*yield*/, protocol.unforgeUnsignedTezosWrappedOperation(unsignedTx.transaction.binaryTransaction)];
100
+ case 1:
101
+ unforged = _a.sent();
102
+ rawTx = unsignedTx.transaction;
103
+ validators_1.validateSyncScheme({});
104
+ unforged.contents.forEach(function (operation) { return __awaiter(_this, void 0, void 0, function () {
105
+ var spendTransaction, errors_2, error_1;
106
+ return __generator(this, function (_a) {
107
+ switch (_a.label) {
108
+ case 0:
109
+ spendTransaction = operation;
110
+ _a.label = 1;
111
+ case 1:
112
+ _a.trys.push([1, 3, , 4]);
113
+ this.assertDestination(protocol, spendTransaction);
114
+ this.assertParameters(spendTransaction);
115
+ this.assertNoHiddenXTZAmount(spendTransaction);
116
+ return [4 /*yield*/, validate_1.async(rawTx, unsignedTransactionConstraints).then(success, error)];
117
+ case 2:
118
+ errors_2 = _a.sent();
119
+ resolve(errors_2);
120
+ return [3 /*break*/, 4];
121
+ case 3:
122
+ error_1 = _a.sent();
123
+ reject(error_1);
124
+ return [3 /*break*/, 4];
125
+ case 4: return [2 /*return*/];
126
+ }
127
+ });
128
+ }); });
129
+ return [4 /*yield*/, validate_1.async(rawTx, unsignedTransactionConstraints).then(success, error)];
130
+ case 2:
131
+ errors = _a.sent();
132
+ resolve(errors);
133
+ return [2 /*return*/];
134
+ }
135
+ });
136
+ }); })];
137
+ });
138
+ });
139
+ };
140
+ TezosBTCTransactionValidator.prototype.validateSignedTransaction = function (signedTx) {
141
+ return validate_1.async(signedTx, signedTransactionConstraints).then(success, error);
142
+ };
143
+ TezosBTCTransactionValidator.prototype.assertDestination = function (protocol, transaction) {
144
+ if (transaction.destination !== protocol.options.config.contractAddress) {
145
+ throw new coinlib_error_1.CoinlibAssertionError(coinlib_error_1.Domain.TEZOS, 'assertDestination()', transaction.destination, protocol.options.config.contractAddress);
146
+ }
147
+ };
148
+ TezosBTCTransactionValidator.prototype.assertParameters = function (transaction) {
149
+ var _a;
150
+ if (((_a = transaction.parameters) === null || _a === void 0 ? void 0 : _a.entrypoint) === undefined) {
151
+ throw new errors_1.InvalidValueError(coinlib_error_1.Domain.TEZOS, 'a contract transaction for xtz-btc should have an entrypoint defined');
152
+ }
153
+ };
154
+ TezosBTCTransactionValidator.prototype.assertNoHiddenXTZAmount = function (transaction) {
155
+ if (!new bignumber_1.default(transaction.amount).eq(0)) {
156
+ throw new errors_1.InvalidValueError(coinlib_error_1.Domain.TEZOS, 'a contract call cannot have the specified amount other than 0');
157
+ }
158
+ };
159
+ return TezosBTCTransactionValidator;
160
+ }(transactions_validator_1.TransactionValidator));
161
+ exports.TezosBTCTransactionValidator = TezosBTCTransactionValidator;
162
+ //# sourceMappingURL=xtz-btc-transactions.validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xtz-btc-transactions.validator.js","sourceRoot":"","sources":["../../../src/v2/unsigned-transactions/xtz-btc-transactions.validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function generateIdV2(length: number): string;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateIdV2 = void 0;
4
+ // Not very random, but IDs don't have to be because they are only used locally
5
+ function generateIdV2(length) {
6
+ var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
7
+ var charactersLength = characters.length;
8
+ var result = '';
9
+ for (var i = 0; i < length; i++) {
10
+ result += characters.charAt(Math.floor(Math.random() * charactersLength));
11
+ }
12
+ return result;
13
+ }
14
+ exports.generateIdV2 = generateIdV2;
15
+ //# sourceMappingURL=generateId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateId.js","sourceRoot":"","sources":["../../../src/v2/utils/generateId.ts"],"names":[],"mappings":";;;AAAA,+EAA+E;AAC/E,SAAgB,YAAY,CAAC,MAAc;IACzC,IAAM,UAAU,GAAW,gEAAgE,CAAA;IAC3F,IAAM,gBAAgB,GAAW,UAAU,CAAC,MAAM,CAAA;IAClD,IAAI,MAAM,GAAW,EAAE,CAAA;IACvB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAA;KAC1E;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AATD,oCASC"}
@@ -0,0 +1,8 @@
1
+ import { SchemaItem, SchemaRoot } from '../schemas/schema';
2
+ import { RLPData } from './toBuffer';
3
+ export declare function getDefinitionByRefPath(schema: SchemaRoot, refPath: string): SchemaItem;
4
+ export declare function unwrapSchema(schema: SchemaRoot): SchemaItem;
5
+ export declare function jsonToArray(key: string, schema: SchemaItem, value: Object): RLPData;
6
+ export declare function rlpArrayToJson(schema: SchemaItem, decoded: RLPData): {
7
+ [key: string]: unknown;
8
+ };