@seal-protocol/backendjs 0.0.76 → 0.0.78

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 (198) hide show
  1. package/lib/abi-types/Erc20.d.ts +141 -0
  2. package/lib/abi-types/Erc20.js +2 -0
  3. package/lib/abi-types/Erc20Permit.d.ts +236 -0
  4. package/lib/abi-types/Erc20Permit.js +2 -0
  5. package/lib/abi-types/Permit2.d.ts +556 -0
  6. package/lib/abi-types/Permit2.js +2 -0
  7. package/lib/abi-types/common.d.ts +50 -0
  8. package/lib/abi-types/common.js +2 -0
  9. package/lib/abi-types/factories/Erc20Permit__factory.d.ts +402 -0
  10. package/lib/abi-types/factories/Erc20Permit__factory.js +537 -0
  11. package/lib/abi-types/factories/Erc20__factory.d.ts +174 -0
  12. package/lib/abi-types/factories/Erc20__factory.js +239 -0
  13. package/lib/abi-types/factories/Permit2__factory.d.ts +706 -0
  14. package/lib/abi-types/factories/Permit2__factory.js +918 -0
  15. package/lib/abi-types/factories/index.d.ts +3 -0
  16. package/lib/abi-types/factories/index.js +12 -0
  17. package/lib/abi-types/index.d.ts +7 -0
  18. package/lib/abi-types/index.js +43 -0
  19. package/lib/{api → codegen/api}/seal-client.d.ts +27 -34
  20. package/lib/{api → codegen/api}/seal-client.js +12 -20
  21. package/lib/codegen/index.d.ts +14 -0
  22. package/lib/codegen/index.js +32 -0
  23. package/lib/{model → codegen/model}/index.d.ts +1 -0
  24. package/lib/{model → codegen/model}/index.js +1 -0
  25. package/lib/codegen/model/seal-create-execution-message-request.d.ts +51 -0
  26. package/lib/index.d.ts +2 -14
  27. package/lib/index.js +2 -16
  28. package/lib/utils/calculate-liquidity.d.ts +25 -0
  29. package/lib/utils/calculate-liquidity.js +135 -0
  30. package/lib/utils/index.d.ts +1 -0
  31. package/lib/utils/index.js +6 -0
  32. package/package.json +8 -3
  33. package/lib/model/seal-create-order-intent-request.d.ts +0 -121
  34. package/lib/model/seal-create-order-intent-response.d.ts +0 -24
  35. package/lib/model/seal-create-order-intent-response.js +0 -15
  36. package/lib/model/seal-eip712-domain-config.d.ts +0 -42
  37. package/lib/model/seal-eip712-domain-config.js +0 -15
  38. package/lib/model/seal-get-permit-approvals-response.d.ts +0 -31
  39. package/lib/model/seal-get-permit-approvals-response.js +0 -15
  40. package/lib/model/seal-get-reservation-settlement-activities-response.d.ts +0 -31
  41. package/lib/model/seal-get-reservation-settlement-activities-response.js +0 -15
  42. package/lib/model/seal-order-activity-with-order.d.ts +0 -32
  43. package/lib/model/seal-order-activity-with-order.js +0 -15
  44. package/lib/model/seal-order-config.d.ts +0 -36
  45. package/lib/model/seal-order-config.js +0 -15
  46. package/lib/model/seal-order-intent.d.ts +0 -31
  47. package/lib/model/seal-order-intent.js +0 -15
  48. package/lib/model/seal-pagination.d.ts +0 -36
  49. package/lib/model/seal-pagination.js +0 -15
  50. package/lib/model/seal-signature-verification-config.d.ts +0 -25
  51. package/lib/model/seal-signature-verification-config.js +0 -15
  52. package/lib/model/seal-sync-state.d.ts +0 -55
  53. package/lib/model/seal-sync-state.js +0 -15
  54. package/lib/model/types-order-status.d.ts +0 -24
  55. package/lib/model/types-order-status.js +0 -30
  56. package/lib/model/types-transfer-permission-type.d.ts +0 -22
  57. package/lib/model/types-transfer-permission-type.js +0 -28
  58. /package/lib/{api.d.ts → codegen/api.d.ts} +0 -0
  59. /package/lib/{api.js → codegen/api.js} +0 -0
  60. /package/lib/{base.d.ts → codegen/base.d.ts} +0 -0
  61. /package/lib/{base.js → codegen/base.js} +0 -0
  62. /package/lib/{common.d.ts → codegen/common.d.ts} +0 -0
  63. /package/lib/{common.js → codegen/common.js} +0 -0
  64. /package/lib/{configuration.d.ts → codegen/configuration.d.ts} +0 -0
  65. /package/lib/{configuration.js → codegen/configuration.js} +0 -0
  66. /package/lib/{model → codegen/model}/protobuf-any.d.ts +0 -0
  67. /package/lib/{model → codegen/model}/protobuf-any.js +0 -0
  68. /package/lib/{model → codegen/model}/rpc-status.d.ts +0 -0
  69. /package/lib/{model → codegen/model}/rpc-status.js +0 -0
  70. /package/lib/{model → codegen/model}/seal-approval-type.d.ts +0 -0
  71. /package/lib/{model → codegen/model}/seal-approval-type.js +0 -0
  72. /package/lib/{model → codegen/model}/seal-calculate-required-permit-response.d.ts +0 -0
  73. /package/lib/{model → codegen/model}/seal-calculate-required-permit-response.js +0 -0
  74. /package/lib/{model → codegen/model}/seal-cancel-order-request.d.ts +0 -0
  75. /package/lib/{model → codegen/model}/seal-cancel-order-request.js +0 -0
  76. /package/lib/{model → codegen/model}/seal-chain-config.d.ts +0 -0
  77. /package/lib/{model → codegen/model}/seal-chain-config.js +0 -0
  78. /package/lib/{model → codegen/model}/seal-chain-health.d.ts +0 -0
  79. /package/lib/{model → codegen/model}/seal-chain-health.js +0 -0
  80. /package/lib/{model → codegen/model}/seal-chain-sync-state.d.ts +0 -0
  81. /package/lib/{model → codegen/model}/seal-chain-sync-state.js +0 -0
  82. /package/lib/{model → codegen/model}/seal-chain.d.ts +0 -0
  83. /package/lib/{model → codegen/model}/seal-chain.js +0 -0
  84. /package/lib/{model → codegen/model}/seal-chains-order-by-property.d.ts +0 -0
  85. /package/lib/{model → codegen/model}/seal-chains-order-by-property.js +0 -0
  86. /package/lib/{model → codegen/model}/seal-chains-order-by.d.ts +0 -0
  87. /package/lib/{model → codegen/model}/seal-chains-order-by.js +0 -0
  88. /package/lib/{model → codegen/model}/seal-config.d.ts +0 -0
  89. /package/lib/{model → codegen/model}/seal-config.js +0 -0
  90. /package/lib/{model → codegen/model}/seal-contract-config.d.ts +0 -0
  91. /package/lib/{model → codegen/model}/seal-contract-config.js +0 -0
  92. /package/lib/{model/seal-create-execution-message-response.js → codegen/model/seal-create-execution-message-request.js} +0 -0
  93. /package/lib/{model → codegen/model}/seal-create-execution-message-response.d.ts +0 -0
  94. /package/lib/{model/seal-create-order-intent-request.js → codegen/model/seal-create-execution-message-response.js} +0 -0
  95. /package/lib/{model → codegen/model}/seal-create-order-request.d.ts +0 -0
  96. /package/lib/{model → codegen/model}/seal-create-order-request.js +0 -0
  97. /package/lib/{model → codegen/model}/seal-create-order-response.d.ts +0 -0
  98. /package/lib/{model → codegen/model}/seal-create-order-response.js +0 -0
  99. /package/lib/{model → codegen/model}/seal-create-token-permit-approval-request.d.ts +0 -0
  100. /package/lib/{model → codegen/model}/seal-create-token-permit-approval-request.js +0 -0
  101. /package/lib/{model → codegen/model}/seal-database-config.d.ts +0 -0
  102. /package/lib/{model → codegen/model}/seal-database-config.js +0 -0
  103. /package/lib/{model → codegen/model}/seal-delete-token-permit-approval-request.d.ts +0 -0
  104. /package/lib/{model → codegen/model}/seal-delete-token-permit-approval-request.js +0 -0
  105. /package/lib/{model → codegen/model}/seal-domain-info.d.ts +0 -0
  106. /package/lib/{model → codegen/model}/seal-domain-info.js +0 -0
  107. /package/lib/{model → codegen/model}/seal-domain-separator-config.d.ts +0 -0
  108. /package/lib/{model → codegen/model}/seal-domain-separator-config.js +0 -0
  109. /package/lib/{model → codegen/model}/seal-get-chains-response.d.ts +0 -0
  110. /package/lib/{model → codegen/model}/seal-get-chains-response.js +0 -0
  111. /package/lib/{model → codegen/model}/seal-get-config-response.d.ts +0 -0
  112. /package/lib/{model → codegen/model}/seal-get-config-response.js +0 -0
  113. /package/lib/{model → codegen/model}/seal-get-health-check-response.d.ts +0 -0
  114. /package/lib/{model → codegen/model}/seal-get-health-check-response.js +0 -0
  115. /package/lib/{model → codegen/model}/seal-get-order-activities-response.d.ts +0 -0
  116. /package/lib/{model → codegen/model}/seal-get-order-activities-response.js +0 -0
  117. /package/lib/{model → codegen/model}/seal-get-order-nonce-response.d.ts +0 -0
  118. /package/lib/{model → codegen/model}/seal-get-order-nonce-response.js +0 -0
  119. /package/lib/{model → codegen/model}/seal-get-order-reservations-response.d.ts +0 -0
  120. /package/lib/{model → codegen/model}/seal-get-order-reservations-response.js +0 -0
  121. /package/lib/{model → codegen/model}/seal-get-orders-response.d.ts +0 -0
  122. /package/lib/{model → codegen/model}/seal-get-orders-response.js +0 -0
  123. /package/lib/{model → codegen/model}/seal-get-pair-price-response.d.ts +0 -0
  124. /package/lib/{model → codegen/model}/seal-get-pair-price-response.js +0 -0
  125. /package/lib/{model → codegen/model}/seal-get-pairs-response.d.ts +0 -0
  126. /package/lib/{model → codegen/model}/seal-get-pairs-response.js +0 -0
  127. /package/lib/{model → codegen/model}/seal-get-seal-contract-params-response.d.ts +0 -0
  128. /package/lib/{model → codegen/model}/seal-get-seal-contract-params-response.js +0 -0
  129. /package/lib/{model → codegen/model}/seal-get-sync-state-response.d.ts +0 -0
  130. /package/lib/{model → codegen/model}/seal-get-sync-state-response.js +0 -0
  131. /package/lib/{model → codegen/model}/seal-get-token-permit-approvals-response.d.ts +0 -0
  132. /package/lib/{model → codegen/model}/seal-get-token-permit-approvals-response.js +0 -0
  133. /package/lib/{model → codegen/model}/seal-get-tokens-response.d.ts +0 -0
  134. /package/lib/{model → codegen/model}/seal-get-tokens-response.js +0 -0
  135. /package/lib/{model → codegen/model}/seal-greenlight.d.ts +0 -0
  136. /package/lib/{model → codegen/model}/seal-greenlight.js +0 -0
  137. /package/lib/{model → codegen/model}/seal-issue-greenlight-response.d.ts +0 -0
  138. /package/lib/{model → codegen/model}/seal-issue-greenlight-response.js +0 -0
  139. /package/lib/{model → codegen/model}/seal-logger-config.d.ts +0 -0
  140. /package/lib/{model → codegen/model}/seal-logger-config.js +0 -0
  141. /package/lib/{model → codegen/model}/seal-order-activities-order-by-property.d.ts +0 -0
  142. /package/lib/{model → codegen/model}/seal-order-activities-order-by-property.js +0 -0
  143. /package/lib/{model → codegen/model}/seal-order-activities-order-by.d.ts +0 -0
  144. /package/lib/{model → codegen/model}/seal-order-activities-order-by.js +0 -0
  145. /package/lib/{model → codegen/model}/seal-order-activity.d.ts +0 -0
  146. /package/lib/{model → codegen/model}/seal-order-activity.js +0 -0
  147. /package/lib/{model → codegen/model}/seal-order-reservation.d.ts +0 -0
  148. /package/lib/{model → codegen/model}/seal-order-reservation.js +0 -0
  149. /package/lib/{model → codegen/model}/seal-order-reservations-order-by-property.d.ts +0 -0
  150. /package/lib/{model → codegen/model}/seal-order-reservations-order-by-property.js +0 -0
  151. /package/lib/{model → codegen/model}/seal-order-reservations-order-by.d.ts +0 -0
  152. /package/lib/{model → codegen/model}/seal-order-reservations-order-by.js +0 -0
  153. /package/lib/{model → codegen/model}/seal-order-settlement-request.d.ts +0 -0
  154. /package/lib/{model → codegen/model}/seal-order-settlement-request.js +0 -0
  155. /package/lib/{model → codegen/model}/seal-order.d.ts +0 -0
  156. /package/lib/{model → codegen/model}/seal-order.js +0 -0
  157. /package/lib/{model → codegen/model}/seal-orders-order-by-property.d.ts +0 -0
  158. /package/lib/{model → codegen/model}/seal-orders-order-by-property.js +0 -0
  159. /package/lib/{model → codegen/model}/seal-orders-order-by.d.ts +0 -0
  160. /package/lib/{model → codegen/model}/seal-orders-order-by.js +0 -0
  161. /package/lib/{model → codegen/model}/seal-pair.d.ts +0 -0
  162. /package/lib/{model → codegen/model}/seal-pair.js +0 -0
  163. /package/lib/{model → codegen/model}/seal-pairs-order-by-property.d.ts +0 -0
  164. /package/lib/{model → codegen/model}/seal-pairs-order-by-property.js +0 -0
  165. /package/lib/{model → codegen/model}/seal-pairs-order-by.d.ts +0 -0
  166. /package/lib/{model → codegen/model}/seal-pairs-order-by.js +0 -0
  167. /package/lib/{model → codegen/model}/seal-reservation-request.d.ts +0 -0
  168. /package/lib/{model → codegen/model}/seal-reservation-request.js +0 -0
  169. /package/lib/{model → codegen/model}/seal-reservation-settlement-request.d.ts +0 -0
  170. /package/lib/{model → codegen/model}/seal-reservation-settlement-request.js +0 -0
  171. /package/lib/{model → codegen/model}/seal-seal-contract-config.d.ts +0 -0
  172. /package/lib/{model → codegen/model}/seal-seal-contract-config.js +0 -0
  173. /package/lib/{model → codegen/model}/seal-seal-contract-params.d.ts +0 -0
  174. /package/lib/{model → codegen/model}/seal-seal-contract-params.js +0 -0
  175. /package/lib/{model → codegen/model}/seal-token-permit-approval.d.ts +0 -0
  176. /package/lib/{model → codegen/model}/seal-token-permit-approval.js +0 -0
  177. /package/lib/{model → codegen/model}/seal-token.d.ts +0 -0
  178. /package/lib/{model → codegen/model}/seal-token.js +0 -0
  179. /package/lib/{model → codegen/model}/seal-tokens-order-by-property.d.ts +0 -0
  180. /package/lib/{model → codegen/model}/seal-tokens-order-by-property.js +0 -0
  181. /package/lib/{model → codegen/model}/seal-tokens-order-by.d.ts +0 -0
  182. /package/lib/{model → codegen/model}/seal-tokens-order-by.js +0 -0
  183. /package/lib/{model → codegen/model}/seal-transfer-permission.d.ts +0 -0
  184. /package/lib/{model → codegen/model}/seal-transfer-permission.js +0 -0
  185. /package/lib/{model → codegen/model}/types-bool.d.ts +0 -0
  186. /package/lib/{model → codegen/model}/types-bool.js +0 -0
  187. /package/lib/{model → codegen/model}/types-order-activity-type.d.ts +0 -0
  188. /package/lib/{model → codegen/model}/types-order-activity-type.js +0 -0
  189. /package/lib/{model → codegen/model}/types-pagination.d.ts +0 -0
  190. /package/lib/{model → codegen/model}/types-pagination.js +0 -0
  191. /package/lib/{model → codegen/model}/types-timestamp.d.ts +0 -0
  192. /package/lib/{model → codegen/model}/types-timestamp.js +0 -0
  193. /package/lib/{model → codegen/model}/types-token-permit-approvals-order-by-property.d.ts +0 -0
  194. /package/lib/{model → codegen/model}/types-token-permit-approvals-order-by-property.js +0 -0
  195. /package/lib/{model → codegen/model}/types-token-permit-approvals-order-by.d.ts +0 -0
  196. /package/lib/{model → codegen/model}/types-token-permit-approvals-order-by.js +0 -0
  197. /package/lib/{model → codegen/model}/types-transfer-permit-type.d.ts +0 -0
  198. /package/lib/{model → codegen/model}/types-transfer-permit-type.js +0 -0
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LiquidityBreakdown = void 0;
4
+ exports.calculateLiquidity = calculateLiquidity;
5
+ const abi_types_1 = require("../abi-types");
6
+ const codegen_1 = require("../codegen");
7
+ class LiquidityBreakdown {
8
+ spendable;
9
+ balance;
10
+ onChainAllowance;
11
+ onChainPermit2;
12
+ offChainPermission;
13
+ constructor(spendable, balance, onChainAllowance, onChainPermit2, offChainPermission) {
14
+ this.spendable = spendable;
15
+ this.balance = balance;
16
+ this.onChainAllowance = onChainAllowance;
17
+ this.onChainPermit2 = onChainPermit2;
18
+ this.offChainPermission = offChainPermission;
19
+ }
20
+ // if spendAmount was not provided, will use this.spendable, which is max spendable amount
21
+ getTransferPermissionForSpend(spendAmount) {
22
+ if (!spendAmount) {
23
+ spendAmount = this.spendable;
24
+ }
25
+ else if (spendAmount > this.spendable) {
26
+ return null;
27
+ }
28
+ // If we have enough on-chain allowance (ERC20 approve to spender), we can transfer without off-chain perms
29
+ if (spendAmount <= this.onChainAllowance) {
30
+ return { type: codegen_1.TypesTransferPermitType.TransferPermitTypeEip2612, submitPermit: false };
31
+ }
32
+ // If we have enough on-chain Permit2 allowance
33
+ if (spendAmount <= this.onChainPermit2) {
34
+ return { type: codegen_1.TypesTransferPermitType.TransferPermitTypePermit2, submitPermit: false };
35
+ }
36
+ const p = this.offChainPermission;
37
+ if (p) {
38
+ if (p.Eip2612PermitAmount && spendAmount <= p.Eip2612PermitAmount) {
39
+ return { type: codegen_1.TypesTransferPermitType.TransferPermitTypeEip2612, submitPermit: true };
40
+ }
41
+ if (p.Permit2 && spendAmount <= p.Permit2) {
42
+ return { type: codegen_1.TypesTransferPermitType.TransferPermitTypePermit2, submitPermit: true };
43
+ }
44
+ }
45
+ return null; // insufficient permitted balance
46
+ }
47
+ }
48
+ exports.LiquidityBreakdown = LiquidityBreakdown;
49
+ function nowSeconds() {
50
+ return BigInt(Math.floor(Date.now() / 1000));
51
+ }
52
+ function isCloseToExpiry(expirySec, minDurationMs) {
53
+ // Compare seconds with seconds: convert minDurationMs to seconds
54
+ const minDurSec = BigInt(Math.floor(minDurationMs / 1000));
55
+ const remaining = expirySec - nowSeconds();
56
+ return remaining <= minDurSec;
57
+ }
58
+ function maxBigInt(a, b) {
59
+ return a >= b ? a : b;
60
+ }
61
+ function minBigInt(a, b) {
62
+ return a <= b ? a : b;
63
+ }
64
+ function effectiveOffchainAmount(p) {
65
+ if (!p)
66
+ return 0n;
67
+ if (p.Eip2612PermitAmount)
68
+ return p.Eip2612PermitAmount;
69
+ if (p.Permit2)
70
+ return p.Permit2;
71
+ return 0n;
72
+ }
73
+ async function calculateLiquidity(params) {
74
+ const { provider, owner, token, spender, permit2, minPermissionDurationMs } = params;
75
+ let backendPermission = params.permission ? { ...params.permission } : null;
76
+ // Contracts
77
+ const erc20Contract = abi_types_1.Erc20__factory.connect(token, provider);
78
+ const permit2Contract = abi_types_1.Permit2__factory.connect(permit2, provider);
79
+ // 1) On-chain balance
80
+ const balance = await erc20Contract.balanceOf(owner);
81
+ // 2) On-chain ERC20 allowance to spender
82
+ const onChainAllowance = await erc20Contract.allowance(owner, spender);
83
+ let maxAllowed = onChainAllowance;
84
+ // 3) ERC20 allowance to Permit2 contract (if zero, Permit2 approvals are not usable)
85
+ const onChainPermit2AllowanceToContract = await erc20Contract.allowance(owner, permit2);
86
+ // 4) On-chain Permit2 allowance amount (subject to expiry), only if token->Permit2 allowance > 0
87
+ let onChainPermit2 = 0n;
88
+ if (onChainPermit2AllowanceToContract > 0n) {
89
+ const result = await permit2Contract.allowance(owner, token, spender);
90
+ // tuple: [amount, expiration, nonce]
91
+ const amount = result[0];
92
+ const expiration = result[1];
93
+ if (expiration === 0n || isCloseToExpiry(expiration, minPermissionDurationMs)) {
94
+ onChainPermit2 = 0n;
95
+ }
96
+ else {
97
+ onChainPermit2 = amount;
98
+ }
99
+ }
100
+ maxAllowed = maxBigInt(maxAllowed, onChainPermit2);
101
+ let permission = {};
102
+ // 5) Validate optional off-chain permission against on-chain state and expiry windows
103
+ if (backendPermission) {
104
+ let amt = BigInt(backendPermission.allowance);
105
+ let sigDeadline = BigInt(backendPermission.sigDeadline?.seconds ?? 0n);
106
+ if (backendPermission.type == codegen_1.TypesTransferPermitType.TransferPermitTypePermit2) {
107
+ // Drop Permit2 part if:
108
+ // - its amount <= onChainPermit2, OR
109
+ // - ERC20 allowance to Permit2 contract is zero, OR
110
+ // - close to expiry (either approval expiration or sig deadline)
111
+ let exp = BigInt(backendPermission.allowanceExpiration?.seconds ?? 0n);
112
+ const drop = (amt <= onChainPermit2)
113
+ || (onChainPermit2AllowanceToContract === 0n)
114
+ || isCloseToExpiry(exp, minPermissionDurationMs)
115
+ || isCloseToExpiry(sigDeadline, minPermissionDurationMs);
116
+ if (!drop)
117
+ permission.Permit2 = amt;
118
+ }
119
+ else if (backendPermission.type == codegen_1.TypesTransferPermitType.TransferPermitTypeEip2612) {
120
+ // Drop EIP2612 part if value <= onChainAllowance OR close to expiry
121
+ const drop = (amt <= onChainAllowance)
122
+ || isCloseToExpiry(sigDeadline, minPermissionDurationMs);
123
+ if (!drop)
124
+ permission.Eip2612PermitAmount = amt;
125
+ }
126
+ if (!permission.Eip2612PermitAmount && !permission.Permit2) {
127
+ permission = null;
128
+ }
129
+ else {
130
+ maxAllowed = maxBigInt(maxAllowed, effectiveOffchainAmount(permission));
131
+ }
132
+ }
133
+ const spendable = minBigInt(maxAllowed, balance);
134
+ return new LiquidityBreakdown(spendable, balance, onChainAllowance, onChainPermit2, permission);
135
+ }
@@ -0,0 +1 @@
1
+ export { LiquidityBreakdown, TransferPermission, calculateLiquidity } from "./calculate-liquidity";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calculateLiquidity = exports.LiquidityBreakdown = void 0;
4
+ var calculate_liquidity_1 = require("./calculate-liquidity");
5
+ Object.defineProperty(exports, "LiquidityBreakdown", { enumerable: true, get: function () { return calculate_liquidity_1.LiquidityBreakdown; } });
6
+ Object.defineProperty(exports, "calculateLiquidity", { enumerable: true, get: function () { return calculate_liquidity_1.calculateLiquidity; } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seal-protocol/backendjs",
3
- "version": "0.0.76",
3
+ "version": "0.0.78",
4
4
  "description": "Javascript SDK for Seal Backend",
5
5
  "author": "amin <amin@refractedlabs.com>",
6
6
  "homepage": "https://github.com/seal-protocol/backend/tree/main/ts-client#readme",
@@ -22,16 +22,21 @@
22
22
  },
23
23
  "devDependencies": {
24
24
  "@openapitools/openapi-generator-cli": "^2.21.4",
25
+ "@typechain/ethers-v6": "^0.5.1",
25
26
  "@types/node": "^24.2.1",
27
+ "ethers": "^6.15.0",
26
28
  "execa": "^9.6.0",
27
29
  "ts-node": "^10.9.2",
30
+ "typechain": "^8.3.2",
28
31
  "typescript": "^5.9.2"
29
32
  },
30
33
  "dependencies": {
31
- "axios": "^1.11.0"
34
+ "axios": "^1.11.0",
35
+ "ethers": "^6.15.0"
32
36
  },
33
37
  "scripts": {
34
38
  "compile": "rm -rf lib && tsc",
35
- "codegen": "node scripts/codegen.js"
39
+ "codegen": "node scripts/codegen.js",
40
+ "gen:abi": "pnpm dlx typechain --target ethers-v6 --out-dir src/abi-types 'abis/*.json'"
36
41
  }
37
42
  }
@@ -1,121 +0,0 @@
1
- /**
2
- * seal/seal.proto
3
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
- *
5
- * The version of the OpenAPI document: version not set
6
- *
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- import type { SealTransferPermission } from './seal-transfer-permission';
13
- /**
14
- *
15
- * @export
16
- * @interface SealCreateOrderIntentRequest
17
- */
18
- export interface SealCreateOrderIntentRequest {
19
- /**
20
- *
21
- * @type {string}
22
- * @memberof SealCreateOrderIntentRequest
23
- */
24
- 'owner': string;
25
- /**
26
- *
27
- * @type {string}
28
- * @memberof SealCreateOrderIntentRequest
29
- */
30
- 'chainId': string;
31
- /**
32
- *
33
- * @type {string}
34
- * @memberof SealCreateOrderIntentRequest
35
- */
36
- 'tokenIn': string;
37
- /**
38
- *
39
- * @type {string}
40
- * @memberof SealCreateOrderIntentRequest
41
- */
42
- 'amountIn': string;
43
- /**
44
- *
45
- * @type {string}
46
- * @memberof SealCreateOrderIntentRequest
47
- */
48
- 'tokenOut': string;
49
- /**
50
- *
51
- * @type {string}
52
- * @memberof SealCreateOrderIntentRequest
53
- */
54
- 'price': string;
55
- /**
56
- *
57
- * @type {string}
58
- * @memberof SealCreateOrderIntentRequest
59
- */
60
- 'depositAmount': string;
61
- /**
62
- *
63
- * @type {string}
64
- * @memberof SealCreateOrderIntentRequest
65
- */
66
- 'depositToken': string;
67
- /**
68
- *
69
- * @type {number}
70
- * @memberof SealCreateOrderIntentRequest
71
- */
72
- 'reservationPeriodSeconds': number;
73
- /**
74
- *
75
- * @type {string}
76
- * @memberof SealCreateOrderIntentRequest
77
- */
78
- 'minFillRatio': string;
79
- /**
80
- *
81
- * @type {string}
82
- * @memberof SealCreateOrderIntentRequest
83
- */
84
- 'minReservationDepositAmount': string;
85
- /**
86
- *
87
- * @type {string}
88
- * @memberof SealCreateOrderIntentRequest
89
- */
90
- 'nonce': string;
91
- /**
92
- *
93
- * @type {number}
94
- * @memberof SealCreateOrderIntentRequest
95
- */
96
- 'deadline': number;
97
- /**
98
- *
99
- * @type {string}
100
- * @memberof SealCreateOrderIntentRequest
101
- */
102
- 'signature': string;
103
- /**
104
- *
105
- * @type {SealTransferPermission}
106
- * @memberof SealCreateOrderIntentRequest
107
- */
108
- 'transferPermission': SealTransferPermission;
109
- /**
110
- *
111
- * @type {boolean}
112
- * @memberof SealCreateOrderIntentRequest
113
- */
114
- 'reservationAllowed': boolean;
115
- /**
116
- *
117
- * @type {string}
118
- * @memberof SealCreateOrderIntentRequest
119
- */
120
- 'makerFee': string;
121
- }
@@ -1,24 +0,0 @@
1
- /**
2
- * seal/seal.proto
3
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
- *
5
- * The version of the OpenAPI document: version not set
6
- *
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- /**
13
- *
14
- * @export
15
- * @interface SealCreateOrderIntentResponse
16
- */
17
- export interface SealCreateOrderIntentResponse {
18
- /**
19
- *
20
- * @type {string}
21
- * @memberof SealCreateOrderIntentResponse
22
- */
23
- 'id'?: string;
24
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- /* tslint:disable */
3
- /* eslint-disable */
4
- /**
5
- * seal/seal.proto
6
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
- *
8
- * The version of the OpenAPI document: version not set
9
- *
10
- *
11
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
- * https://openapi-generator.tech
13
- * Do not edit the class manually.
14
- */
15
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,42 +0,0 @@
1
- /**
2
- * seal/seal.proto
3
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
- *
5
- * The version of the OpenAPI document: version not set
6
- *
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- /**
13
- *
14
- * @export
15
- * @interface SealEIP712DomainConfig
16
- */
17
- export interface SealEIP712DomainConfig {
18
- /**
19
- *
20
- * @type {string}
21
- * @memberof SealEIP712DomainConfig
22
- */
23
- 'name'?: string;
24
- /**
25
- *
26
- * @type {string}
27
- * @memberof SealEIP712DomainConfig
28
- */
29
- 'version'?: string;
30
- /**
31
- *
32
- * @type {string}
33
- * @memberof SealEIP712DomainConfig
34
- */
35
- 'chainId'?: string;
36
- /**
37
- *
38
- * @type {string}
39
- * @memberof SealEIP712DomainConfig
40
- */
41
- 'verifyingContract'?: string;
42
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- /* tslint:disable */
3
- /* eslint-disable */
4
- /**
5
- * seal/seal.proto
6
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
- *
8
- * The version of the OpenAPI document: version not set
9
- *
10
- *
11
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
- * https://openapi-generator.tech
13
- * Do not edit the class manually.
14
- */
15
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,31 +0,0 @@
1
- /**
2
- * seal/seal.proto
3
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
- *
5
- * The version of the OpenAPI document: version not set
6
- *
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- import type { SealTokenPermitApproval } from './seal-token-permit-approval';
13
- /**
14
- *
15
- * @export
16
- * @interface SealGetPermitApprovalsResponse
17
- */
18
- export interface SealGetPermitApprovalsResponse {
19
- /**
20
- *
21
- * @type {Array<SealTokenPermitApproval>}
22
- * @memberof SealGetPermitApprovalsResponse
23
- */
24
- 'permits'?: Array<SealTokenPermitApproval>;
25
- /**
26
- *
27
- * @type {string}
28
- * @memberof SealGetPermitApprovalsResponse
29
- */
30
- 'paginationNextKey'?: string;
31
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- /* tslint:disable */
3
- /* eslint-disable */
4
- /**
5
- * seal/seal.proto
6
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
- *
8
- * The version of the OpenAPI document: version not set
9
- *
10
- *
11
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
- * https://openapi-generator.tech
13
- * Do not edit the class manually.
14
- */
15
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,31 +0,0 @@
1
- /**
2
- * seal/seal.proto
3
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
- *
5
- * The version of the OpenAPI document: version not set
6
- *
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- import type { SealOrderActivity } from './seal-order-activity';
13
- /**
14
- *
15
- * @export
16
- * @interface SealGetReservationSettlementActivitiesResponse
17
- */
18
- export interface SealGetReservationSettlementActivitiesResponse {
19
- /**
20
- *
21
- * @type {Array<SealOrderActivity>}
22
- * @memberof SealGetReservationSettlementActivitiesResponse
23
- */
24
- 'activities': Array<SealOrderActivity>;
25
- /**
26
- *
27
- * @type {string}
28
- * @memberof SealGetReservationSettlementActivitiesResponse
29
- */
30
- 'paginationNextKey'?: string;
31
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- /* tslint:disable */
3
- /* eslint-disable */
4
- /**
5
- * seal/seal.proto
6
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
- *
8
- * The version of the OpenAPI document: version not set
9
- *
10
- *
11
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
- * https://openapi-generator.tech
13
- * Do not edit the class manually.
14
- */
15
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,32 +0,0 @@
1
- /**
2
- * seal/seal.proto
3
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
- *
5
- * The version of the OpenAPI document: version not set
6
- *
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- import type { SealOrder } from './seal-order';
13
- import type { SealOrderActivity } from './seal-order-activity';
14
- /**
15
- *
16
- * @export
17
- * @interface SealOrderActivityWithOrder
18
- */
19
- export interface SealOrderActivityWithOrder {
20
- /**
21
- *
22
- * @type {SealOrderActivity}
23
- * @memberof SealOrderActivityWithOrder
24
- */
25
- 'activity': SealOrderActivity;
26
- /**
27
- *
28
- * @type {SealOrder}
29
- * @memberof SealOrderActivityWithOrder
30
- */
31
- 'order': SealOrder;
32
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- /* tslint:disable */
3
- /* eslint-disable */
4
- /**
5
- * seal/seal.proto
6
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
- *
8
- * The version of the OpenAPI document: version not set
9
- *
10
- *
11
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
- * https://openapi-generator.tech
13
- * Do not edit the class manually.
14
- */
15
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,36 +0,0 @@
1
- /**
2
- * seal/seal.proto
3
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
- *
5
- * The version of the OpenAPI document: version not set
6
- *
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- /**
13
- *
14
- * @export
15
- * @interface SealOrderConfig
16
- */
17
- export interface SealOrderConfig {
18
- /**
19
- *
20
- * @type {string}
21
- * @memberof SealOrderConfig
22
- */
23
- 'minReservationDepositAllowed'?: string;
24
- /**
25
- *
26
- * @type {string}
27
- * @memberof SealOrderConfig
28
- */
29
- 'maxReservationDepositAllowed'?: string;
30
- /**
31
- *
32
- * @type {string}
33
- * @memberof SealOrderConfig
34
- */
35
- 'reservationDepositDenom'?: string;
36
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- /* tslint:disable */
3
- /* eslint-disable */
4
- /**
5
- * seal/seal.proto
6
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
- *
8
- * The version of the OpenAPI document: version not set
9
- *
10
- *
11
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
- * https://openapi-generator.tech
13
- * Do not edit the class manually.
14
- */
15
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,31 +0,0 @@
1
- /**
2
- * seal/seal.proto
3
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
- *
5
- * The version of the OpenAPI document: version not set
6
- *
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- import type { SealTransferPermission } from './seal-transfer-permission';
13
- /**
14
- *
15
- * @export
16
- * @interface SealOrderIntent
17
- */
18
- export interface SealOrderIntent {
19
- /**
20
- *
21
- * @type {string}
22
- * @memberof SealOrderIntent
23
- */
24
- 'signature'?: string;
25
- /**
26
- *
27
- * @type {SealTransferPermission}
28
- * @memberof SealOrderIntent
29
- */
30
- 'transferPermission'?: SealTransferPermission;
31
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- /* tslint:disable */
3
- /* eslint-disable */
4
- /**
5
- * seal/seal.proto
6
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
- *
8
- * The version of the OpenAPI document: version not set
9
- *
10
- *
11
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
- * https://openapi-generator.tech
13
- * Do not edit the class manually.
14
- */
15
- Object.defineProperty(exports, "__esModule", { value: true });