@bitgo-beta/sdk-coin-tempo 1.0.1-beta.4 → 1.0.1-beta.40

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.
@@ -1,5 +1,6 @@
1
1
  export * from './lib';
2
2
  export * from './tempo';
3
3
  export * from './ttempo';
4
+ export * from './tip20Token';
4
5
  export * from './register';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
package/dist/src/index.js CHANGED
@@ -17,5 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./lib"), exports);
18
18
  __exportStar(require("./tempo"), exports);
19
19
  __exportStar(require("./ttempo"), exports);
20
+ __exportStar(require("./tip20Token"), exports);
20
21
  __exportStar(require("./register"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQjtBQUN0QiwwQ0FBd0I7QUFDeEIsMkNBQXlCO0FBQ3pCLDZDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliJztcbmV4cG9ydCAqIGZyb20gJy4vdGVtcG8nO1xuZXhwb3J0ICogZnJvbSAnLi90dGVtcG8nO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlcic7XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQjtBQUN0QiwwQ0FBd0I7QUFDeEIsMkNBQXlCO0FBQ3pCLCtDQUE2QjtBQUM3Qiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG5leHBvcnQgKiBmcm9tICcuL3RlbXBvJztcbmV4cG9ydCAqIGZyb20gJy4vdHRlbXBvJztcbmV4cG9ydCAqIGZyb20gJy4vdGlwMjBUb2tlbic7XG5leHBvcnQgKiBmcm9tICcuL3JlZ2lzdGVyJztcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Constants for Tempo
2
+ * Constants for Tempo blockchain (EVM-compatible)
3
3
  */
4
4
  export declare const MAINNET_COIN = "tempo";
5
5
  export declare const TESTNET_COIN = "ttempo";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Constants for Tempo
3
+ * Constants for Tempo blockchain (EVM-compatible)
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.VALID_PUBLIC_KEY_REGEX = exports.VALID_ADDRESS_REGEX = exports.TESTNET_COIN = exports.MAINNET_COIN = void 0;
@@ -8,4 +8,4 @@ exports.MAINNET_COIN = 'tempo';
8
8
  exports.TESTNET_COIN = 'ttempo';
9
9
  exports.VALID_ADDRESS_REGEX = /^[A-Za-z0-9]+$/; // Update with actual address format
10
10
  exports.VALID_PUBLIC_KEY_REGEX = /^[A-Fa-f0-9]{64}$/; // Update with actual public key format
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7QUFFVSxRQUFBLFlBQVksR0FBRyxPQUFPLENBQUM7QUFDdkIsUUFBQSxZQUFZLEdBQUcsUUFBUSxDQUFDO0FBRXhCLFFBQUEsbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxvQ0FBb0M7QUFDNUUsUUFBQSxzQkFBc0IsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDLHVDQUF1QyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29uc3RhbnRzIGZvciBUZW1wb1xuICovXG5cbmV4cG9ydCBjb25zdCBNQUlOTkVUX0NPSU4gPSAndGVtcG8nO1xuZXhwb3J0IGNvbnN0IFRFU1RORVRfQ09JTiA9ICd0dGVtcG8nO1xuXG5leHBvcnQgY29uc3QgVkFMSURfQUREUkVTU19SRUdFWCA9IC9eW0EtWmEtejAtOV0rJC87IC8vIFVwZGF0ZSB3aXRoIGFjdHVhbCBhZGRyZXNzIGZvcm1hdFxuZXhwb3J0IGNvbnN0IFZBTElEX1BVQkxJQ19LRVlfUkVHRVggPSAvXltBLUZhLWYwLTldezY0fSQvOyAvLyBVcGRhdGUgd2l0aCBhY3R1YWwgcHVibGljIGtleSBmb3JtYXRcbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7QUFFVSxRQUFBLFlBQVksR0FBRyxPQUFPLENBQUM7QUFDdkIsUUFBQSxZQUFZLEdBQUcsUUFBUSxDQUFDO0FBRXhCLFFBQUEsbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxvQ0FBb0M7QUFDNUUsUUFBQSxzQkFBc0IsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDLHVDQUF1QyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29uc3RhbnRzIGZvciBUZW1wbyBibG9ja2NoYWluIChFVk0tY29tcGF0aWJsZSlcbiAqL1xuXG5leHBvcnQgY29uc3QgTUFJTk5FVF9DT0lOID0gJ3RlbXBvJztcbmV4cG9ydCBjb25zdCBURVNUTkVUX0NPSU4gPSAndHRlbXBvJztcblxuZXhwb3J0IGNvbnN0IFZBTElEX0FERFJFU1NfUkVHRVggPSAvXltBLVphLXowLTldKyQvOyAvLyBVcGRhdGUgd2l0aCBhY3R1YWwgYWRkcmVzcyBmb3JtYXRcbmV4cG9ydCBjb25zdCBWQUxJRF9QVUJMSUNfS0VZX1JFR0VYID0gL15bQS1GYS1mMC05XXs2NH0kLzsgLy8gVXBkYXRlIHdpdGggYWN0dWFsIHB1YmxpYyBrZXkgZm9ybWF0XG4iXX0=
@@ -2,4 +2,5 @@ export * from './keyPair';
2
2
  export * from './utils';
3
3
  export * from './constants';
4
4
  export * from './iface';
5
+ export * from './tip20Abi';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
@@ -18,4 +18,5 @@ __exportStar(require("./keyPair"), exports);
18
18
  __exportStar(require("./utils"), exports);
19
19
  __exportStar(require("./constants"), exports);
20
20
  __exportStar(require("./iface"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0Q0FBMEI7QUFDMUIsMENBQXdCO0FBQ3hCLDhDQUE0QjtBQUM1QiwwQ0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2tleVBhaXInO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2lmYWNlJztcbiJdfQ==
21
+ __exportStar(require("./tip20Abi"), exports);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0Q0FBMEI7QUFDMUIsMENBQXdCO0FBQ3hCLDhDQUE0QjtBQUM1QiwwQ0FBd0I7QUFDeEIsNkNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9rZXlQYWlyJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9pZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3RpcDIwQWJpJztcbiJdfQ==
@@ -1,28 +1,18 @@
1
+ /**
2
+ * Tempo KeyPair - Reuses Ethereum KeyPair Implementation
3
+ *
4
+ * Since Tempo is EVM-compatible and uses the same cryptography (ECDSA/secp256k1)
5
+ * as Ethereum, we can directly reuse the Ethereum KeyPair implementation.
6
+ */
1
7
  import { DefaultKeys, KeyPairOptions } from '@bitgo-beta/sdk-core';
2
8
  /**
3
- * Tempo keys and address management
9
+ * Tempo KeyPair class
10
+ * Uses same key derivation as Ethereum (BIP32 + secp256k1)
4
11
  */
5
12
  export declare class KeyPair {
6
13
  private keyPair;
7
- /**
8
- * Public constructor. By default, creates a key pair with a random master seed.
9
- *
10
- * @param { KeyPairOptions } source Either a master seed, a private key, or a public key
11
- */
12
14
  constructor(source?: KeyPairOptions);
13
- /**
14
- * Generate a keypair from a seed
15
- * @param seed
16
- * @private
17
- */
18
- private generateKeyPairFromSeed;
19
- /**
20
- * Get the public key
21
- */
22
15
  getKeys(): DefaultKeys;
23
- /**
24
- * Get the address
25
- */
26
16
  getAddress(): string;
27
17
  }
28
18
  //# sourceMappingURL=keyPair.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqC,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtG;;GAEG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,OAAO,CAAc;IAE7B;;;;OAIG;gBACS,MAAM,CAAC,EAAE,cAAc;IAqBnC;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAY/B;;OAEG;IACH,OAAO,IAAI,WAAW;IAItB;;OAEG;IACH,UAAU,IAAI,MAAM;CAIrB"}
1
+ {"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEnE;;;GAGG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,OAAO,CAAc;gBAEjB,MAAM,CAAC,EAAE,cAAc;IAWnC,OAAO,IAAI,WAAW;IAItB,UAAU,IAAI,MAAM;CAIrB"}
@@ -1,100 +1,34 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
2
+ /**
3
+ * Tempo KeyPair - Reuses Ethereum KeyPair Implementation
4
+ *
5
+ * Since Tempo is EVM-compatible and uses the same cryptography (ECDSA/secp256k1)
6
+ * as Ethereum, we can directly reuse the Ethereum KeyPair implementation.
7
+ */
35
8
  Object.defineProperty(exports, "__esModule", { value: true });
36
9
  exports.KeyPair = void 0;
37
- const sdk_core_1 = require("@bitgo-beta/sdk-core");
38
- const crypto = __importStar(require("crypto"));
10
+ const secp256k1_1 = require("@bitgo-beta/secp256k1");
39
11
  /**
40
- * Tempo keys and address management
12
+ * Tempo KeyPair class
13
+ * Uses same key derivation as Ethereum (BIP32 + secp256k1)
41
14
  */
42
15
  class KeyPair {
43
- /**
44
- * Public constructor. By default, creates a key pair with a random master seed.
45
- *
46
- * @param { KeyPairOptions } source Either a master seed, a private key, or a public key
47
- */
48
16
  constructor(source) {
49
- let seed;
50
- if (!source) {
51
- seed = crypto.randomBytes(32);
52
- }
53
- else if ((0, sdk_core_1.isSeed)(source)) {
54
- seed = source.seed;
55
- }
56
- else if ((0, sdk_core_1.isPrivateKey)(source)) {
57
- // TODO: Implement private key to keypair conversion
58
- throw new Error('Private key import not yet implemented');
59
- }
60
- else if ((0, sdk_core_1.isPublicKey)(source)) {
61
- // TODO: Implement public key import
62
- throw new Error('Public key import not yet implemented');
63
- }
64
- else {
65
- throw new Error('Invalid key pair options');
66
- }
67
- // TODO: Generate actual keypair from seed based on the coin's key derivation
68
- this.keyPair = this.generateKeyPairFromSeed(seed);
69
- }
70
- /**
71
- * Generate a keypair from a seed
72
- * @param seed
73
- * @private
74
- */
75
- generateKeyPairFromSeed(seed) {
76
- // TODO: Implement actual key generation for Tempo
77
- // This is a placeholder implementation
78
- const prv = seed.toString('hex');
79
- const pub = crypto.createHash('sha256').update(seed).digest('hex');
80
- return {
81
- prv,
82
- pub,
17
+ // TODO: Implement proper key generation when needed
18
+ const seed = Buffer.alloc(64);
19
+ const hdNode = secp256k1_1.bip32.fromSeed(seed);
20
+ this.keyPair = {
21
+ prv: hdNode.toBase58(),
22
+ pub: hdNode.neutered().toBase58(),
83
23
  };
84
24
  }
85
- /**
86
- * Get the public key
87
- */
88
25
  getKeys() {
89
26
  return this.keyPair;
90
27
  }
91
- /**
92
- * Get the address
93
- */
94
28
  getAddress() {
95
- // TODO: Implement address derivation from public key
96
- return this.keyPair.pub;
29
+ // TODO: Implement Ethereum-style address derivation
30
+ return '0x0000000000000000000000000000000000000000';
97
31
  }
98
32
  }
99
33
  exports.KeyPair = KeyPair;
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFBc0c7QUFDdEcsK0NBQWlDO0FBRWpDOztHQUVHO0FBQ0gsTUFBYSxPQUFPO0lBR2xCOzs7O09BSUc7SUFDSCxZQUFZLE1BQXVCO1FBQ2pDLElBQUksSUFBWSxDQUFDO1FBRWpCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLElBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7YUFBTSxJQUFJLElBQUEsaUJBQU0sRUFBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzFCLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3JCLENBQUM7YUFBTSxJQUFJLElBQUEsdUJBQVksRUFBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2hDLG9EQUFvRDtZQUNwRCxNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7UUFDNUQsQ0FBQzthQUFNLElBQUksSUFBQSxzQkFBVyxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDL0Isb0NBQW9DO1lBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUMzRCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBRUQsNkVBQTZFO1FBQzdFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssdUJBQXVCLENBQUMsSUFBWTtRQUMxQyxrREFBa0Q7UUFDbEQsdUNBQXVDO1FBQ3ZDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5FLE9BQU87WUFDTCxHQUFHO1lBQ0gsR0FBRztTQUNKLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixxREFBcUQ7UUFDckQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztJQUMxQixDQUFDO0NBQ0Y7QUE1REQsMEJBNERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVmYXVsdEtleXMsIGlzUHJpdmF0ZUtleSwgaXNQdWJsaWNLZXksIGlzU2VlZCwgS2V5UGFpck9wdGlvbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcblxuLyoqXG4gKiBUZW1wbyBrZXlzIGFuZCBhZGRyZXNzIG1hbmFnZW1lbnRcbiAqL1xuZXhwb3J0IGNsYXNzIEtleVBhaXIge1xuICBwcml2YXRlIGtleVBhaXI6IERlZmF1bHRLZXlzO1xuXG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuIEJ5IGRlZmF1bHQsIGNyZWF0ZXMgYSBrZXkgcGFpciB3aXRoIGEgcmFuZG9tIG1hc3RlciBzZWVkLlxuICAgKlxuICAgKiBAcGFyYW0geyBLZXlQYWlyT3B0aW9ucyB9IHNvdXJjZSBFaXRoZXIgYSBtYXN0ZXIgc2VlZCwgYSBwcml2YXRlIGtleSwgb3IgYSBwdWJsaWMga2V5XG4gICAqL1xuICBjb25zdHJ1Y3Rvcihzb3VyY2U/OiBLZXlQYWlyT3B0aW9ucykge1xuICAgIGxldCBzZWVkOiBCdWZmZXI7XG5cbiAgICBpZiAoIXNvdXJjZSkge1xuICAgICAgc2VlZCA9IGNyeXB0by5yYW5kb21CeXRlcygzMik7XG4gICAgfSBlbHNlIGlmIChpc1NlZWQoc291cmNlKSkge1xuICAgICAgc2VlZCA9IHNvdXJjZS5zZWVkO1xuICAgIH0gZWxzZSBpZiAoaXNQcml2YXRlS2V5KHNvdXJjZSkpIHtcbiAgICAgIC8vIFRPRE86IEltcGxlbWVudCBwcml2YXRlIGtleSB0byBrZXlwYWlyIGNvbnZlcnNpb25cbiAgICAgIHRocm93IG5ldyBFcnJvcignUHJpdmF0ZSBrZXkgaW1wb3J0IG5vdCB5ZXQgaW1wbGVtZW50ZWQnKTtcbiAgICB9IGVsc2UgaWYgKGlzUHVibGljS2V5KHNvdXJjZSkpIHtcbiAgICAgIC8vIFRPRE86IEltcGxlbWVudCBwdWJsaWMga2V5IGltcG9ydFxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQdWJsaWMga2V5IGltcG9ydCBub3QgeWV0IGltcGxlbWVudGVkJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBrZXkgcGFpciBvcHRpb25zJyk7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogR2VuZXJhdGUgYWN0dWFsIGtleXBhaXIgZnJvbSBzZWVkIGJhc2VkIG9uIHRoZSBjb2luJ3Mga2V5IGRlcml2YXRpb25cbiAgICB0aGlzLmtleVBhaXIgPSB0aGlzLmdlbmVyYXRlS2V5UGFpckZyb21TZWVkKHNlZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEga2V5cGFpciBmcm9tIGEgc2VlZFxuICAgKiBAcGFyYW0gc2VlZFxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZUtleVBhaXJGcm9tU2VlZChzZWVkOiBCdWZmZXIpOiBEZWZhdWx0S2V5cyB7XG4gICAgLy8gVE9ETzogSW1wbGVtZW50IGFjdHVhbCBrZXkgZ2VuZXJhdGlvbiBmb3IgVGVtcG9cbiAgICAvLyBUaGlzIGlzIGEgcGxhY2Vob2xkZXIgaW1wbGVtZW50YXRpb25cbiAgICBjb25zdCBwcnYgPSBzZWVkLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCBwdWIgPSBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKHNlZWQpLmRpZ2VzdCgnaGV4Jyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHJ2LFxuICAgICAgcHViLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBwdWJsaWMga2V5XG4gICAqL1xuICBnZXRLZXlzKCk6IERlZmF1bHRLZXlzIHtcbiAgICByZXR1cm4gdGhpcy5rZXlQYWlyO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgYWRkcmVzc1xuICAgKi9cbiAgZ2V0QWRkcmVzcygpOiBzdHJpbmcge1xuICAgIC8vIFRPRE86IEltcGxlbWVudCBhZGRyZXNzIGRlcml2YXRpb24gZnJvbSBwdWJsaWMga2V5XG4gICAgcmV0dXJuIHRoaXMua2V5UGFpci5wdWI7XG4gIH1cbn1cbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7O0dBS0c7OztBQUVILHFEQUE4QztBQUc5Qzs7O0dBR0c7QUFDSCxNQUFhLE9BQU87SUFHbEIsWUFBWSxNQUF1QjtRQUNqQyxvREFBb0Q7UUFDcEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5QixNQUFNLE1BQU0sR0FBRyxpQkFBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2IsR0FBRyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDdEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7U0FDbEMsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxVQUFVO1FBQ1Isb0RBQW9EO1FBQ3BELE9BQU8sNENBQTRDLENBQUM7SUFDdEQsQ0FBQztDQUNGO0FBdEJELDBCQXNCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGVtcG8gS2V5UGFpciAtIFJldXNlcyBFdGhlcmV1bSBLZXlQYWlyIEltcGxlbWVudGF0aW9uXG4gKlxuICogU2luY2UgVGVtcG8gaXMgRVZNLWNvbXBhdGlibGUgYW5kIHVzZXMgdGhlIHNhbWUgY3J5cHRvZ3JhcGh5IChFQ0RTQS9zZWNwMjU2azEpXG4gKiBhcyBFdGhlcmV1bSwgd2UgY2FuIGRpcmVjdGx5IHJldXNlIHRoZSBFdGhlcmV1bSBLZXlQYWlyIGltcGxlbWVudGF0aW9uLlxuICovXG5cbmltcG9ydCB7IGJpcDMyIH0gZnJvbSAnQGJpdGdvLWJldGEvc2VjcDI1NmsxJztcbmltcG9ydCB7IERlZmF1bHRLZXlzLCBLZXlQYWlyT3B0aW9ucyB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuLyoqXG4gKiBUZW1wbyBLZXlQYWlyIGNsYXNzXG4gKiBVc2VzIHNhbWUga2V5IGRlcml2YXRpb24gYXMgRXRoZXJldW0gKEJJUDMyICsgc2VjcDI1NmsxKVxuICovXG5leHBvcnQgY2xhc3MgS2V5UGFpciB7XG4gIHByaXZhdGUga2V5UGFpcjogRGVmYXVsdEtleXM7XG5cbiAgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMpIHtcbiAgICAvLyBUT0RPOiBJbXBsZW1lbnQgcHJvcGVyIGtleSBnZW5lcmF0aW9uIHdoZW4gbmVlZGVkXG4gICAgY29uc3Qgc2VlZCA9IEJ1ZmZlci5hbGxvYyg2NCk7XG4gICAgY29uc3QgaGROb2RlID0gYmlwMzIuZnJvbVNlZWQoc2VlZCk7XG5cbiAgICB0aGlzLmtleVBhaXIgPSB7XG4gICAgICBwcnY6IGhkTm9kZS50b0Jhc2U1OCgpLFxuICAgICAgcHViOiBoZE5vZGUubmV1dGVyZWQoKS50b0Jhc2U1OCgpLFxuICAgIH07XG4gIH1cblxuICBnZXRLZXlzKCk6IERlZmF1bHRLZXlzIHtcbiAgICByZXR1cm4gdGhpcy5rZXlQYWlyO1xuICB9XG5cbiAgZ2V0QWRkcmVzcygpOiBzdHJpbmcge1xuICAgIC8vIFRPRE86IEltcGxlbWVudCBFdGhlcmV1bS1zdHlsZSBhZGRyZXNzIGRlcml2YXRpb25cbiAgICByZXR1cm4gJzB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,25 @@
1
+ /**
2
+ * TIP20 Token Standard ABI (Skeleton)
3
+ *
4
+ * TODO: Update this file when TIP20 ABI becomes available
5
+ */
6
+ /**
7
+ * Placeholder TIP20 ABI
8
+ * This is an empty array that should be replaced with the actual ABI
9
+ */
10
+ export declare const TIP20_ABI: readonly [];
11
+ /**
12
+ * Placeholder for TIP20 Factory ABI
13
+ */
14
+ export declare const TIP20_FACTORY_ABI: readonly [];
15
+ /**
16
+ * Get the method signature for TIP20 transfer
17
+ * TODO: Update with actual method name if different from ERC20
18
+ */
19
+ export declare function getTip20TransferSignature(): string;
20
+ /**
21
+ * Get the method signature for TIP20 transferFrom
22
+ * TODO: Update with actual method name if different from ERC20
23
+ */
24
+ export declare function getTip20TransferFromSignature(): string;
25
+ //# sourceMappingURL=tip20Abi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tip20Abi.d.ts","sourceRoot":"","sources":["../../../src/lib/tip20Abi.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,eAAO,MAAM,SAAS,aAAc,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,iBAAiB,aAAc,CAAC;AAE7C;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,MAAM,CAEtD"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /**
3
+ * TIP20 Token Standard ABI (Skeleton)
4
+ *
5
+ * TODO: Update this file when TIP20 ABI becomes available
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.TIP20_FACTORY_ABI = exports.TIP20_ABI = void 0;
9
+ exports.getTip20TransferSignature = getTip20TransferSignature;
10
+ exports.getTip20TransferFromSignature = getTip20TransferFromSignature;
11
+ /**
12
+ * Placeholder TIP20 ABI
13
+ * This is an empty array that should be replaced with the actual ABI
14
+ */
15
+ exports.TIP20_ABI = [];
16
+ /**
17
+ * Placeholder for TIP20 Factory ABI
18
+ */
19
+ exports.TIP20_FACTORY_ABI = [];
20
+ /**
21
+ * Get the method signature for TIP20 transfer
22
+ * TODO: Update with actual method name if different from ERC20
23
+ */
24
+ function getTip20TransferSignature() {
25
+ return 'transfer(address,uint256)';
26
+ }
27
+ /**
28
+ * Get the method signature for TIP20 transferFrom
29
+ * TODO: Update with actual method name if different from ERC20
30
+ */
31
+ function getTip20TransferFromSignature() {
32
+ return 'transferFrom(address,address,uint256)';
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwMjBBYmkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RpcDIwQWJpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7OztHQUlHOzs7QUFpQkgsOERBRUM7QUFNRCxzRUFFQztBQXpCRDs7O0dBR0c7QUFDVSxRQUFBLFNBQVMsR0FBRyxFQUFXLENBQUM7QUFFckM7O0dBRUc7QUFDVSxRQUFBLGlCQUFpQixHQUFHLEVBQVcsQ0FBQztBQUU3Qzs7O0dBR0c7QUFDSCxTQUFnQix5QkFBeUI7SUFDdkMsT0FBTywyQkFBMkIsQ0FBQztBQUNyQyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsNkJBQTZCO0lBQzNDLE9BQU8sdUNBQXVDLENBQUM7QUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVElQMjAgVG9rZW4gU3RhbmRhcmQgQUJJIChTa2VsZXRvbilcbiAqXG4gKiBUT0RPOiBVcGRhdGUgdGhpcyBmaWxlIHdoZW4gVElQMjAgQUJJIGJlY29tZXMgYXZhaWxhYmxlXG4gKi9cblxuLyoqXG4gKiBQbGFjZWhvbGRlciBUSVAyMCBBQklcbiAqIFRoaXMgaXMgYW4gZW1wdHkgYXJyYXkgdGhhdCBzaG91bGQgYmUgcmVwbGFjZWQgd2l0aCB0aGUgYWN0dWFsIEFCSVxuICovXG5leHBvcnQgY29uc3QgVElQMjBfQUJJID0gW10gYXMgY29uc3Q7XG5cbi8qKlxuICogUGxhY2Vob2xkZXIgZm9yIFRJUDIwIEZhY3RvcnkgQUJJXG4gKi9cbmV4cG9ydCBjb25zdCBUSVAyMF9GQUNUT1JZX0FCSSA9IFtdIGFzIGNvbnN0O1xuXG4vKipcbiAqIEdldCB0aGUgbWV0aG9kIHNpZ25hdHVyZSBmb3IgVElQMjAgdHJhbnNmZXJcbiAqIFRPRE86IFVwZGF0ZSB3aXRoIGFjdHVhbCBtZXRob2QgbmFtZSBpZiBkaWZmZXJlbnQgZnJvbSBFUkMyMFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGlwMjBUcmFuc2ZlclNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICByZXR1cm4gJ3RyYW5zZmVyKGFkZHJlc3MsdWludDI1NiknO1xufVxuXG4vKipcbiAqIEdldCB0aGUgbWV0aG9kIHNpZ25hdHVyZSBmb3IgVElQMjAgdHJhbnNmZXJGcm9tXG4gKiBUT0RPOiBVcGRhdGUgd2l0aCBhY3R1YWwgbWV0aG9kIG5hbWUgaWYgZGlmZmVyZW50IGZyb20gRVJDMjBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRpcDIwVHJhbnNmZXJGcm9tU2lnbmF0dXJlKCk6IHN0cmluZyB7XG4gIHJldHVybiAndHJhbnNmZXJGcm9tKGFkZHJlc3MsYWRkcmVzcyx1aW50MjU2KSc7XG59XG4iXX0=
@@ -1,19 +1,22 @@
1
1
  /**
2
- * Utility functions for Tempo
2
+ * Tempo Utility Functions
3
+ *
4
+ * Since Tempo is EVM-compatible, we can reuse Ethereum utilities
5
+
3
6
  */
4
7
  /**
5
- * Check if the address is valid
6
- * @param address
8
+ * Check if address is valid Ethereum-style address
9
+ * TODO: Replace with ETH utils when implementing
7
10
  */
8
11
  export declare function isValidAddress(address: string): boolean;
9
12
  /**
10
- * Check if the public key is valid
11
- * @param publicKey
13
+ * Check if public key is valid (BIP32 xpub format)
14
+ * TODO: Replace with ETH utils when implementing
12
15
  */
13
16
  export declare function isValidPublicKey(publicKey: string): boolean;
14
17
  /**
15
- * Check if the private key is valid
16
- * @param privateKey
18
+ * Check if private key is valid (BIP32 xprv format)
19
+ * TODO: Replace with ETH utils when implementing
17
20
  */
18
21
  export declare function isValidPrivateKey(privateKey: string): boolean;
19
22
  declare const utils: {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAG3D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAG7D;AAED,QAAA,MAAM,KAAK;;;;CAIV,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAKvD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAU3D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAU7D;AAED,QAAA,MAAM,KAAK;;;;CAIV,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -1,35 +1,57 @@
1
1
  "use strict";
2
+ /**
3
+ * Tempo Utility Functions
4
+ *
5
+ * Since Tempo is EVM-compatible, we can reuse Ethereum utilities
6
+
7
+ */
2
8
  Object.defineProperty(exports, "__esModule", { value: true });
3
9
  exports.isValidAddress = isValidAddress;
4
10
  exports.isValidPublicKey = isValidPublicKey;
5
11
  exports.isValidPrivateKey = isValidPrivateKey;
12
+ const secp256k1_1 = require("@bitgo-beta/secp256k1");
6
13
  const constants_1 = require("./constants");
7
14
  /**
8
- * Utility functions for Tempo
9
- */
10
- /**
11
- * Check if the address is valid
12
- * @param address
15
+ * Check if address is valid Ethereum-style address
16
+ * TODO: Replace with ETH utils when implementing
13
17
  */
14
18
  function isValidAddress(address) {
15
- // TODO: Implement proper address validation for Tempo
19
+ if (typeof address !== 'string') {
20
+ return false;
21
+ }
16
22
  return constants_1.VALID_ADDRESS_REGEX.test(address);
17
23
  }
18
24
  /**
19
- * Check if the public key is valid
20
- * @param publicKey
25
+ * Check if public key is valid (BIP32 xpub format)
26
+ * TODO: Replace with ETH utils when implementing
21
27
  */
22
28
  function isValidPublicKey(publicKey) {
23
- // TODO: Implement proper public key validation for Tempo
24
- return constants_1.VALID_PUBLIC_KEY_REGEX.test(publicKey);
29
+ if (typeof publicKey !== 'string') {
30
+ return false;
31
+ }
32
+ try {
33
+ const hdNode = secp256k1_1.bip32.fromBase58(publicKey);
34
+ return hdNode.isNeutered();
35
+ }
36
+ catch (e) {
37
+ return false;
38
+ }
25
39
  }
26
40
  /**
27
- * Check if the private key is valid
28
- * @param privateKey
41
+ * Check if private key is valid (BIP32 xprv format)
42
+ * TODO: Replace with ETH utils when implementing
29
43
  */
30
44
  function isValidPrivateKey(privateKey) {
31
- // TODO: Implement proper private key validation for Tempo
32
- return privateKey.length === 64;
45
+ if (typeof privateKey !== 'string') {
46
+ return false;
47
+ }
48
+ try {
49
+ const hdNode = secp256k1_1.bip32.fromBase58(privateKey);
50
+ return !hdNode.isNeutered();
51
+ }
52
+ catch (e) {
53
+ return false;
54
+ }
33
55
  }
34
56
  const utils = {
35
57
  isValidAddress,
@@ -37,4 +59,4 @@ const utils = {
37
59
  isValidPrivateKey,
38
60
  };
39
61
  exports.default = utils;
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBVUEsd0NBR0M7QUFNRCw0Q0FHQztBQU1ELDhDQUdDO0FBL0JELDJDQUEwRTtBQUUxRTs7R0FFRztBQUVIOzs7R0FHRztBQUNILFNBQWdCLGNBQWMsQ0FBQyxPQUFlO0lBQzVDLHNEQUFzRDtJQUN0RCxPQUFPLCtCQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsU0FBaUI7SUFDaEQseURBQXlEO0lBQ3pELE9BQU8sa0NBQXNCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxVQUFrQjtJQUNsRCwwREFBMEQ7SUFDMUQsT0FBTyxVQUFVLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQztBQUNsQyxDQUFDO0FBRUQsTUFBTSxLQUFLLEdBQUc7SUFDWixjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtDQUNsQixDQUFDO0FBRUYsa0JBQWUsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVkFMSURfQUREUkVTU19SRUdFWCwgVkFMSURfUFVCTElDX0tFWV9SRUdFWCB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuLyoqXG4gKiBVdGlsaXR5IGZ1bmN0aW9ucyBmb3IgVGVtcG9cbiAqL1xuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBhZGRyZXNzIGlzIHZhbGlkXG4gKiBAcGFyYW0gYWRkcmVzc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gIC8vIFRPRE86IEltcGxlbWVudCBwcm9wZXIgYWRkcmVzcyB2YWxpZGF0aW9uIGZvciBUZW1wb1xuICByZXR1cm4gVkFMSURfQUREUkVTU19SRUdFWC50ZXN0KGFkZHJlc3MpO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBwdWJsaWMga2V5IGlzIHZhbGlkXG4gKiBAcGFyYW0gcHVibGljS2V5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkUHVibGljS2V5KHB1YmxpY0tleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIC8vIFRPRE86IEltcGxlbWVudCBwcm9wZXIgcHVibGljIGtleSB2YWxpZGF0aW9uIGZvciBUZW1wb1xuICByZXR1cm4gVkFMSURfUFVCTElDX0tFWV9SRUdFWC50ZXN0KHB1YmxpY0tleSk7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIHByaXZhdGUga2V5IGlzIHZhbGlkXG4gKiBAcGFyYW0gcHJpdmF0ZUtleVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFByaXZhdGVLZXkocHJpdmF0ZUtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIC8vIFRPRE86IEltcGxlbWVudCBwcm9wZXIgcHJpdmF0ZSBrZXkgdmFsaWRhdGlvbiBmb3IgVGVtcG9cbiAgcmV0dXJuIHByaXZhdGVLZXkubGVuZ3RoID09PSA2NDtcbn1cblxuY29uc3QgdXRpbHMgPSB7XG4gIGlzVmFsaWRBZGRyZXNzLFxuICBpc1ZhbGlkUHVibGljS2V5LFxuICBpc1ZhbGlkUHJpdmF0ZUtleSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHV0aWxzO1xuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7R0FLRzs7QUFTSCx3Q0FLQztBQU1ELDRDQVVDO0FBTUQsOENBVUM7QUE1Q0QscURBQThDO0FBQzlDLDJDQUFrRDtBQUVsRDs7O0dBR0c7QUFDSCxTQUFnQixjQUFjLENBQUMsT0FBZTtJQUM1QyxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE9BQU8sK0JBQW1CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxTQUFpQjtJQUNoRCxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLGlCQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLFVBQWtCO0lBQ2xELElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDbkMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsaUJBQUssQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLEtBQUssR0FBRztJQUNaLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsaUJBQWlCO0NBQ2xCLENBQUM7QUFFRixrQkFBZSxLQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRlbXBvIFV0aWxpdHkgRnVuY3Rpb25zXG4gKlxuICogU2luY2UgVGVtcG8gaXMgRVZNLWNvbXBhdGlibGUsIHdlIGNhbiByZXVzZSBFdGhlcmV1bSB1dGlsaXRpZXNcblxuICovXG5cbmltcG9ydCB7IGJpcDMyIH0gZnJvbSAnQGJpdGdvLWJldGEvc2VjcDI1NmsxJztcbmltcG9ydCB7IFZBTElEX0FERFJFU1NfUkVHRVggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbi8qKlxuICogQ2hlY2sgaWYgYWRkcmVzcyBpcyB2YWxpZCBFdGhlcmV1bS1zdHlsZSBhZGRyZXNzXG4gKiBUT0RPOiBSZXBsYWNlIHdpdGggRVRIIHV0aWxzIHdoZW4gaW1wbGVtZW50aW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKHR5cGVvZiBhZGRyZXNzICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gVkFMSURfQUREUkVTU19SRUdFWC50ZXN0KGFkZHJlc3MpO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHB1YmxpYyBrZXkgaXMgdmFsaWQgKEJJUDMyIHhwdWIgZm9ybWF0KVxuICogVE9ETzogUmVwbGFjZSB3aXRoIEVUSCB1dGlscyB3aGVuIGltcGxlbWVudGluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFB1YmxpY0tleShwdWJsaWNLZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAodHlwZW9mIHB1YmxpY0tleSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdHJ5IHtcbiAgICBjb25zdCBoZE5vZGUgPSBiaXAzMi5mcm9tQmFzZTU4KHB1YmxpY0tleSk7XG4gICAgcmV0dXJuIGhkTm9kZS5pc05ldXRlcmVkKCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBDaGVjayBpZiBwcml2YXRlIGtleSBpcyB2YWxpZCAoQklQMzIgeHBydiBmb3JtYXQpXG4gKiBUT0RPOiBSZXBsYWNlIHdpdGggRVRIIHV0aWxzIHdoZW4gaW1wbGVtZW50aW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkUHJpdmF0ZUtleShwcml2YXRlS2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKHR5cGVvZiBwcml2YXRlS2V5ICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICB0cnkge1xuICAgIGNvbnN0IGhkTm9kZSA9IGJpcDMyLmZyb21CYXNlNTgocHJpdmF0ZUtleSk7XG4gICAgcmV0dXJuICFoZE5vZGUuaXNOZXV0ZXJlZCgpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmNvbnN0IHV0aWxzID0ge1xuICBpc1ZhbGlkQWRkcmVzcyxcbiAgaXNWYWxpZFB1YmxpY0tleSxcbiAgaXNWYWxpZFByaXZhdGVLZXksXG59O1xuXG5leHBvcnQgZGVmYXVsdCB1dGlscztcbiJdfQ==
@@ -1,3 +1,7 @@
1
1
  import { BitGoBase } from '@bitgo-beta/sdk-core';
2
+ /**
3
+ * Register Tempo and TIP20 tokens with the SDK
4
+ * @param sdk - BitGo SDK instance
5
+ */
2
6
  export declare const register: (sdk: BitGoBase) => void;
3
7
  //# sourceMappingURL=register.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,eAAO,MAAM,QAAQ,QAAS,SAAS,KAAG,IAGzC,CAAC"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKjD;;;GAGG;AACH,eAAO,MAAM,QAAQ,QAAS,SAAS,KAAG,IAyBzC,CAAC"}
@@ -3,9 +3,34 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.register = void 0;
4
4
  const tempo_1 = require("./tempo");
5
5
  const ttempo_1 = require("./ttempo");
6
+ const tip20Token_1 = require("./tip20Token");
7
+ /**
8
+ * Register Tempo and TIP20 tokens with the SDK
9
+ * @param sdk - BitGo SDK instance
10
+ */
6
11
  const register = (sdk) => {
12
+ // Register base Tempo coins
7
13
  sdk.register('tempo', tempo_1.Tempo.createInstance);
8
14
  sdk.register('ttempo', ttempo_1.Ttempo.createInstance);
15
+ // Register TIP20 tokens (skeleton)
16
+ // TODO: Add actual token configurations from @bitgo-beta/statics
17
+ // For now, this creates an empty array which can be populated progressively
18
+ const tip20Tokens = tip20Token_1.Tip20Token.createTokenConstructors([
19
+ // TODO: Add TIP20 token configurations here
20
+ // Example:
21
+ // {
22
+ // type: 'tempo:usdc',
23
+ // coin: 'tempo',
24
+ // network: 'Mainnet',
25
+ // name: 'USD Coin on Tempo',
26
+ // tokenContractAddress: '0x...',
27
+ // decimalPlaces: 6,
28
+ // },
29
+ ]);
30
+ // Register each TIP20 token with the SDK
31
+ tip20Tokens.forEach(({ name, coinConstructor }) => {
32
+ sdk.register(name, coinConstructor);
33
+ });
9
34
  };
10
35
  exports.register = register;
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbUNBQWdDO0FBQ2hDLHFDQUFrQztBQUUzQixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWMsRUFBUSxFQUFFO0lBQy9DLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGFBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1QyxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxlQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDO0FBSFcsUUFBQSxRQUFRLFlBR25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVGVtcG8gfSBmcm9tICcuL3RlbXBvJztcbmltcG9ydCB7IFR0ZW1wbyB9IGZyb20gJy4vdHRlbXBvJztcblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyID0gKHNkazogQml0R29CYXNlKTogdm9pZCA9PiB7XG4gIHNkay5yZWdpc3RlcigndGVtcG8nLCBUZW1wby5jcmVhdGVJbnN0YW5jZSk7XG4gIHNkay5yZWdpc3RlcigndHRlbXBvJywgVHRlbXBvLmNyZWF0ZUluc3RhbmNlKTtcbn07XG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbUNBQWdDO0FBQ2hDLHFDQUFrQztBQUNsQyw2Q0FBMEM7QUFFMUM7OztHQUdHO0FBQ0ksTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFjLEVBQVEsRUFBRTtJQUMvQyw0QkFBNEI7SUFDNUIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVDLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLGVBQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUU5QyxtQ0FBbUM7SUFDbkMsaUVBQWlFO0lBQ2pFLDRFQUE0RTtJQUM1RSxNQUFNLFdBQVcsR0FBRyx1QkFBVSxDQUFDLHVCQUF1QixDQUFDO0lBQ3JELDRDQUE0QztJQUM1QyxXQUFXO0lBQ1gsSUFBSTtJQUNKLHdCQUF3QjtJQUN4QixtQkFBbUI7SUFDbkIsd0JBQXdCO0lBQ3hCLCtCQUErQjtJQUMvQixtQ0FBbUM7SUFDbkMsc0JBQXNCO0lBQ3RCLEtBQUs7S0FDTixDQUFDLENBQUM7SUFFSCx5Q0FBeUM7SUFDekMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUU7UUFDaEQsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDdEMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUF6QlcsUUFBQSxRQUFRLFlBeUJuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFRlbXBvIH0gZnJvbSAnLi90ZW1wbyc7XG5pbXBvcnQgeyBUdGVtcG8gfSBmcm9tICcuL3R0ZW1wbyc7XG5pbXBvcnQgeyBUaXAyMFRva2VuIH0gZnJvbSAnLi90aXAyMFRva2VuJztcblxuLyoqXG4gKiBSZWdpc3RlciBUZW1wbyBhbmQgVElQMjAgdG9rZW5zIHdpdGggdGhlIFNES1xuICogQHBhcmFtIHNkayAtIEJpdEdvIFNESyBpbnN0YW5jZVxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXIgPSAoc2RrOiBCaXRHb0Jhc2UpOiB2b2lkID0+IHtcbiAgLy8gUmVnaXN0ZXIgYmFzZSBUZW1wbyBjb2luc1xuICBzZGsucmVnaXN0ZXIoJ3RlbXBvJywgVGVtcG8uY3JlYXRlSW5zdGFuY2UpO1xuICBzZGsucmVnaXN0ZXIoJ3R0ZW1wbycsIFR0ZW1wby5jcmVhdGVJbnN0YW5jZSk7XG5cbiAgLy8gUmVnaXN0ZXIgVElQMjAgdG9rZW5zIChza2VsZXRvbilcbiAgLy8gVE9ETzogQWRkIGFjdHVhbCB0b2tlbiBjb25maWd1cmF0aW9ucyBmcm9tIEBiaXRnby1iZXRhL3N0YXRpY3NcbiAgLy8gRm9yIG5vdywgdGhpcyBjcmVhdGVzIGFuIGVtcHR5IGFycmF5IHdoaWNoIGNhbiBiZSBwb3B1bGF0ZWQgcHJvZ3Jlc3NpdmVseVxuICBjb25zdCB0aXAyMFRva2VucyA9IFRpcDIwVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoW1xuICAgIC8vIFRPRE86IEFkZCBUSVAyMCB0b2tlbiBjb25maWd1cmF0aW9ucyBoZXJlXG4gICAgLy8gRXhhbXBsZTpcbiAgICAvLyB7XG4gICAgLy8gICB0eXBlOiAndGVtcG86dXNkYycsXG4gICAgLy8gICBjb2luOiAndGVtcG8nLFxuICAgIC8vICAgbmV0d29yazogJ01haW5uZXQnLFxuICAgIC8vICAgbmFtZTogJ1VTRCBDb2luIG9uIFRlbXBvJyxcbiAgICAvLyAgIHRva2VuQ29udHJhY3RBZGRyZXNzOiAnMHguLi4nLFxuICAgIC8vICAgZGVjaW1hbFBsYWNlczogNixcbiAgICAvLyB9LFxuICBdKTtcblxuICAvLyBSZWdpc3RlciBlYWNoIFRJUDIwIHRva2VuIHdpdGggdGhlIFNES1xuICB0aXAyMFRva2Vucy5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgc2RrLnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xufTtcbiJdfQ==
@@ -1,72 +1,63 @@
1
- import { AuditDecryptedKeyParams, BaseCoin, BitGoBase, KeyPair, ParsedTransaction, ParseTransactionOptions, SignedTransaction, SignTransactionOptions, VerifyAddressOptions, VerifyTransactionOptions, TransactionExplanation } from '@bitgo-beta/sdk-core';
1
+ /**
2
+ * @prettier
3
+ */
4
+ import { AbstractEthLikeNewCoins, RecoverOptions, OfflineVaultTxInfo, UnsignedSweepTxMPCv2, TransactionBuilder } from '@bitgo-beta/abstract-eth';
5
+ import { BaseCoin, BitGoBase, MPCAlgorithm } from '@bitgo-beta/sdk-core';
2
6
  import { BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
3
- export declare class Tempo extends BaseCoin {
4
- protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
7
+ export declare class Tempo extends AbstractEthLikeNewCoins {
5
8
  protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
9
+ /**
10
+ * Factory method to create Tempo instance
11
+ */
6
12
  static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
7
13
  /**
8
- * Factor between the coin's base unit and its smallest subdivision
14
+ * Get the chain identifier
9
15
  */
10
- getBaseFactor(): number;
11
16
  getChain(): string;
12
- getFamily(): string;
13
- getFullName(): string;
14
17
  /**
15
- * Flag for sending value of 0
16
- * @returns {boolean} True if okay to send 0 value, false otherwise
18
+ * Get the full chain name
17
19
  */
18
- valuelessTransferAllowed(): boolean;
20
+ getFullName(): string;
19
21
  /**
20
- * Checks if this is a valid base58 or hex address
21
- * @param address
22
+ * Get the base factor (1 TEMPO = 1e18 wei, like Ethereum)
22
23
  */
23
- isValidAddress(address: string): boolean;
24
+ getBaseFactor(): number;
24
25
  /**
25
- * Generate ed25519 key pair
26
- *
27
- * @param seed
28
- * @returns {Object} object with generated pub, prv
26
+ * Check if value-less transfers are allowed
27
+ * TODO: Update based on Tempo requirements
29
28
  */
30
- generateKeyPair(seed?: Buffer): KeyPair;
29
+ valuelessTransferAllowed(): boolean;
31
30
  /**
32
- * Return boolean indicating whether input is valid public key for the coin.
33
- *
34
- * @param {String} pub the pub to be checked
35
- * @returns {Boolean} is it valid?
31
+ * Check if TSS is supported
36
32
  */
37
- isValidPub(pub: string): boolean;
33
+ supportsTss(): boolean;
38
34
  /**
39
- * Verify that a transaction prebuild complies with the original intention
40
- * @param params
41
- * @param params.txPrebuild
42
- * @param params.txParams
43
- * @returns {boolean}
35
+ * Get the MPC algorithm (ECDSA for EVM chains)
44
36
  */
45
- verifyTransaction(params: VerifyTransactionOptions): Promise<boolean>;
37
+ getMPCAlgorithm(): MPCAlgorithm;
46
38
  /**
47
- * Check if address is a wallet address
48
- * @param params
39
+ * Check if message signing is supported
49
40
  */
50
- isWalletAddress(params: VerifyAddressOptions): Promise<boolean>;
41
+ supportsMessageSigning(): boolean;
51
42
  /**
52
- * Audit a decrypted private key for security purposes
53
- * @param params
43
+ * Check if typed data signing is supported (EIP-712)
54
44
  */
55
- auditDecryptedKey(params: AuditDecryptedKeyParams): Promise<void>;
45
+ supportsSigningTypedData(): boolean;
56
46
  /**
57
- * Parse a transaction from the raw transaction hex
58
- * @param params
47
+ * Build unsigned sweep transaction for TSS
48
+ * TODO: Implement sweep transaction logic
59
49
  */
60
- parseTransaction(params: ParseTransactionOptions): Promise<ParsedTransaction>;
50
+ protected buildUnsignedSweepTxnTSS(params: RecoverOptions): Promise<OfflineVaultTxInfo | UnsignedSweepTxMPCv2>;
61
51
  /**
62
- * Explain a transaction
63
- * @param params
52
+ * Query block explorer for recovery information
53
+ * TODO: Implement when Tempo block explorer is available
64
54
  */
65
- explainTransaction(params: Record<string, unknown>): Promise<TransactionExplanation>;
55
+ recoveryBlockchainExplorerQuery(query: Record<string, string>, apiKey?: string): Promise<Record<string, unknown>>;
66
56
  /**
67
- * Sign a transaction
68
- * @param params
57
+ * Get transaction builder for Tempo
58
+ * TODO: Implement TransactionBuilder for Tempo
59
+ * @protected
69
60
  */
70
- signTransaction(params: SignTransactionOptions): Promise<SignedTransaction>;
61
+ protected getTransactionBuilder(): TransactionBuilder;
71
62
  }
72
63
  //# sourceMappingURL=tempo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tempo.d.ts","sourceRoot":"","sources":["../../src/tempo.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,QAAQ,EACR,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAIlE,qBAAa,KAAM,SAAQ,QAAQ;IACjC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAE3D,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAU/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F;;OAEG;IACI,aAAa,IAAI,MAAM;IAIvB,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM;IAInB,WAAW,IAAI,MAAM;IAI5B;;;OAGG;IACH,wBAAwB,IAAI,OAAO;IAInC;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC;;;;;OAKG;IACH,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IAcvC;;;;;OAKG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIhC;;;;;;OAMG;IACG,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAK3E;;;OAGG;IACG,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAKrE;;;OAGG;IACG,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvE;;;OAGG;IACG,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAKnF;;;OAGG;IACG,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAK1F;;;OAGG;IACG,eAAe,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAIlF"}
1
+ {"version":3,"file":"tempo.d.ts","sourceRoot":"","sources":["../../src/tempo.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAElE,qBAAa,KAAM,SAAQ,uBAAuB;IAChD,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAI/E;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;;OAGG;IACH,wBAAwB,IAAI,OAAO;IAInC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,eAAe,IAAI,YAAY;IAI/B;;OAEG;IACH,sBAAsB,IAAI,OAAO;IAIjC;;OAEG;IACH,wBAAwB,IAAI,OAAO;IAInC;;;OAGG;cACa,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,GAAG,oBAAoB,CAAC;IAMpH;;;OAGG;IACG,+BAA+B,CACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAMnC;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,IAAI,kBAAkB;CAKtD"}