@gobob/bob-sdk 4.4.11-rc0 → 4.4.11-rc10

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 (178) hide show
  1. package/README.md +5 -2
  2. package/dist/gateway/abi.d.ts +0 -72
  3. package/dist/gateway/abi.js +1 -94
  4. package/dist/gateway/abi.js.map +1 -1
  5. package/dist/gateway/adapters/okx-wallet.d.ts +3 -3
  6. package/dist/gateway/adapters/okx-wallet.js +1 -1
  7. package/dist/gateway/adapters/okx-wallet.js.map +1 -1
  8. package/dist/gateway/adapters/reown.d.ts +1 -1
  9. package/dist/gateway/adapters/reown.js +3 -3
  10. package/dist/gateway/adapters/reown.js.map +1 -1
  11. package/dist/gateway/client.d.ts +11 -21
  12. package/dist/gateway/client.js +61 -92
  13. package/dist/gateway/client.js.map +1 -1
  14. package/dist/gateway/generated-client/apis/V1Api.d.ts +42 -0
  15. package/dist/gateway/generated-client/apis/{DefaultApi.js → V1Api.js} +45 -82
  16. package/dist/gateway/generated-client/apis/V1Api.js.map +1 -0
  17. package/dist/gateway/generated-client/apis/index.d.ts +1 -1
  18. package/dist/gateway/generated-client/apis/index.js +1 -1
  19. package/dist/gateway/generated-client/apis/index.js.map +1 -1
  20. package/dist/gateway/generated-client/models/ChainTxInfo.d.ts +10 -0
  21. package/dist/gateway/generated-client/models/ChainTxInfo.js +41 -0
  22. package/dist/gateway/generated-client/models/ChainTxInfo.js.map +1 -0
  23. package/dist/gateway/generated-client/models/GatewayCreateOrder.d.ts +8 -0
  24. package/dist/gateway/generated-client/models/GatewayCreateOrder.js +52 -0
  25. package/dist/gateway/generated-client/models/GatewayCreateOrder.js.map +1 -0
  26. package/dist/gateway/generated-client/models/GatewayCreateOrderOneOf.d.ts +9 -0
  27. package/dist/gateway/generated-client/models/GatewayCreateOrderOneOf.js +36 -0
  28. package/dist/gateway/generated-client/models/GatewayCreateOrderOneOf.js.map +1 -0
  29. package/dist/gateway/generated-client/models/GatewayCreateOrderOneOf1.d.ts +9 -0
  30. package/dist/gateway/generated-client/models/GatewayCreateOrderOneOf1.js +36 -0
  31. package/dist/gateway/generated-client/models/GatewayCreateOrderOneOf1.js.map +1 -0
  32. package/dist/gateway/generated-client/models/GatewayCreateOrderOneOf1Offramp.d.ts +10 -0
  33. package/dist/gateway/generated-client/models/GatewayCreateOrderOneOf1Offramp.js +40 -0
  34. package/dist/gateway/generated-client/models/GatewayCreateOrderOneOf1Offramp.js.map +1 -0
  35. package/dist/gateway/generated-client/models/GatewayCreateOrderOneOf2.d.ts +9 -0
  36. package/dist/gateway/generated-client/models/GatewayCreateOrderOneOf2.js +36 -0
  37. package/dist/gateway/generated-client/models/GatewayCreateOrderOneOf2.js.map +1 -0
  38. package/dist/gateway/generated-client/models/GatewayCreateOrderOneOfOnramp.d.ts +11 -0
  39. package/dist/gateway/generated-client/models/GatewayCreateOrderOneOfOnramp.js +45 -0
  40. package/dist/gateway/generated-client/models/GatewayCreateOrderOneOfOnramp.js.map +1 -0
  41. package/dist/gateway/generated-client/models/GatewayLayerZeroQuote.d.ts +4 -3
  42. package/dist/gateway/generated-client/models/GatewayLayerZeroQuote.js +7 -6
  43. package/dist/gateway/generated-client/models/GatewayLayerZeroQuote.js.map +1 -1
  44. package/dist/gateway/generated-client/models/GatewayOfframpFeeBreakdown.d.ts +5 -4
  45. package/dist/gateway/generated-client/models/GatewayOfframpFeeBreakdown.js +9 -8
  46. package/dist/gateway/generated-client/models/GatewayOfframpFeeBreakdown.js.map +1 -1
  47. package/dist/gateway/generated-client/models/GatewayOfframpQuote.d.ts +5 -3
  48. package/dist/gateway/generated-client/models/GatewayOfframpQuote.js +11 -6
  49. package/dist/gateway/generated-client/models/GatewayOfframpQuote.js.map +1 -1
  50. package/dist/gateway/generated-client/models/GatewayOnrampFeeBreakdown.d.ts +6 -5
  51. package/dist/gateway/generated-client/models/GatewayOnrampFeeBreakdown.js +11 -10
  52. package/dist/gateway/generated-client/models/GatewayOnrampFeeBreakdown.js.map +1 -1
  53. package/dist/gateway/generated-client/models/GatewayOnrampQuote.d.ts +7 -4
  54. package/dist/gateway/generated-client/models/GatewayOnrampQuote.js +17 -8
  55. package/dist/gateway/generated-client/models/GatewayOnrampQuote.js.map +1 -1
  56. package/dist/gateway/generated-client/models/GatewayOrderInfoOneOf1Offramp.d.ts +8 -8
  57. package/dist/gateway/generated-client/models/GatewayOrderInfoOneOf1Offramp.js +18 -19
  58. package/dist/gateway/generated-client/models/GatewayOrderInfoOneOf1Offramp.js.map +1 -1
  59. package/dist/gateway/generated-client/models/GatewayOrderInfoOneOf2LayerZero.d.ts +6 -5
  60. package/dist/gateway/generated-client/models/GatewayOrderInfoOneOf2LayerZero.js +13 -12
  61. package/dist/gateway/generated-client/models/GatewayOrderInfoOneOf2LayerZero.js.map +1 -1
  62. package/dist/gateway/generated-client/models/GatewayOrderInfoOneOfOnramp.d.ts +6 -7
  63. package/dist/gateway/generated-client/models/GatewayOrderInfoOneOfOnramp.js +13 -18
  64. package/dist/gateway/generated-client/models/GatewayOrderInfoOneOfOnramp.js.map +1 -1
  65. package/dist/gateway/generated-client/models/GatewayTokenAmount.d.ts +10 -0
  66. package/dist/gateway/generated-client/models/GatewayTokenAmount.js +43 -0
  67. package/dist/gateway/generated-client/models/GatewayTokenAmount.js.map +1 -0
  68. package/dist/gateway/generated-client/models/RegisterTx.d.ts +8 -0
  69. package/dist/gateway/generated-client/models/RegisterTx.js +52 -0
  70. package/dist/gateway/generated-client/models/RegisterTx.js.map +1 -0
  71. package/dist/gateway/generated-client/models/RegisterTxOneOf.d.ts +9 -0
  72. package/dist/gateway/generated-client/models/RegisterTxOneOf.js +36 -0
  73. package/dist/gateway/generated-client/models/RegisterTxOneOf.js.map +1 -0
  74. package/dist/gateway/generated-client/models/RegisterTxOneOf1.d.ts +9 -0
  75. package/dist/gateway/generated-client/models/RegisterTxOneOf1.js +36 -0
  76. package/dist/gateway/generated-client/models/RegisterTxOneOf1.js.map +1 -0
  77. package/dist/gateway/generated-client/models/RegisterTxOneOf1Offramp.d.ts +9 -0
  78. package/dist/gateway/generated-client/models/RegisterTxOneOf1Offramp.js +39 -0
  79. package/dist/gateway/generated-client/models/RegisterTxOneOf1Offramp.js.map +1 -0
  80. package/dist/gateway/generated-client/models/RegisterTxOneOf2.d.ts +9 -0
  81. package/dist/gateway/generated-client/models/RegisterTxOneOf2.js +36 -0
  82. package/dist/gateway/generated-client/models/RegisterTxOneOf2.js.map +1 -0
  83. package/dist/gateway/generated-client/models/RegisterTxOneOfOnramp.d.ts +10 -0
  84. package/dist/gateway/generated-client/models/RegisterTxOneOfOnramp.js +39 -0
  85. package/dist/gateway/generated-client/models/RegisterTxOneOfOnramp.js.map +1 -0
  86. package/dist/gateway/generated-client/models/RegisterTxSuccess.d.ts +6 -0
  87. package/dist/gateway/generated-client/models/RegisterTxSuccess.js +44 -0
  88. package/dist/gateway/generated-client/models/RegisterTxSuccess.js.map +1 -0
  89. package/dist/gateway/generated-client/models/RegisterTxSuccessOneOf.d.ts +9 -0
  90. package/dist/gateway/generated-client/models/RegisterTxSuccessOneOf.js +36 -0
  91. package/dist/gateway/generated-client/models/RegisterTxSuccessOneOf.js.map +1 -0
  92. package/dist/gateway/generated-client/models/RegisterTxSuccessOneOfOnramp.d.ts +8 -0
  93. package/dist/gateway/generated-client/models/RegisterTxSuccessOneOfOnramp.js +35 -0
  94. package/dist/gateway/generated-client/models/RegisterTxSuccessOneOfOnramp.js.map +1 -0
  95. package/dist/gateway/generated-client/models/index.d.ts +17 -5
  96. package/dist/gateway/generated-client/models/index.js +17 -5
  97. package/dist/gateway/generated-client/models/index.js.map +1 -1
  98. package/dist/gateway/generated-client/runtime.js +1 -1
  99. package/dist/gateway/generated-client/runtime.js.map +1 -1
  100. package/dist/gateway/index.d.ts +1 -1
  101. package/dist/gateway/index.js +2 -1
  102. package/dist/gateway/index.js.map +1 -1
  103. package/dist/gateway/types/bitcoin.d.ts +3 -3
  104. package/dist/gateway/types/index.d.ts +0 -7
  105. package/dist/gateway/types/index.js +0 -7
  106. package/dist/gateway/types/index.js.map +1 -1
  107. package/dist/gateway/types/quote.d.ts +3 -35
  108. package/dist/gateway/types/strategy.d.ts +0 -4
  109. package/dist/gateway/utils/bitcoin-signer.d.ts +1 -1
  110. package/dist/gateway/utils/bitcoin-signer.js +2 -2
  111. package/dist/gateway/utils/bitcoin-signer.js.map +1 -1
  112. package/dist/gateway/utils/common.d.ts +142 -149
  113. package/dist/gateway/utils/common.js +0 -85
  114. package/dist/gateway/utils/common.js.map +1 -1
  115. package/dist/gateway/utils/index.d.ts +0 -1
  116. package/dist/gateway/utils/index.js +0 -1
  117. package/dist/gateway/utils/index.js.map +1 -1
  118. package/dist/utils.d.ts +0 -1
  119. package/dist/utils.js +0 -7
  120. package/dist/utils.js.map +1 -1
  121. package/package.json +4 -4
  122. package/dist/assets/tokenlist.json +0 -1915
  123. package/dist/gateway/base-client.d.ts +0 -4
  124. package/dist/gateway/base-client.js +0 -29
  125. package/dist/gateway/base-client.js.map +0 -1
  126. package/dist/gateway/generated-client/apis/DefaultApi.d.ts +0 -46
  127. package/dist/gateway/generated-client/apis/DefaultApi.js.map +0 -1
  128. package/dist/gateway/generated-client/models/ChainDetails.d.ts +0 -10
  129. package/dist/gateway/generated-client/models/ChainDetails.js +0 -41
  130. package/dist/gateway/generated-client/models/ChainDetails.js.map +0 -1
  131. package/dist/gateway/generated-client/models/GatewayChain.d.ts +0 -23
  132. package/dist/gateway/generated-client/models/GatewayChain.js +0 -48
  133. package/dist/gateway/generated-client/models/GatewayChain.js.map +0 -1
  134. package/dist/gateway/generated-client/models/GatewayCreateOnramp.d.ts +0 -11
  135. package/dist/gateway/generated-client/models/GatewayCreateOnramp.js +0 -45
  136. package/dist/gateway/generated-client/models/GatewayCreateOnramp.js.map +0 -1
  137. package/dist/gateway/generated-client/models/LayerZeroChainDetailsSchema.d.ts +0 -10
  138. package/dist/gateway/generated-client/models/LayerZeroChainDetailsSchema.js +0 -43
  139. package/dist/gateway/generated-client/models/LayerZeroChainDetailsSchema.js.map +0 -1
  140. package/dist/gateway/generated-client/models/ReferralInfo.d.ts +0 -11
  141. package/dist/gateway/generated-client/models/ReferralInfo.js +0 -47
  142. package/dist/gateway/generated-client/models/ReferralInfo.js.map +0 -1
  143. package/dist/gateway/generated-client/models/RegisterBtcTx.d.ts +0 -9
  144. package/dist/gateway/generated-client/models/RegisterBtcTx.js +0 -39
  145. package/dist/gateway/generated-client/models/RegisterBtcTx.js.map +0 -1
  146. package/dist/gateway/strategy.d.ts +0 -15
  147. package/dist/gateway/strategy.js +0 -390
  148. package/dist/gateway/strategy.js.map +0 -1
  149. package/dist/gateway/tokens.d.ts +0 -19
  150. package/dist/gateway/tokens.js +0 -181
  151. package/dist/gateway/tokens.js.map +0 -1
  152. package/dist/gateway/types/defiLlama.d.ts +0 -11
  153. package/dist/gateway/types/defiLlama.js +0 -3
  154. package/dist/gateway/types/defiLlama.js.map +0 -1
  155. package/dist/gateway/types/layerzero.d.ts +0 -128
  156. package/dist/gateway/types/layerzero.js +0 -3
  157. package/dist/gateway/types/layerzero.js.map +0 -1
  158. package/dist/gateway/types/offramp.d.ts +0 -91
  159. package/dist/gateway/types/offramp.js +0 -3
  160. package/dist/gateway/types/offramp.js.map +0 -1
  161. package/dist/gateway/types/onramp.d.ts +0 -96
  162. package/dist/gateway/types/onramp.js +0 -3
  163. package/dist/gateway/types/onramp.js.map +0 -1
  164. package/dist/gateway/types/order.d.ts +0 -92
  165. package/dist/gateway/types/order.js +0 -15
  166. package/dist/gateway/types/order.js.map +0 -1
  167. package/dist/gateway/types/swaps.d.ts +0 -821
  168. package/dist/gateway/types/swaps.js +0 -24
  169. package/dist/gateway/types/swaps.js.map +0 -1
  170. package/dist/gateway/types/token.d.ts +0 -24
  171. package/dist/gateway/types/token.js +0 -3
  172. package/dist/gateway/types/token.js.map +0 -1
  173. package/dist/gateway/utils/layerzero.d.ts +0 -3
  174. package/dist/gateway/utils/layerzero.js +0 -27
  175. package/dist/gateway/utils/layerzero.js.map +0 -1
  176. package/dist/type-utils.d.ts +0 -7
  177. package/dist/type-utils.js +0 -11
  178. package/dist/type-utils.js.map +0 -1
package/README.md CHANGED
@@ -8,6 +8,7 @@ The BOB SDK helps you interact with BOB and Bitcoin, including Ordinals, BRC20,
8
8
  - [Docs](https://docs.gobob.xyz/)
9
9
 
10
10
  ## Using the sdk in your project
11
+
11
12
  Install `@gobob/bob-sdk` with your package manager of choice.
12
13
 
13
14
  ```shell
@@ -15,11 +16,13 @@ pnpm i @gobob/bob-sdk
15
16
  ```
16
17
 
17
18
  or
19
+
18
20
  ```shell
19
21
  yarn add @gobob/bob-sdk
20
22
  ```
21
23
 
22
24
  or
25
+
23
26
  ```shell
24
27
  npm i @gobob/bob-sdk
25
28
  ```
@@ -49,6 +52,7 @@ openapi-generator-cli generate --skip-validate-spec \
49
52
  ```
50
53
 
51
54
  ### Build
55
+
52
56
  ```shell
53
57
  pnpm build
54
58
  ```
@@ -65,7 +69,7 @@ BOB is an open-source project. We welcome contributions of all sorts. There are
65
69
  Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
66
70
 
67
71
  1. Set up git so you can [sign your commits](https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work) (Alternative link: [GitHub: Signing commits](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits))
68
- Unsigned PRs cannot be merged, so do not skip this step.
72
+ Unsigned PRs cannot be merged, so do not skip this step.
69
73
  2. Fork the Project
70
74
  3. Create your Feature Branch (git checkout -b yourname/AmazingFeature)
71
75
  4. Commit your Changes (git commit -m 'Add some AmazingFeature')
@@ -75,4 +79,3 @@ Unsigned PRs cannot be merged, so do not skip this step.
75
79
  If you are searching for a place to start or would like to discuss features, reach out to us:
76
80
 
77
81
  - [Discord](https://discord.com/invite/gobob)
78
-
@@ -26,78 +26,6 @@ export declare const strategyCaller: readonly [{
26
26
  readonly outputs: readonly [];
27
27
  readonly stateMutability: "nonpayable";
28
28
  }];
29
- export declare const offrampCallerV2Abi: readonly [{
30
- readonly type: "function";
31
- readonly name: "createOrderV2";
32
- readonly inputs: readonly [{
33
- readonly name: "offrampOrderArgs";
34
- readonly type: "tuple";
35
- readonly internalType: "struct OfframpOrderArgs";
36
- readonly components: readonly [{
37
- readonly name: "satAmountToLock";
38
- readonly type: "uint256";
39
- readonly internalType: "uint256";
40
- }, {
41
- readonly name: "satSolverFeeMax";
42
- readonly type: "uint256";
43
- readonly internalType: "uint256";
44
- }, {
45
- readonly name: "satAffiliateFee";
46
- readonly type: "uint256";
47
- readonly internalType: "uint256";
48
- }, {
49
- readonly name: "affiliateFeeRecipient";
50
- readonly type: "address";
51
- readonly internalType: "address";
52
- }, {
53
- readonly name: "creationDeadline";
54
- readonly type: "uint256";
55
- readonly internalType: "uint256";
56
- }, {
57
- readonly name: "outputScript";
58
- readonly type: "bytes";
59
- readonly internalType: "bytes";
60
- }, {
61
- readonly name: "token";
62
- readonly type: "address";
63
- readonly internalType: "address";
64
- }, {
65
- readonly name: "owner";
66
- readonly type: "address";
67
- readonly internalType: "address";
68
- }];
69
- }];
70
- readonly outputs: readonly [];
71
- readonly stateMutability: "nonpayable";
72
- }, {
73
- readonly type: "function";
74
- readonly name: "bumpFeeOfExistingOrder";
75
- readonly inputs: readonly [{
76
- readonly name: "orderId";
77
- readonly type: "uint256";
78
- readonly internalType: "uint256";
79
- }, {
80
- readonly name: "newFeeSat";
81
- readonly type: "uint256";
82
- readonly internalType: "uint256";
83
- }];
84
- readonly outputs: readonly [];
85
- readonly stateMutability: "nonpayable";
86
- }, {
87
- readonly type: "function";
88
- readonly name: "refundOrder";
89
- readonly inputs: readonly [{
90
- readonly name: "orderId";
91
- readonly type: "uint256";
92
- readonly internalType: "uint256";
93
- }, {
94
- readonly name: "receiver";
95
- readonly type: "address";
96
- readonly internalType: "address";
97
- }];
98
- readonly outputs: readonly [];
99
- readonly stateMutability: "nonpayable";
100
- }];
101
29
  export declare const compoundV2CTokenAbi: readonly [{
102
30
  readonly name: "exchangeRateCurrent";
103
31
  readonly type: "function";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.aaveV2AtokenAbi = exports.compoundV2CTokenAbi = exports.offrampCallerV2Abi = exports.strategyCaller = void 0;
3
+ exports.aaveV2AtokenAbi = exports.compoundV2CTokenAbi = exports.strategyCaller = void 0;
4
4
  const viem_1 = require("viem");
5
5
  exports.strategyCaller = [
6
6
  {
@@ -39,99 +39,6 @@ exports.strategyCaller = [
39
39
  stateMutability: 'nonpayable',
40
40
  },
41
41
  ];
42
- exports.offrampCallerV2Abi = [
43
- {
44
- type: 'function',
45
- name: 'createOrderV2',
46
- inputs: [
47
- {
48
- name: 'offrampOrderArgs',
49
- type: 'tuple',
50
- internalType: 'struct OfframpOrderArgs',
51
- components: [
52
- {
53
- name: 'satAmountToLock',
54
- type: 'uint256',
55
- internalType: 'uint256',
56
- },
57
- {
58
- name: 'satSolverFeeMax',
59
- type: 'uint256',
60
- internalType: 'uint256',
61
- },
62
- {
63
- name: 'satAffiliateFee',
64
- type: 'uint256',
65
- internalType: 'uint256',
66
- },
67
- {
68
- name: 'affiliateFeeRecipient',
69
- type: 'address',
70
- internalType: 'address',
71
- },
72
- {
73
- name: 'creationDeadline',
74
- type: 'uint256',
75
- internalType: 'uint256',
76
- },
77
- {
78
- name: 'outputScript',
79
- type: 'bytes',
80
- internalType: 'bytes',
81
- },
82
- {
83
- name: 'token',
84
- type: 'address',
85
- internalType: 'address',
86
- },
87
- {
88
- name: 'owner',
89
- type: 'address',
90
- internalType: 'address',
91
- },
92
- ],
93
- },
94
- ],
95
- outputs: [],
96
- stateMutability: 'nonpayable',
97
- },
98
- {
99
- type: 'function',
100
- name: 'bumpFeeOfExistingOrder',
101
- inputs: [
102
- {
103
- name: 'orderId',
104
- type: 'uint256',
105
- internalType: 'uint256',
106
- },
107
- {
108
- name: 'newFeeSat',
109
- type: 'uint256',
110
- internalType: 'uint256',
111
- },
112
- ],
113
- outputs: [],
114
- stateMutability: 'nonpayable',
115
- },
116
- {
117
- type: 'function',
118
- name: 'refundOrder',
119
- inputs: [
120
- {
121
- name: 'orderId',
122
- type: 'uint256',
123
- internalType: 'uint256',
124
- },
125
- {
126
- name: 'receiver',
127
- type: 'address',
128
- internalType: 'address',
129
- },
130
- ],
131
- outputs: [],
132
- stateMutability: 'nonpayable',
133
- },
134
- ];
135
42
  exports.compoundV2CTokenAbi = (0, viem_1.parseAbi)([
136
43
  'function exchangeRateCurrent() external returns (uint256)',
137
44
  'function underlying() external view returns (address)',
@@ -1 +1 @@
1
- {"version":3,"file":"abi.js","sourceRoot":"","sources":["../../src/gateway/abi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abi.js","sourceRoot":"","sources":["../../src/gateway/abi.ts"],"names":[],"mappings":";;;AAAA,+BAAgC;AAEnB,QAAA,cAAc,GAAG;IAC1B;QACI,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,sCAAsC;QAC5C,MAAM,EAAE;YACJ;gBACI,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,iBAAiB;aAClC;YACD;gBACI,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aAC1B;YACD;gBACI,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aAC1B;YACD;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,6BAA6B;gBAC3C,UAAU,EAAE;oBACR;wBACI,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBAC1B;iBACJ;aACJ;SACJ;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAChC;CACK,CAAC;AAEE,QAAA,mBAAmB,GAAG,IAAA,eAAQ,EAAC;IACxC,2DAA2D;IAC3D,uDAAuD;CAC1D,CAAC,CAAC;AAEU,QAAA,eAAe,GAAG,IAAA,eAAQ,EAAC,CAAC,qEAAqE,CAAC,CAAC,CAAC"}
@@ -4,7 +4,7 @@ interface OkxWalletProvider {
4
4
  from: string;
5
5
  to: string;
6
6
  value: string;
7
- memo: string;
7
+ memo?: string;
8
8
  }) => Promise<{
9
9
  txhash: string;
10
10
  }>;
@@ -16,8 +16,8 @@ export declare class OkxWalletAdapter implements BitcoinSigner {
16
16
  from: string;
17
17
  to: string;
18
18
  value: string;
19
- opReturn: string;
20
- isSignet: boolean;
19
+ opReturn?: string;
20
+ isSignet?: boolean;
21
21
  }): Promise<string>;
22
22
  }
23
23
  export {};
@@ -15,7 +15,7 @@ class OkxWalletAdapter {
15
15
  value,
16
16
  memo: opReturn,
17
17
  });
18
- const network = (0, wallet_1.getAddressInfo)(to, isSignet).network;
18
+ const network = (0, wallet_1.getAddressInfo)(to, isSignet || false).network;
19
19
  const esploraClient = new esplora_1.EsploraClient(network);
20
20
  return esploraClient.getTransactionHex(txhash);
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"okx-wallet.js","sourceRoot":"","sources":["../../../src/gateway/adapters/okx-wallet.ts"],"names":[],"mappings":";;;AAAA,2CAA8C;AAE9C,yCAA8C;AAO9C,MAAa,gBAAgB;IACzB,cAAc,CAAoB;IAElC,YAAY,cAAiC;QACzC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EACd,IAAI,EACJ,EAAE,EACF,KAAK,EACL,QAAQ,EACR,QAAQ,GAOX;QACG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YAC9C,IAAI;YACJ,EAAE;YACF,KAAK;YACL,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAA,uBAAc,EAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC;QACrD,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,OAAO,CAAC,CAAC;QACjD,OAAO,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;CACJ;AA/BD,4CA+BC"}
1
+ {"version":3,"file":"okx-wallet.js","sourceRoot":"","sources":["../../../src/gateway/adapters/okx-wallet.ts"],"names":[],"mappings":";;;AAAA,2CAA8C;AAE9C,yCAA8C;AAO9C,MAAa,gBAAgB;IACzB,cAAc,CAAoB;IAElC,YAAY,cAAiC;QACzC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EACd,IAAI,EACJ,EAAE,EACF,KAAK,EACL,QAAQ,EACR,QAAQ,GAOX;QACG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YAC9C,IAAI;YACJ,EAAE;YACF,KAAK;YACL,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAA,uBAAc,EAAC,EAAE,EAAE,QAAQ,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC;QAC9D,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,OAAO,CAAC,CAAC;QACjD,OAAO,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;CACJ;AA/BD,4CA+BC"}
@@ -16,6 +16,6 @@ export declare class ReownWalletAdapter implements BitcoinSigner {
16
16
  walletProvider: ReownWalletProvider;
17
17
  userAddress: string;
18
18
  constructor(walletProvider: ReownWalletProvider, userAddress: string);
19
- signAllInputs(psbtBase64: string): Promise<string>;
19
+ signAllInputs(psbtHex: string): Promise<string>;
20
20
  }
21
21
  export {};
@@ -10,12 +10,12 @@ class ReownWalletAdapter {
10
10
  this.walletProvider = walletProvider;
11
11
  this.userAddress = userAddress;
12
12
  }
13
- async signAllInputs(psbtBase64) {
14
- const unsignedTx = btc_signer_1.Transaction.fromPSBT(base_1.base64.decode(psbtBase64));
13
+ async signAllInputs(psbtHex) {
14
+ const unsignedTx = btc_signer_1.Transaction.fromPSBT(base_1.hex.decode(psbtHex));
15
15
  const inputLength = unsignedTx.inputsLength;
16
16
  const inputsToSign = Array.from({ length: inputLength }, (_, i) => i);
17
17
  const result = await this.walletProvider.signPSBT({
18
- psbt: psbtBase64,
18
+ psbt: base_1.base64.encode(unsignedTx.toPSBT()),
19
19
  broadcast: false,
20
20
  signInputs: inputsToSign.map((input) => ({ index: input, address: this.userAddress, sighashTypes: [0] })),
21
21
  });
@@ -1 +1 @@
1
- {"version":3,"file":"reown.js","sourceRoot":"","sources":["../../../src/gateway/adapters/reown.ts"],"names":[],"mappings":";;;AAAA,kDAAgD;AAEhD,sCAAqC;AAUrC,MAAa,kBAAkB;IAC3B,cAAc,CAAsB;IACpC,WAAW,CAAS;IAEpB,YAAY,cAAmC,EAAE,WAAmB;QAChE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAkB;QAClC,MAAM,UAAU,GAAG,wBAAW,CAAC,QAAQ,CAAC,aAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAGnE,MAAM,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5C,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAGtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YAC9C,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC5G,CAAC,CAAC;QAGH,MAAM,QAAQ,GAAG,wBAAW,CAAC,QAAQ,CAAC,aAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC,GAAG,CAAC;IACxB,CAAC;CACJ;AA5BD,gDA4BC"}
1
+ {"version":3,"file":"reown.js","sourceRoot":"","sources":["../../../src/gateway/adapters/reown.ts"],"names":[],"mappings":";;;AAAA,kDAAgD;AAEhD,sCAA0C;AAU1C,MAAa,kBAAkB;IAC3B,cAAc,CAAsB;IACpC,WAAW,CAAS;IAEpB,YAAY,cAAmC,EAAE,WAAmB;QAChE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe;QAC/B,MAAM,UAAU,GAAG,wBAAW,CAAC,QAAQ,CAAC,UAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAG7D,MAAM,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5C,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAGtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YAC9C,IAAI,EAAE,aAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACxC,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC5G,CAAC,CAAC;QAGH,MAAM,QAAQ,GAAG,wBAAW,CAAC,QAAQ,CAAC,aAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC,GAAG,CAAC;IACxB,CAAC;CACJ;AA5BD,gDA4BC"}
@@ -1,10 +1,8 @@
1
1
  import { Account, Address, PublicClient, Transport, Chain as ViemChain, WalletClient } from 'viem';
2
- import { BaseClient } from './base-client';
3
- import { BitcoinSigner, EnrichedToken, GetQuoteParams, StrategyParams } from './types';
4
- import { DefaultApi, GatewayOrderInfo, GatewayQuote } from './generated-client';
2
+ import { BitcoinSigner, GetQuoteParams, StrategyParams } from './types';
3
+ import { V1Api, GatewayOrderInfo, GatewayQuote, RouteInfo } from './generated-client';
5
4
  export declare const WBTC_OFT_ADDRESS = "0x0555E30da8f98308EdB960aa94C0Db47230d2B9c";
6
- export declare const MAINNET_GATEWAY_BASE_URL = "https://gateway-api-staging.gobob.xyz";
7
- export declare const SIGNET_GATEWAY_BASE_URL = "https://gateway-api-signet.gobob.xyz";
5
+ export declare const STAGING_GATEWAY_BASE_URL = "https://gateway-api-staging.gobob.xyz";
8
6
  interface EvmWalletClientParams {
9
7
  walletClient: WalletClient<Transport, ViemChain, Account>;
10
8
  publicClient: PublicClient<Transport>;
@@ -12,23 +10,15 @@ interface EvmWalletClientParams {
12
10
  export interface AllWalletClientParams extends EvmWalletClientParams {
13
11
  btcSigner?: BitcoinSigner;
14
12
  }
15
- export declare class GatewayApiClient extends BaseClient {
16
- private chain;
17
- private strategy;
18
- api: DefaultApi;
19
- constructor(chainId: number, options?: {
20
- rpcUrl?: string;
21
- });
22
- private get chainId();
23
- getQuote(params: GetQuoteParams): Promise<GatewayQuote>;
24
- executeQuote({ quote, walletClient, publicClient, btcSigner, }: {
13
+ export declare class GatewayApiClient {
14
+ api: V1Api;
15
+ constructor(chainId: number);
16
+ getQuote(params: GetQuoteParams, initOverrides?: RequestInit): Promise<GatewayQuote>;
17
+ executeQuote({ quote, walletClient, publicClient, btcSigner }: {
25
18
  quote: GatewayQuote;
26
- } & AllWalletClientParams): Promise<string>;
19
+ } & AllWalletClientParams, initOverrides?: RequestInit): Promise<string>;
27
20
  executeStrategy({ walletClient, publicClient, ...params }: StrategyParams & EvmWalletClientParams): Promise<`0x${string}`>;
28
- getTokens(): Promise<Address[]>;
29
- private getPrices;
30
- getEnrichedTokens(): Promise<EnrichedToken[]>;
31
- getOrders(userAddress: Address): Promise<Array<GatewayOrderInfo>>;
32
- getChains(): Promise<Array<string>>;
21
+ getOrders(userAddress: Address, initOverrides?: RequestInit): Promise<Array<GatewayOrderInfo>>;
22
+ getRoutes(initOverrides?: RequestInit): Promise<Array<RouteInfo>>;
33
23
  }
34
24
  export {};
@@ -1,49 +1,27 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.GatewayApiClient = exports.SIGNET_GATEWAY_BASE_URL = exports.MAINNET_GATEWAY_BASE_URL = exports.WBTC_OFT_ADDRESS = void 0;
3
+ exports.GatewayApiClient = exports.STAGING_GATEWAY_BASE_URL = exports.WBTC_OFT_ADDRESS = void 0;
7
4
  const viem_1 = require("viem");
8
5
  const chains_1 = require("viem/chains");
9
- const utils_1 = require("../utils");
10
6
  const abi_1 = require("./abi");
11
- const base_client_1 = require("./base-client");
12
- const strategy_1 = __importDefault(require("./strategy"));
13
7
  const generated_client_1 = require("./generated-client");
14
- const tokens_1 = require("./tokens");
8
+ const utils_1 = require("./utils");
15
9
  exports.WBTC_OFT_ADDRESS = '0x0555E30da8f98308EdB960aa94C0Db47230d2B9c';
16
- exports.MAINNET_GATEWAY_BASE_URL = 'https://gateway-api-staging.gobob.xyz';
17
- exports.SIGNET_GATEWAY_BASE_URL = 'https://gateway-api-signet.gobob.xyz';
18
- class GatewayApiClient extends base_client_1.BaseClient {
19
- chain;
20
- strategy;
10
+ exports.STAGING_GATEWAY_BASE_URL = 'https://gateway-api-staging.gobob.xyz';
11
+ class GatewayApiClient {
21
12
  api;
22
- constructor(chainId, options) {
23
- super();
13
+ constructor(chainId) {
24
14
  switch (chainId) {
25
15
  case chains_1.bob.id:
26
- this.chain = chains_1.bob;
27
- this.strategy = new strategy_1.default(chains_1.bob, options?.rpcUrl);
28
- this.api = new generated_client_1.DefaultApi(new generated_client_1.Configuration({
29
- basePath: exports.MAINNET_GATEWAY_BASE_URL,
30
- }));
31
- break;
32
- case chains_1.bobSepolia.id:
33
- this.chain = chains_1.bobSepolia;
34
- this.strategy = new strategy_1.default(chains_1.bobSepolia, options?.rpcUrl);
35
- this.api = new generated_client_1.DefaultApi(new generated_client_1.Configuration({
36
- basePath: exports.SIGNET_GATEWAY_BASE_URL,
16
+ this.api = new generated_client_1.V1Api(new generated_client_1.Configuration({
17
+ basePath: exports.STAGING_GATEWAY_BASE_URL,
37
18
  }));
38
19
  break;
39
20
  default:
40
21
  throw new Error('Invalid chain');
41
22
  }
42
23
  }
43
- get chainId() {
44
- return this.chain.id;
45
- }
46
- async getQuote(params) {
24
+ async getQuote(params, initOverrides) {
47
25
  return this.api.getQuote({
48
26
  srcChain: params.fromChain.toString(),
49
27
  dstChain: params.toChain.toString(),
@@ -54,36 +32,64 @@ class GatewayApiClient extends base_client_1.BaseClient {
54
32
  amount: params.amount.toString(),
55
33
  slippage: params.maxSlippage?.toString() || '0',
56
34
  gasRefill: params.gasRefill?.toString(),
57
- });
35
+ affiliateId: params.affiliateId,
36
+ strategyTarget: params.strategyAddress,
37
+ strategyMessage: params.strategyMessage,
38
+ }, initOverrides);
58
39
  }
59
- async executeQuote({ quote, walletClient, publicClient, btcSigner, }) {
40
+ async executeQuote({ quote, walletClient, publicClient, btcSigner }, initOverrides) {
60
41
  if ((0, generated_client_1.instanceOfGatewayQuoteOneOf)(quote)) {
61
42
  if (!btcSigner) {
62
43
  throw new Error(`btcSigner is required for onramp order`);
63
44
  }
64
- const { id, psbt } = await this.api.startOnramp({ gatewayOnrampQuote: quote.onramp });
45
+ const order = await this.api.createOrder({ gatewayQuote: { onramp: quote.onramp } });
46
+ if (!(0, generated_client_1.instanceOfGatewayCreateOrderOneOf)(order)) {
47
+ throw new Error('Invalid order type returned from API');
48
+ }
65
49
  let bitcoinTxHex;
66
50
  if (btcSigner.sendBitcoin) {
67
- bitcoinTxHex = '';
51
+ bitcoinTxHex = await btcSigner.sendBitcoin({
52
+ from: quote.onramp.sender,
53
+ to: order.onramp.address,
54
+ value: (0, utils_1.formatBtc)(BigInt(quote.onramp.inputAmount.amount)),
55
+ opReturn: order.onramp.opReturnData || undefined,
56
+ });
68
57
  }
69
58
  else if (btcSigner.signAllInputs) {
70
- bitcoinTxHex = await btcSigner.signAllInputs(psbt);
59
+ bitcoinTxHex = await btcSigner.signAllInputs(order.onramp.psbtHex);
71
60
  }
72
61
  else {
73
62
  throw new Error('btcSigner must implement either sendBitcoin or signAllInputs method');
74
63
  }
75
64
  if (!bitcoinTxHex)
76
65
  throw new Error('Failed to get signed transaction');
77
- const txId = await this.api.registerBtcTx({ registerBtcTx: { bitcoinTx: bitcoinTxHex, id } });
78
- return txId;
66
+ const tx = await this.api.registerTx({
67
+ registerTx: {
68
+ onramp: {
69
+ orderId: order.onramp.orderId,
70
+ bitcoinTxHex: bitcoinTxHex,
71
+ },
72
+ },
73
+ }, initOverrides);
74
+ if (typeof tx === 'string') {
75
+ return tx;
76
+ }
77
+ if (!(0, generated_client_1.instanceOfRegisterTxOneOf)(tx)) {
78
+ throw new Error('Invalid registerTx response type');
79
+ }
80
+ return tx.onramp.txid;
79
81
  }
80
82
  else if ((0, generated_client_1.instanceOfGatewayQuoteOneOf1)(quote)) {
81
83
  if (!walletClient.account) {
82
84
  throw new Error(`walletClient is required for offramp order`);
83
85
  }
84
86
  const accountAddress = walletClient.account.address;
85
- const tokenAddress = exports.WBTC_OFT_ADDRESS;
86
- const spenderAddress = quote.offramp.tx.to;
87
+ const tokenAddress = quote.offramp.tokenAddress;
88
+ const order = await this.api.createOrder({ gatewayQuote: { offramp: quote.offramp } });
89
+ if (!(0, generated_client_1.instanceOfGatewayCreateOrderOneOf1)(order)) {
90
+ throw new Error('Invalid order type returned from API');
91
+ }
92
+ const spenderAddress = order.offramp.tx.to;
87
93
  const [allowance, decimals] = await publicClient.multicall({
88
94
  allowFailure: false,
89
95
  contracts: [
@@ -104,8 +110,8 @@ class GatewayApiClient extends base_client_1.BaseClient {
104
110
  throw new Error('Tokens with less than 8 decimals are not supported');
105
111
  }
106
112
  const multiplier = 10n ** BigInt(decimals - 8);
107
- const requiredAmount = BigInt(quote.offramp.inputAmount) * multiplier;
108
- const needsApproval = requiredAmount > allowance;
113
+ const requiredAmount = BigInt(quote.offramp.inputAmount.amount) * multiplier;
114
+ const needsApproval = requiredAmount > allowance && tokenAddress !== exports.WBTC_OFT_ADDRESS;
109
115
  if (needsApproval) {
110
116
  const { request } = await publicClient.simulateContract({
111
117
  account: walletClient.account,
@@ -119,11 +125,19 @@ class GatewayApiClient extends base_client_1.BaseClient {
119
125
  }
120
126
  const transactionHash = await walletClient.sendTransaction({
121
127
  account: walletClient.account,
122
- data: quote.offramp.tx.data,
128
+ data: order.offramp.tx.data,
123
129
  to: spenderAddress,
124
- value: BigInt(quote.offramp.tx.value || 0),
130
+ value: BigInt(order.offramp.tx.value || 0),
125
131
  });
126
132
  await publicClient?.waitForTransactionReceipt({ hash: transactionHash });
133
+ await this.api.registerTx({
134
+ registerTx: {
135
+ offramp: {
136
+ orderId: order.offramp.orderId,
137
+ evmTxhash: transactionHash,
138
+ },
139
+ },
140
+ }, initOverrides);
127
141
  return transactionHash;
128
142
  }
129
143
  else if ((0, generated_client_1.instanceOfGatewayQuoteOneOf2)(quote)) {
@@ -159,56 +173,11 @@ class GatewayApiClient extends base_client_1.BaseClient {
159
173
  await publicClient?.waitForTransactionReceipt({ hash: transactionHash });
160
174
  return transactionHash;
161
175
  }
162
- async getTokens() {
163
- return this.api.getTokens();
164
- }
165
- async getPrices() {
166
- const response = await this.safeFetch('https://fusion-api.gobob.xyz/pricefeed', undefined, 'Failed to fetch prices from Fusion API');
167
- if (!response.ok) {
168
- console.error('Failed to fetch prices from Fusion API');
169
- return new Map();
170
- }
171
- const list = await response.json();
172
- return new Map(list.map((x) => [x.token_address.toLowerCase(), Number(x.price)]));
173
- }
174
- async getEnrichedTokens() {
175
- const [tokens, prices] = await Promise.all([this.getTokens(), this.getPrices()]);
176
- const tokensIncentives = await this.strategy.getTokensIncentives(tokens);
177
- return Promise.all(tokens.map(async (address, i) => {
178
- const token = (0, tokens_1.getTokenDetails)(this.chainId, address);
179
- if (!token) {
180
- throw new Error(`Token not found: ${address} on chain ${this.chainId}`);
181
- }
182
- const tokenIncentives = tokensIncentives[i];
183
- const { address: underlyingAddress, totalUnderlying } = await this.strategy.getStrategyAssetState(token);
184
- if (underlyingAddress === 'usd') {
185
- return {
186
- ...token,
187
- ...tokenIncentives,
188
- tvl: Number(totalUnderlying),
189
- };
190
- }
191
- const underlyingToken = (0, tokens_1.getTokenDetails)(this.chainId, underlyingAddress);
192
- if (!underlyingToken) {
193
- return {
194
- ...token,
195
- ...tokenIncentives,
196
- tvl: 0,
197
- };
198
- }
199
- return {
200
- ...token,
201
- ...tokenIncentives,
202
- tvl: (0, utils_1.bigIntToFloatingNumber)(totalUnderlying, underlyingToken.decimals) *
203
- (prices.get(underlyingAddress.toLowerCase()) ?? 0),
204
- };
205
- }));
206
- }
207
- async getOrders(userAddress) {
208
- return this.api.getOrders({ userAddress: userAddress.toString() });
176
+ async getOrders(userAddress, initOverrides) {
177
+ return this.api.getOrders({ userAddress: userAddress.toString() }, initOverrides);
209
178
  }
210
- async getChains() {
211
- return this.api.getChains();
179
+ async getRoutes(initOverrides) {
180
+ return this.api.getRoutes(initOverrides);
212
181
  }
213
182
  }
214
183
  exports.GatewayApiClient = GatewayApiClient;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/gateway/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/gateway/client.ts"],"names":[],"mappings":"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"}