@gobob/bob-sdk 1.2.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +50 -4
  2. package/dist/{electrs.d.ts → esplora.d.ts} +2 -2
  3. package/dist/{electrs.js → esplora.js} +6 -6
  4. package/dist/{electrs.js.map → esplora.js.map} +1 -1
  5. package/dist/gateway/client.d.ts +45 -0
  6. package/dist/gateway/client.js +127 -0
  7. package/dist/gateway/client.js.map +1 -0
  8. package/dist/gateway/index.d.ts +2 -0
  9. package/dist/gateway/index.js +6 -0
  10. package/dist/gateway/index.js.map +1 -0
  11. package/dist/gateway/tokens.d.ts +12 -0
  12. package/dist/gateway/tokens.js +64 -0
  13. package/dist/gateway/tokens.js.map +1 -0
  14. package/dist/gateway/types.d.ts +17 -0
  15. package/dist/gateway/types.js +3 -0
  16. package/dist/gateway/types.js.map +1 -0
  17. package/dist/helpers.d.ts +2 -2
  18. package/dist/helpers.js +6 -7
  19. package/dist/helpers.js.map +1 -1
  20. package/dist/index.d.ts +3 -1
  21. package/dist/index.js +3 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/inscription.d.ts +3 -4
  24. package/dist/inscription.js +11 -11
  25. package/dist/inscription.js.map +1 -1
  26. package/dist/ordinal-api/index.d.ts +10 -1
  27. package/dist/ordinal-api/index.js +1 -0
  28. package/dist/ordinal-api/index.js.map +1 -1
  29. package/dist/ordinals/commit.d.ts +0 -1
  30. package/dist/ordinals/commit.js +1 -2
  31. package/dist/ordinals/commit.js.map +1 -1
  32. package/dist/ordinals/index.js +1 -2
  33. package/dist/ordinals/index.js.map +1 -1
  34. package/dist/ordinals/reveal.d.ts +0 -1
  35. package/dist/ordinals/reveal.js +3 -3
  36. package/dist/ordinals/reveal.js.map +1 -1
  37. package/dist/ordinals/signer.d.ts +0 -1
  38. package/dist/relay.d.ts +4 -4
  39. package/dist/relay.js +11 -12
  40. package/dist/relay.js.map +1 -1
  41. package/dist/scripts/relay-genesis.d.ts +1 -0
  42. package/dist/scripts/relay-genesis.js +120 -0
  43. package/dist/scripts/relay-genesis.js.map +1 -0
  44. package/dist/scripts/relay-retarget.d.ts +1 -0
  45. package/dist/scripts/relay-retarget.js +115 -0
  46. package/dist/scripts/relay-retarget.js.map +1 -0
  47. package/dist/utils.d.ts +1 -1
  48. package/dist/utils.js +42 -5
  49. package/dist/utils.js.map +1 -1
  50. package/dist/wallet/address.d.ts +2 -0
  51. package/dist/wallet/address.js +19 -0
  52. package/dist/wallet/address.js.map +1 -0
  53. package/dist/wallet/index.d.ts +2 -0
  54. package/dist/wallet/index.js +19 -0
  55. package/dist/wallet/index.js.map +1 -0
  56. package/dist/wallet/inscriptions.d.ts +4 -0
  57. package/dist/wallet/inscriptions.js +43 -0
  58. package/dist/wallet/inscriptions.js.map +1 -0
  59. package/dist/wallet/utxo.d.ts +23 -0
  60. package/dist/wallet/utxo.js +91 -0
  61. package/dist/wallet/utxo.js.map +1 -0
  62. package/package.json +13 -9
package/README.md CHANGED
@@ -7,13 +7,45 @@ The BOB SDK helps you interact with BOB and Bitcoin, including Ordinals, BRC20,
7
7
  - [Website](https://www.gobob.xyz/)
8
8
  - [Docs](https://docs.gobob.xyz/)
9
9
 
10
- ## Installation
10
+ ## Using the sdk in your project
11
+ Install `@gobob/bob-sdk` with your package manager of choice.
11
12
 
12
13
  ```shell
13
- pnpm i @bob-sdk/sdk
14
+ pnpm i @gobob/bob-sdk
14
15
  ```
15
16
 
16
- ## Test
17
+ or
18
+ ```shell
19
+ yarn add @gobob/bob-sdk
20
+ ```
21
+
22
+ or
23
+ ```shell
24
+ npm i @gobob/bob-sdk
25
+ ```
26
+
27
+ ## Building BOB sdk
28
+
29
+ ### Clone the repository
30
+ Clone the repository and change to the `sdk` subfolder.
31
+ ```shell
32
+ git clone git@github.com:bob-collective/bob.git
33
+ cd bob/sdk
34
+ ```
35
+
36
+ ### Install dependencies
37
+ We use `pnpm` in the examples below. But the steps below should also work when using `yarn` or `npm` instead.
38
+
39
+ ```shell
40
+ pnpm i
41
+ ```
42
+
43
+ ### Build
44
+ ```shell
45
+ pnpm build
46
+ ```
47
+
48
+ ### Test
17
49
 
18
50
  ```shell
19
51
  pnpm test
@@ -21,4 +53,18 @@ pnpm test
21
53
 
22
54
  ## Contributing
23
55
 
24
- BOB is an open-source project. We welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community.
56
+ BOB is an open-source project. We welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community.
57
+ 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.
58
+
59
+ 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))
60
+ Unsigned PRs cannot be merged, so do not skip this step.
61
+ 2. Fork the Project
62
+ 3. Create your Feature Branch (git checkout -b yourname/AmazingFeature)
63
+ 4. Commit your Changes (git commit -m 'Add some AmazingFeature')
64
+ 5. Push to the Branch (git push origin yourname/AmazingFeature)
65
+ 6. Open a Pull Request with a description of feature you are adding
66
+
67
+ If you are searching for a place to start or would like to discuss features, reach out to us:
68
+
69
+ - [Discord](https://discord.com/invite/gobob)
70
+
@@ -67,7 +67,7 @@ export interface Block {
67
67
  previousblockhash: string | null;
68
68
  mediantime: number;
69
69
  }
70
- export interface ElectrsClient {
70
+ export interface EsploraClient {
71
71
  getLatestHeight(): Promise<number>;
72
72
  getBlock(hash: string): Promise<Block>;
73
73
  getBlockHash(height: number): Promise<string>;
@@ -79,7 +79,7 @@ export interface ElectrsClient {
79
79
  getAddressUtxos(address: string): Promise<Array<UTXO>>;
80
80
  broadcastTx(txHex: string): Promise<string>;
81
81
  }
82
- export declare class DefaultElectrsClient implements ElectrsClient {
82
+ export declare class DefaultEsploraClient implements EsploraClient {
83
83
  private basePath;
84
84
  constructor(networkOrUrl?: string);
85
85
  getLatestHeight(): Promise<number>;
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultElectrsClient = exports.REGTEST_ESPLORA_BASE_PATH = exports.TESTNET_ESPLORA_BASE_PATH = exports.MAINNET_ESPLORA_BASE_PATH = void 0;
3
+ exports.DefaultEsploraClient = exports.REGTEST_ESPLORA_BASE_PATH = exports.TESTNET_ESPLORA_BASE_PATH = exports.MAINNET_ESPLORA_BASE_PATH = void 0;
4
4
  exports.MAINNET_ESPLORA_BASE_PATH = "https://btc-mainnet.gobob.xyz";
5
5
  exports.TESTNET_ESPLORA_BASE_PATH = "https://btc-testnet.gobob.xyz";
6
6
  exports.REGTEST_ESPLORA_BASE_PATH = "http://localhost:3003";
7
- function encodeElectrsMerkleProof(merkle) {
7
+ function encodeEsploraMerkleProof(merkle) {
8
8
  return merkle.map(item => Buffer.from(item, "hex").reverse().toString("hex")).join('');
9
9
  }
10
- class DefaultElectrsClient {
10
+ class DefaultEsploraClient {
11
11
  constructor(networkOrUrl = "mainnet") {
12
12
  switch (networkOrUrl) {
13
13
  case "mainnet":
@@ -49,7 +49,7 @@ class DefaultElectrsClient {
49
49
  const response = await this.getJson(`${this.basePath}/tx/${txId}/merkle-proof`);
50
50
  return {
51
51
  blockHeight: response.block_height,
52
- merkle: encodeElectrsMerkleProof(response.merkle),
52
+ merkle: encodeEsploraMerkleProof(response.merkle),
53
53
  pos: response.pos,
54
54
  };
55
55
  }
@@ -93,5 +93,5 @@ class DefaultElectrsClient {
93
93
  return await response.text();
94
94
  }
95
95
  }
96
- exports.DefaultElectrsClient = DefaultElectrsClient;
97
- //# sourceMappingURL=electrs.js.map
96
+ exports.DefaultEsploraClient = DefaultEsploraClient;
97
+ //# sourceMappingURL=esplora.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"electrs.js","sourceRoot":"","sources":["../src/electrs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"esplora.js","sourceRoot":"","sources":["../src/esplora.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { GatewayQuoteParams } from "./types";
2
+ import { Token as TokenInfo } from "./tokens";
3
+ type EvmAddress = string;
4
+ type GatewayQuote = {
5
+ gatewayAddress: EvmAddress;
6
+ dustThreshold: number;
7
+ satoshis: number;
8
+ fee: number;
9
+ gratuity: string;
10
+ bitcoinAddress: string;
11
+ txProofDifficultyFactor: number;
12
+ strategyAddress: EvmAddress | null;
13
+ };
14
+ type GatewayOrderResponse = {
15
+ gatewayAddress: EvmAddress;
16
+ tokenAddress: EvmAddress;
17
+ txid: string;
18
+ status: boolean;
19
+ timestamp: number;
20
+ tokens: string;
21
+ satoshis: number;
22
+ fee: number;
23
+ txProofDifficultyFactor: number;
24
+ };
25
+ type GatewayCreateOrderResponse = {
26
+ uuid: string;
27
+ opReturnHash: string;
28
+ };
29
+ type GatewayStartOrderResult = GatewayCreateOrderResponse & {
30
+ bitcoinAddress: string;
31
+ satoshis: number;
32
+ };
33
+ export declare const MAINNET_GATEWAY_BASE_URL = "https://gateway-api-mainnet.gobob.xyz";
34
+ export declare const TESTNET_GATEWAY_BASE_URL = "https://gateway-api-testnet.gobob.xyz";
35
+ export declare class GatewayApiClient {
36
+ private baseUrl;
37
+ constructor(networkOrUrl?: string);
38
+ getQuote(params: GatewayQuoteParams): Promise<GatewayQuote>;
39
+ startOrder(gatewayQuote: GatewayQuote, params: GatewayQuoteParams): Promise<GatewayStartOrderResult>;
40
+ finalizeOrder(orderUuid: string, bitcoinTx: string): Promise<void>;
41
+ getOrders(userAddress: EvmAddress): Promise<GatewayOrderResponse[]>;
42
+ getTokens(): Promise<EvmAddress[]>;
43
+ getTokensInfo(): Promise<TokenInfo[]>;
44
+ }
45
+ export {};
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GatewayApiClient = exports.TESTNET_GATEWAY_BASE_URL = exports.MAINNET_GATEWAY_BASE_URL = void 0;
4
+ const ethers_1 = require("ethers");
5
+ const tokens_1 = require("./tokens");
6
+ exports.MAINNET_GATEWAY_BASE_URL = "https://gateway-api-mainnet.gobob.xyz";
7
+ exports.TESTNET_GATEWAY_BASE_URL = "https://gateway-api-testnet.gobob.xyz";
8
+ class GatewayApiClient {
9
+ constructor(networkOrUrl = "mainnet") {
10
+ switch (networkOrUrl) {
11
+ case "mainnet" || "bob":
12
+ this.baseUrl = exports.MAINNET_GATEWAY_BASE_URL;
13
+ break;
14
+ case "testnet" || "bob-sepolia":
15
+ this.baseUrl = exports.TESTNET_GATEWAY_BASE_URL;
16
+ break;
17
+ default:
18
+ this.baseUrl = networkOrUrl;
19
+ }
20
+ }
21
+ async getQuote(params) {
22
+ const isMainnet = params.toChain == "bob" || params.toChain == 60808;
23
+ let outputToken = "";
24
+ if (params.toToken.startsWith("0x")) {
25
+ outputToken = params.toToken;
26
+ }
27
+ else if (params.toToken in tokens_1.TOKENS_INFO) {
28
+ outputToken = isMainnet ? tokens_1.TOKENS_INFO[params.toToken].bob : tokens_1.TOKENS_INFO[params.toToken].bobSepolia;
29
+ }
30
+ else {
31
+ throw new Error('Unknown output token');
32
+ }
33
+ const atomicAmount = params.amount;
34
+ const response = await fetch(`${this.baseUrl}/quote/${outputToken}/${atomicAmount || ''}`, {
35
+ headers: {
36
+ 'Content-Type': 'application/json',
37
+ Accept: 'application/json'
38
+ }
39
+ });
40
+ return await response.json();
41
+ }
42
+ async startOrder(gatewayQuote, params) {
43
+ const request = {
44
+ gatewayAddress: gatewayQuote.gatewayAddress,
45
+ strategyAddress: gatewayQuote.strategyAddress,
46
+ satsToConvertToEth: params.gasRefill,
47
+ userAddress: params.toUserAddress,
48
+ gatewayExtraData: null,
49
+ strategyExtraData: null,
50
+ satoshis: gatewayQuote.satoshis,
51
+ };
52
+ const response = await fetch(`${this.baseUrl}/order`, {
53
+ method: 'POST',
54
+ headers: {
55
+ 'Content-Type': 'application/json',
56
+ Accept: 'application/json'
57
+ },
58
+ body: JSON.stringify(request)
59
+ });
60
+ if (!response.ok) {
61
+ throw new Error('Failed to create order');
62
+ }
63
+ const data = await response.json();
64
+ if (data.opReturnHash != calculateOpReturnHash(request)) {
65
+ throw new Error('Invalid OP_RETURN hash');
66
+ }
67
+ return {
68
+ uuid: data.uuid,
69
+ opReturnHash: data.opReturnHash,
70
+ bitcoinAddress: gatewayQuote.bitcoinAddress,
71
+ satoshis: gatewayQuote.satoshis,
72
+ };
73
+ }
74
+ async finalizeOrder(orderUuid, bitcoinTx) {
75
+ const response = await fetch(`${this.baseUrl}/order/${orderUuid}`, {
76
+ method: 'PATCH',
77
+ headers: {
78
+ 'Content-Type': 'application/json',
79
+ Accept: 'application/json'
80
+ },
81
+ body: JSON.stringify({ bitcoinTx: bitcoinTx })
82
+ });
83
+ if (!response.ok) {
84
+ throw new Error('Failed to update order');
85
+ }
86
+ }
87
+ async getOrders(userAddress) {
88
+ const response = await fetch(`${this.baseUrl}/orders/${userAddress}`, {
89
+ method: 'GET',
90
+ headers: {
91
+ 'Content-Type': 'application/json',
92
+ Accept: 'application/json'
93
+ }
94
+ });
95
+ return response.json();
96
+ }
97
+ async getTokens() {
98
+ const response = await fetch(`${this.baseUrl}/tokens`, {
99
+ method: 'GET',
100
+ headers: {
101
+ 'Content-Type': 'application/json',
102
+ Accept: 'application/json'
103
+ }
104
+ });
105
+ return response.json();
106
+ }
107
+ async getTokensInfo() {
108
+ const tokens = await this.getTokens();
109
+ return tokens
110
+ .map(token => tokens_1.ADDRESS_LOOKUP[token])
111
+ .filter(token => token !== undefined);
112
+ ;
113
+ }
114
+ }
115
+ exports.GatewayApiClient = GatewayApiClient;
116
+ function calculateOpReturnHash(req) {
117
+ const abiCoder = new ethers_1.AbiCoder();
118
+ return ethers_1.ethers.keccak256(abiCoder.encode(["address", "address", "uint256", "address", "bytes", "bytes"], [
119
+ req.gatewayAddress,
120
+ req.strategyAddress || ethers_1.ethers.ZeroAddress,
121
+ req.satsToConvertToEth,
122
+ req.userAddress,
123
+ req.gatewayExtraData,
124
+ req.strategyExtraData
125
+ ]));
126
+ }
127
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/gateway/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { GatewayApiClient as GatewaySDK } from "./client";
2
+ export { GatewayQuoteParams } from "./types";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GatewaySDK = void 0;
4
+ var client_1 = require("./client");
5
+ Object.defineProperty(exports, "GatewaySDK", { enumerable: true, get: function () { return client_1.GatewayApiClient; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":";;;AAAA,mCAA0D;AAAjD,oGAAA,gBAAgB,OAAc"}
@@ -0,0 +1,12 @@
1
+ export type Token = {
2
+ name: string;
3
+ symbol: string;
4
+ bob: string;
5
+ bobSepolia: string;
6
+ };
7
+ export declare const TOKENS_INFO: {
8
+ [key: string]: Token;
9
+ };
10
+ export declare const ADDRESS_LOOKUP: {
11
+ [address: string]: Token;
12
+ };
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ADDRESS_LOOKUP = exports.TOKENS_INFO = void 0;
4
+ const TOKENS = {
5
+ "tBTC": {
6
+ name: "tBTC v2",
7
+ symbol: "tBTC",
8
+ bob: "0xBBa2eF945D523C4e2608C9E1214C2Cc64D4fc2e2",
9
+ bobSepolia: "0x6744bAbDf02DCF578EA173A9F0637771A9e1c4d0",
10
+ },
11
+ "WBTC": {
12
+ name: "Wrapped BTC",
13
+ symbol: "WBTC",
14
+ bob: "0x03C7054BCB39f7b2e5B2c7AcB37583e32D70Cfa3",
15
+ bobSepolia: "0xe51e40e15e6e1496a0981f90Ca1D632545bdB519",
16
+ },
17
+ "sbtBTC": {
18
+ name: "sb tBTC v2",
19
+ symbol: "sbtBTC",
20
+ bob: "0x2925dF9Eb2092B53B06A06353A7249aF3a8B139e",
21
+ bobSepolia: "",
22
+ },
23
+ "sbWBTC": {
24
+ name: "sb Wrapped BTC",
25
+ symbol: "sbWBTC",
26
+ bob: "0x5c46D274ed8AbCAe2964B63c0360ad3Ccc384dAa",
27
+ bobSepolia: "",
28
+ },
29
+ "seTBTC": {
30
+ name: "Segment TBTC",
31
+ symbol: "seTBTC",
32
+ bob: "0xD30288EA9873f376016A0250433b7eA375676077",
33
+ bobSepolia: "",
34
+ },
35
+ "seWBTC": {
36
+ name: "Segment WBTC",
37
+ symbol: "seWBTC",
38
+ bob: "0x6265C05158f672016B771D6Fb7422823ed2CbcDd",
39
+ bobSepolia: "",
40
+ },
41
+ "stmtBTC": {
42
+ name: "Staked mtBTC",
43
+ symbol: "stmtBTC",
44
+ bob: "",
45
+ bobSepolia: "0xc4229678b65e2D9384FDf96F2E5D512d6eeC0C77",
46
+ }
47
+ };
48
+ exports.TOKENS_INFO = {};
49
+ exports.ADDRESS_LOOKUP = {};
50
+ for (const key in exports.TOKENS_INFO) {
51
+ const token = TOKENS[key];
52
+ const lowerBob = token.bob.toLowerCase();
53
+ const lowerBobSepolia = token.bobSepolia.toLowerCase();
54
+ const lowercasedToken = {
55
+ name: token.name,
56
+ symbol: token.symbol,
57
+ bob: lowerBob,
58
+ bobSepolia: lowerBobSepolia,
59
+ };
60
+ exports.TOKENS_INFO[key] = lowercasedToken;
61
+ exports.ADDRESS_LOOKUP[lowerBob] = lowercasedToken;
62
+ exports.ADDRESS_LOOKUP[lowerBobSepolia] = lowercasedToken;
63
+ }
64
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/gateway/tokens.ts"],"names":[],"mappings":";;;AAOA,MAAM,MAAM,GAA6B;IACrC,MAAM,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,4CAA4C;QACjD,UAAU,EAAE,4CAA4C;KAC3D;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,4CAA4C;QACjD,UAAU,EAAE,4CAA4C;KAC3D;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,4CAA4C;QACjD,UAAU,EAAE,EAAE;KACjB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,4CAA4C;QACjD,UAAU,EAAE,EAAE;KACjB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,4CAA4C;QACjD,UAAU,EAAE,EAAE;KACjB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,4CAA4C;QACjD,UAAU,EAAE,EAAE;KACjB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,SAAS;QACjB,GAAG,EAAE,EAAE;QACP,UAAU,EAAE,4CAA4C;KAC3D;CACJ,CAAC;AAEW,QAAA,WAAW,GAA6B,EAAE,CAAC;AAC3C,QAAA,cAAc,GAAiC,EAAE,CAAC;AAE/D,KAAK,MAAM,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAE1B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IAEvD,MAAM,eAAe,GAAU;QAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,EAAE,QAAQ;QACb,UAAU,EAAE,eAAe;KAC9B,CAAC;IAEF,mBAAW,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC;IACnC,sBAAc,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC;IAC3C,sBAAc,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC;AACtD,CAAC"}
@@ -0,0 +1,17 @@
1
+ type ChainSlug = string | number;
2
+ type TokenSymbol = string;
3
+ export interface GatewayQuoteParams {
4
+ fromChain: ChainSlug;
5
+ toChain: ChainSlug;
6
+ fromToken: TokenSymbol;
7
+ toToken: TokenSymbol;
8
+ fromUserAddress: string;
9
+ toUserAddress: string;
10
+ amount: number | string;
11
+ maxSlippage?: number;
12
+ affiliateId?: string;
13
+ type?: 'swap' | 'deposit' | 'withdraw' | 'claim';
14
+ fee?: number;
15
+ gasRefill?: number;
16
+ }
17
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/gateway/types.ts"],"names":[],"mappings":""}
package/dist/helpers.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { ElectrsClient } from "./electrs";
1
+ import { EsploraClient } from "./esplora";
2
2
  import { OrdinalsClient } from "./ordinal-api";
3
- export declare function getInscriptionIds(electrsClient: ElectrsClient, ordinalsClient: OrdinalsClient, bitcoinAddress: string): Promise<string[]>;
3
+ export declare function getInscriptionIds(esploraClient: EsploraClient, ordinalsClient: OrdinalsClient, bitcoinAddress: string): Promise<string[]>;
package/dist/helpers.js CHANGED
@@ -23,26 +23,25 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.getInscriptionIds = void 0;
26
+ exports.getInscriptionIds = getInscriptionIds;
27
27
  const inscription_1 = require("./inscription");
28
28
  const ordinal_api_1 = require("./ordinal-api");
29
29
  const bitcoin = __importStar(require("bitcoinjs-lib"));
30
- async function getInscriptionIds(electrsClient, ordinalsClient, bitcoinAddress) {
31
- const utxos = await electrsClient.getAddressUtxos(bitcoinAddress);
30
+ async function getInscriptionIds(esploraClient, ordinalsClient, bitcoinAddress) {
31
+ const utxos = await esploraClient.getAddressUtxos(bitcoinAddress);
32
32
  const inscriptionIds = await Promise.all(utxos.sort((a, b) => {
33
33
  const heightA = a.height || Number.MAX_SAFE_INTEGER;
34
34
  const heightB = b.height || Number.MAX_SAFE_INTEGER;
35
35
  return heightA - heightB;
36
- }).map(utxo => getInscriptionIdsForUtxo(electrsClient, ordinalsClient, utxo)));
36
+ }).map(utxo => getInscriptionIdsForUtxo(esploraClient, ordinalsClient, utxo)));
37
37
  return inscriptionIds.flat();
38
38
  }
39
- exports.getInscriptionIds = getInscriptionIds;
40
- async function getInscriptionIdsForUtxo(electrsClient, ordinalsClient, utxo) {
39
+ async function getInscriptionIdsForUtxo(esploraClient, ordinalsClient, utxo) {
41
40
  if (utxo.confirmed) {
42
41
  const outputJson = await ordinalsClient.getInscriptionsFromOutPoint(utxo);
43
42
  return outputJson.inscriptions;
44
43
  }
45
- const txHex = await electrsClient.getTransactionHex(utxo.txid);
44
+ const txHex = await esploraClient.getTransactionHex(utxo.txid);
46
45
  const tx = bitcoin.Transaction.fromHex(txHex);
47
46
  if (utxo.vout == 0) {
48
47
  const parentInscriptions = await Promise.all(tx.ins.map(async (txInput) => {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAkD;AAClD,+CAA8D;AAC9D,uDAAyC;AAGlC,KAAK,UAAU,iBAAiB,CAAC,aAA4B,EAAE,cAA8B,EAAE,cAAsB;IACxH,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAClE,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAEhB,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,gBAAgB,CAAC;QACpD,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,gBAAgB,CAAC;QAEpD,OAAO,OAAO,GAAG,OAAO,CAAC;IAC7B,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAChF,CAAC;IACF,OAAO,cAAc,CAAC,IAAI,EAAE,CAAC;AACjC,CAAC;AAZD,8CAYC;AAGD,KAAK,UAAU,wBAAwB,CAAC,aAA4B,EAAE,cAA8B,EAAE,IAAU;IAC5G,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAC1E,OAAO,UAAU,CAAC,YAAY,CAAC;IACnC,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAI9C,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;QAKjB,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACpE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,2BAA2B,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YACnG,OAAO,UAAU,CAAC,YAAY,CAAC;QACnC,CAAC,CAAC,CAAC,CAAC;QACJ,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,cAAc,CAAC;QAC1B,CAAC;IACL,CAAC;IAGD,MAAM,YAAY,GAAG,IAAA,+BAAiB,EAAC,EAAE,CAAC,CAAC;IAE3C,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACd,CAAC;SAAM,CAAC;QAEJ,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,2BAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9F,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAMA,8CAYC;AAjBD,+CAAkD;AAClD,+CAA8D;AAC9D,uDAAyC;AAGlC,KAAK,UAAU,iBAAiB,CAAC,aAA4B,EAAE,cAA8B,EAAE,cAAsB;IACxH,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAClE,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAEhB,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,gBAAgB,CAAC;QACpD,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,gBAAgB,CAAC;QAEpD,OAAO,OAAO,GAAG,OAAO,CAAC;IAC7B,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAChF,CAAC;IACF,OAAO,cAAc,CAAC,IAAI,EAAE,CAAC;AACjC,CAAC;AAGD,KAAK,UAAU,wBAAwB,CAAC,aAA4B,EAAE,cAA8B,EAAE,IAAU;IAC5G,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAC1E,OAAO,UAAU,CAAC,YAAY,CAAC;IACnC,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAI9C,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;QAKjB,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACpE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,2BAA2B,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YACnG,OAAO,UAAU,CAAC,YAAY,CAAC;QACnC,CAAC,CAAC,CAAC,CAAC;QACJ,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,cAAc,CAAC;QAC1B,CAAC;IACL,CAAC;IAGD,MAAM,YAAY,GAAG,IAAA,+BAAiB,EAAC,EAAE,CAAC,CAAC;IAE3C,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACd,CAAC;SAAM,CAAC;QAEJ,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,2BAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9F,CAAC;AACL,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
- export * from "./electrs";
1
+ export * from "./esplora";
2
2
  export * from "./relay";
3
3
  export * from "./utils";
4
4
  export * from "./ordinals";
5
5
  export * from "./helpers";
6
+ export * from "./wallet";
7
+ export * from "./gateway";
package/dist/index.js CHANGED
@@ -14,9 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./electrs"), exports);
17
+ __exportStar(require("./esplora"), exports);
18
18
  __exportStar(require("./relay"), exports);
19
19
  __exportStar(require("./utils"), exports);
20
20
  __exportStar(require("./ordinals"), exports);
21
21
  __exportStar(require("./helpers"), exports);
22
+ __exportStar(require("./wallet"), exports);
23
+ __exportStar(require("./gateway"), exports);
22
24
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,0CAAwB;AACxB,0CAAwB;AACxB,6CAA2B;AAC3B,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,0CAAwB;AACxB,0CAAwB;AACxB,6CAA2B;AAC3B,4CAA0B;AAC1B,2CAAyB;AACzB,4CAA0B"}
@@ -1,6 +1,5 @@
1
- /// <reference types="node" />
2
1
  import * as bitcoin from "bitcoinjs-lib";
3
- import { ElectrsClient } from "./electrs";
2
+ import { EsploraClient } from "./esplora";
4
3
  export declare const PROTOCOL_ID: Buffer;
5
4
  export declare const MAX_CHUNK_SIZE = 520;
6
5
  export declare function chunkContent(data: Buffer): Buffer[];
@@ -20,5 +19,5 @@ export declare namespace Inscription {
20
19
  function createInscription(contentType: string, content: Buffer): Inscription;
21
20
  }
22
21
  export declare function parseInscriptions(tx: bitcoin.Transaction): Inscription[];
23
- export declare function getTxInscriptions(electrsClient: ElectrsClient, txid: string): Promise<Inscription[]>;
24
- export declare function getInscriptionFromId(electrsClient: ElectrsClient, inscriptionId: string): Promise<Inscription>;
22
+ export declare function getTxInscriptions(esploraClient: EsploraClient, txid: string): Promise<Inscription[]>;
23
+ export declare function getInscriptionFromId(esploraClient: EsploraClient, inscriptionId: string): Promise<Inscription>;
@@ -23,7 +23,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.getInscriptionFromId = exports.getTxInscriptions = exports.parseInscriptions = exports.Inscription = exports.chunkContent = exports.MAX_CHUNK_SIZE = exports.PROTOCOL_ID = void 0;
26
+ exports.Inscription = exports.MAX_CHUNK_SIZE = exports.PROTOCOL_ID = void 0;
27
+ exports.chunkContent = chunkContent;
28
+ exports.parseInscriptions = parseInscriptions;
29
+ exports.getTxInscriptions = getTxInscriptions;
30
+ exports.getInscriptionFromId = getInscriptionFromId;
27
31
  const bitcoin = __importStar(require("bitcoinjs-lib"));
28
32
  const ordinal_api_1 = require("./ordinal-api");
29
33
  const textEncoder = new TextEncoder();
@@ -42,7 +46,6 @@ function chunkContent(data) {
42
46
  }
43
47
  return body;
44
48
  }
45
- exports.chunkContent = chunkContent;
46
49
  function convertOpInt(value) {
47
50
  if (value >= bitcoin.opcodes.OP_1 && value <= bitcoin.opcodes.OP_16) {
48
51
  return value - OP_INT_BASE;
@@ -106,8 +109,8 @@ exports.Inscription = Inscription;
106
109
  Inscription.createTextInscription = createTextInscription;
107
110
  function createInscription(contentType, content) {
108
111
  const inscription = new Inscription;
109
- inscription.setContentType(contentType),
110
- inscription.body = content;
112
+ inscription.setContentType(contentType);
113
+ inscription.body = content;
111
114
  return inscription;
112
115
  }
113
116
  Inscription.createInscription = createInscription;
@@ -172,17 +175,14 @@ function parseInscriptions(tx) {
172
175
  }
173
176
  return inscriptions;
174
177
  }
175
- exports.parseInscriptions = parseInscriptions;
176
- async function getTxInscriptions(electrsClient, txid) {
177
- const txHex = await electrsClient.getTransactionHex(txid);
178
+ async function getTxInscriptions(esploraClient, txid) {
179
+ const txHex = await esploraClient.getTransactionHex(txid);
178
180
  const tx = bitcoin.Transaction.fromHex(txHex);
179
181
  return parseInscriptions(tx);
180
182
  }
181
- exports.getTxInscriptions = getTxInscriptions;
182
- async function getInscriptionFromId(electrsClient, inscriptionId) {
183
+ async function getInscriptionFromId(esploraClient, inscriptionId) {
183
184
  const { txid, index } = ordinal_api_1.InscriptionId.fromString(inscriptionId);
184
- const inscriptions = await getTxInscriptions(electrsClient, txid);
185
+ const inscriptions = await getTxInscriptions(esploraClient, txid);
185
186
  return inscriptions[index];
186
187
  }
187
- exports.getInscriptionFromId = getInscriptionFromId;
188
188
  //# sourceMappingURL=inscription.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inscription.js","sourceRoot":"","sources":["../src/inscription.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inscription.js","sourceRoot":"","sources":["../src/inscription.ts"],"names":[],"mappings":"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"}