@bitgo-beta/sdk-coin-tempo 1.0.1-beta.33 → 1.0.1-beta.35
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.
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/lib/constants.d.ts +1 -1
- package/dist/src/lib/constants.js +2 -2
- package/dist/src/lib/index.d.ts +1 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +2 -1
- package/dist/src/lib/keyPair.d.ts +8 -18
- package/dist/src/lib/keyPair.d.ts.map +1 -1
- package/dist/src/lib/keyPair.js +18 -84
- package/dist/src/lib/tip20Abi.d.ts +25 -0
- package/dist/src/lib/tip20Abi.d.ts.map +1 -0
- package/dist/src/lib/tip20Abi.js +34 -0
- package/dist/src/lib/utils.d.ts +10 -7
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +37 -15
- package/dist/src/register.d.ts +4 -0
- package/dist/src/register.d.ts.map +1 -1
- package/dist/src/register.js +26 -1
- package/dist/src/tempo.d.ts +35 -44
- package/dist/src/tempo.d.ts.map +1 -1
- package/dist/src/tempo.js +51 -84
- package/dist/src/tip20Token.d.ts +85 -0
- package/dist/src/tip20Token.d.ts.map +1 -0
- package/dist/src/tip20Token.js +126 -0
- package/dist/test/unit/utils.js +3 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -5
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
|
@@ -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,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQjtBQUN0QiwwQ0FBd0I7QUFDeEIsMkNBQXlCO0FBQ3pCLCtDQUE2QjtBQUM3Qiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG5leHBvcnQgKiBmcm9tICcuL3RlbXBvJztcbmV4cG9ydCAqIGZyb20gJy4vdHRlbXBvJztcbmV4cG9ydCAqIGZyb20gJy4vdGlwMjBUb2tlbic7XG5leHBvcnQgKiBmcm9tICcuL3JlZ2lzdGVyJztcbiJdfQ==
|
|
@@ -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,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7QUFFVSxRQUFBLFlBQVksR0FBRyxPQUFPLENBQUM7QUFDdkIsUUFBQSxZQUFZLEdBQUcsUUFBUSxDQUFDO0FBRXhCLFFBQUEsbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxvQ0FBb0M7QUFDNUUsUUFBQSxzQkFBc0IsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDLHVDQUF1QyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29uc3RhbnRzIGZvciBUZW1wbyBibG9ja2NoYWluIChFVk0tY29tcGF0aWJsZSlcbiAqL1xuXG5leHBvcnQgY29uc3QgTUFJTk5FVF9DT0lOID0gJ3RlbXBvJztcbmV4cG9ydCBjb25zdCBURVNUTkVUX0NPSU4gPSAndHRlbXBvJztcblxuZXhwb3J0IGNvbnN0IFZBTElEX0FERFJFU1NfUkVHRVggPSAvXltBLVphLXowLTldKyQvOyAvLyBVcGRhdGUgd2l0aCBhY3R1YWwgYWRkcmVzcyBmb3JtYXRcbmV4cG9ydCBjb25zdCBWQUxJRF9QVUJMSUNfS0VZX1JFR0VYID0gL15bQS1GYS1mMC05XXs2NH0kLzsgLy8gVXBkYXRlIHdpdGggYWN0dWFsIHB1YmxpYyBrZXkgZm9ybWF0XG4iXX0=
|
package/dist/src/lib/index.d.ts
CHANGED
|
@@ -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"}
|
package/dist/src/lib/index.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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,
|
|
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"}
|
package/dist/src/lib/keyPair.js
CHANGED
|
@@ -1,100 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
|
38
|
-
const crypto = __importStar(require("crypto"));
|
|
10
|
+
const secp256k1_1 = require("@bitgo-beta/secp256k1");
|
|
39
11
|
/**
|
|
40
|
-
* Tempo
|
|
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
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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
|
|
96
|
-
return
|
|
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,
|
|
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=
|
package/dist/src/lib/utils.d.ts
CHANGED
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Utility
|
|
2
|
+
* Tempo Utility Functions
|
|
3
|
+
*
|
|
4
|
+
* Since Tempo is EVM-compatible, we can reuse Ethereum utilities
|
|
5
|
+
|
|
3
6
|
*/
|
|
4
7
|
/**
|
|
5
|
-
* Check if
|
|
6
|
-
*
|
|
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
|
|
11
|
-
*
|
|
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
|
|
16
|
-
*
|
|
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":"
|
|
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"}
|
package/dist/src/lib/utils.js
CHANGED
|
@@ -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
|
-
*
|
|
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
|
-
|
|
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
|
|
20
|
-
*
|
|
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
|
-
|
|
24
|
-
|
|
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
|
|
28
|
-
*
|
|
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
|
-
|
|
32
|
-
|
|
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,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7R0FLRzs7QUFTSCx3Q0FLQztBQU1ELDRDQVVDO0FBTUQsOENBVUM7QUE1Q0QscURBQThDO0FBQzlDLDJDQUFrRDtBQUVsRDs7O0dBR0c7QUFDSCxTQUFnQixjQUFjLENBQUMsT0FBZTtJQUM1QyxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE9BQU8sK0JBQW1CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxTQUFpQjtJQUNoRCxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLGlCQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLFVBQWtCO0lBQ2xELElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDbkMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsaUJBQUssQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLEtBQUssR0FBRztJQUNaLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsaUJBQWlCO0NBQ2xCLENBQUM7QUFFRixrQkFBZSxLQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRlbXBvIFV0aWxpdHkgRnVuY3Rpb25zXG4gKlxuICogU2luY2UgVGVtcG8gaXMgRVZNLWNvbXBhdGlibGUsIHdlIGNhbiByZXVzZSBFdGhlcmV1bSB1dGlsaXRpZXNcblxuICovXG5cbmltcG9ydCB7IGJpcDMyIH0gZnJvbSAnQGJpdGdvLWJldGEvc2VjcDI1NmsxJztcbmltcG9ydCB7IFZBTElEX0FERFJFU1NfUkVHRVggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbi8qKlxuICogQ2hlY2sgaWYgYWRkcmVzcyBpcyB2YWxpZCBFdGhlcmV1bS1zdHlsZSBhZGRyZXNzXG4gKiBUT0RPOiBSZXBsYWNlIHdpdGggRVRIIHV0aWxzIHdoZW4gaW1wbGVtZW50aW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKHR5cGVvZiBhZGRyZXNzICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gVkFMSURfQUREUkVTU19SRUdFWC50ZXN0KGFkZHJlc3MpO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHB1YmxpYyBrZXkgaXMgdmFsaWQgKEJJUDMyIHhwdWIgZm9ybWF0KVxuICogVE9ETzogUmVwbGFjZSB3aXRoIEVUSCB1dGlscyB3aGVuIGltcGxlbWVudGluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFB1YmxpY0tleShwdWJsaWNLZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAodHlwZW9mIHB1YmxpY0tleSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdHJ5IHtcbiAgICBjb25zdCBoZE5vZGUgPSBiaXAzMi5mcm9tQmFzZTU4KHB1YmxpY0tleSk7XG4gICAgcmV0dXJuIGhkTm9kZS5pc05ldXRlcmVkKCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBDaGVjayBpZiBwcml2YXRlIGtleSBpcyB2YWxpZCAoQklQMzIgeHBydiBmb3JtYXQpXG4gKiBUT0RPOiBSZXBsYWNlIHdpdGggRVRIIHV0aWxzIHdoZW4gaW1wbGVtZW50aW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkUHJpdmF0ZUtleShwcml2YXRlS2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKHR5cGVvZiBwcml2YXRlS2V5ICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICB0cnkge1xuICAgIGNvbnN0IGhkTm9kZSA9IGJpcDMyLmZyb21CYXNlNTgocHJpdmF0ZUtleSk7XG4gICAgcmV0dXJuICFoZE5vZGUuaXNOZXV0ZXJlZCgpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmNvbnN0IHV0aWxzID0ge1xuICBpc1ZhbGlkQWRkcmVzcyxcbiAgaXNWYWxpZFB1YmxpY0tleSxcbiAgaXNWYWxpZFByaXZhdGVLZXksXG59O1xuXG5leHBvcnQgZGVmYXVsdCB1dGlscztcbiJdfQ==
|
package/dist/src/register.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,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"}
|
package/dist/src/register.js
CHANGED
|
@@ -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,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbUNBQWdDO0FBQ2hDLHFDQUFrQztBQUNsQyw2Q0FBMEM7QUFFMUM7OztHQUdHO0FBQ0ksTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFjLEVBQVEsRUFBRTtJQUMvQyw0QkFBNEI7SUFDNUIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVDLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLGVBQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUU5QyxtQ0FBbUM7SUFDbkMsaUVBQWlFO0lBQ2pFLDRFQUE0RTtJQUM1RSxNQUFNLFdBQVcsR0FBRyx1QkFBVSxDQUFDLHVCQUF1QixDQUFDO0lBQ3JELDRDQUE0QztJQUM1QyxXQUFXO0lBQ1gsSUFBSTtJQUNKLHdCQUF3QjtJQUN4QixtQkFBbUI7SUFDbkIsd0JBQXdCO0lBQ3hCLCtCQUErQjtJQUMvQixtQ0FBbUM7SUFDbkMsc0JBQXNCO0lBQ3RCLEtBQUs7S0FDTixDQUFDLENBQUM7SUFFSCx5Q0FBeUM7SUFDekMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUU7UUFDaEQsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDdEMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUF6QlcsUUFBQSxRQUFRLFlBeUJuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFRlbXBvIH0gZnJvbSAnLi90ZW1wbyc7XG5pbXBvcnQgeyBUdGVtcG8gfSBmcm9tICcuL3R0ZW1wbyc7XG5pbXBvcnQgeyBUaXAyMFRva2VuIH0gZnJvbSAnLi90aXAyMFRva2VuJztcblxuLyoqXG4gKiBSZWdpc3RlciBUZW1wbyBhbmQgVElQMjAgdG9rZW5zIHdpdGggdGhlIFNES1xuICogQHBhcmFtIHNkayAtIEJpdEdvIFNESyBpbnN0YW5jZVxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXIgPSAoc2RrOiBCaXRHb0Jhc2UpOiB2b2lkID0+IHtcbiAgLy8gUmVnaXN0ZXIgYmFzZSBUZW1wbyBjb2luc1xuICBzZGsucmVnaXN0ZXIoJ3RlbXBvJywgVGVtcG8uY3JlYXRlSW5zdGFuY2UpO1xuICBzZGsucmVnaXN0ZXIoJ3R0ZW1wbycsIFR0ZW1wby5jcmVhdGVJbnN0YW5jZSk7XG5cbiAgLy8gUmVnaXN0ZXIgVElQMjAgdG9rZW5zIChza2VsZXRvbilcbiAgLy8gVE9ETzogQWRkIGFjdHVhbCB0b2tlbiBjb25maWd1cmF0aW9ucyBmcm9tIEBiaXRnby1iZXRhL3N0YXRpY3NcbiAgLy8gRm9yIG5vdywgdGhpcyBjcmVhdGVzIGFuIGVtcHR5IGFycmF5IHdoaWNoIGNhbiBiZSBwb3B1bGF0ZWQgcHJvZ3Jlc3NpdmVseVxuICBjb25zdCB0aXAyMFRva2VucyA9IFRpcDIwVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoW1xuICAgIC8vIFRPRE86IEFkZCBUSVAyMCB0b2tlbiBjb25maWd1cmF0aW9ucyBoZXJlXG4gICAgLy8gRXhhbXBsZTpcbiAgICAvLyB7XG4gICAgLy8gICB0eXBlOiAndGVtcG86dXNkYycsXG4gICAgLy8gICBjb2luOiAndGVtcG8nLFxuICAgIC8vICAgbmV0d29yazogJ01haW5uZXQnLFxuICAgIC8vICAgbmFtZTogJ1VTRCBDb2luIG9uIFRlbXBvJyxcbiAgICAvLyAgIHRva2VuQ29udHJhY3RBZGRyZXNzOiAnMHguLi4nLFxuICAgIC8vICAgZGVjaW1hbFBsYWNlczogNixcbiAgICAvLyB9LFxuICBdKTtcblxuICAvLyBSZWdpc3RlciBlYWNoIFRJUDIwIHRva2VuIHdpdGggdGhlIFNES1xuICB0aXAyMFRva2Vucy5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgc2RrLnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xufTtcbiJdfQ==
|
package/dist/src/tempo.d.ts
CHANGED
|
@@ -1,72 +1,63 @@
|
|
|
1
|
-
|
|
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
|
|
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
|
-
*
|
|
14
|
+
* Get the chain identifier
|
|
9
15
|
*/
|
|
10
|
-
getBaseFactor(): number;
|
|
11
16
|
getChain(): string;
|
|
12
|
-
getFamily(): string;
|
|
13
|
-
getFullName(): string;
|
|
14
17
|
/**
|
|
15
|
-
*
|
|
16
|
-
* @returns {boolean} True if okay to send 0 value, false otherwise
|
|
18
|
+
* Get the full chain name
|
|
17
19
|
*/
|
|
18
|
-
|
|
20
|
+
getFullName(): string;
|
|
19
21
|
/**
|
|
20
|
-
*
|
|
21
|
-
* @param address
|
|
22
|
+
* Get the base factor (1 TEMPO = 1e18 wei, like Ethereum)
|
|
22
23
|
*/
|
|
23
|
-
|
|
24
|
+
getBaseFactor(): number;
|
|
24
25
|
/**
|
|
25
|
-
*
|
|
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
|
-
|
|
29
|
+
valuelessTransferAllowed(): boolean;
|
|
31
30
|
/**
|
|
32
|
-
*
|
|
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
|
-
|
|
33
|
+
supportsTss(): boolean;
|
|
38
34
|
/**
|
|
39
|
-
*
|
|
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
|
-
|
|
37
|
+
getMPCAlgorithm(): MPCAlgorithm;
|
|
46
38
|
/**
|
|
47
|
-
* Check if
|
|
48
|
-
* @param params
|
|
39
|
+
* Check if message signing is supported
|
|
49
40
|
*/
|
|
50
|
-
|
|
41
|
+
supportsMessageSigning(): boolean;
|
|
51
42
|
/**
|
|
52
|
-
*
|
|
53
|
-
* @param params
|
|
43
|
+
* Check if typed data signing is supported (EIP-712)
|
|
54
44
|
*/
|
|
55
|
-
|
|
45
|
+
supportsSigningTypedData(): boolean;
|
|
56
46
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
47
|
+
* Build unsigned sweep transaction for TSS
|
|
48
|
+
* TODO: Implement sweep transaction logic
|
|
59
49
|
*/
|
|
60
|
-
|
|
50
|
+
protected buildUnsignedSweepTxnTSS(params: RecoverOptions): Promise<OfflineVaultTxInfo | UnsignedSweepTxMPCv2>;
|
|
61
51
|
/**
|
|
62
|
-
*
|
|
63
|
-
*
|
|
52
|
+
* Query block explorer for recovery information
|
|
53
|
+
* TODO: Implement when Tempo block explorer is available
|
|
64
54
|
*/
|
|
65
|
-
|
|
55
|
+
recoveryBlockchainExplorerQuery(query: Record<string, string>, apiKey?: string): Promise<Record<string, unknown>>;
|
|
66
56
|
/**
|
|
67
|
-
*
|
|
68
|
-
*
|
|
57
|
+
* Get transaction builder for Tempo
|
|
58
|
+
* TODO: Implement TransactionBuilder for Tempo
|
|
59
|
+
* @protected
|
|
69
60
|
*/
|
|
70
|
-
|
|
61
|
+
protected getTransactionBuilder(): TransactionBuilder;
|
|
71
62
|
}
|
|
72
63
|
//# sourceMappingURL=tempo.d.ts.map
|
package/dist/src/tempo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tempo.d.ts","sourceRoot":"","sources":["../../src/tempo.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,
|
|
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"}
|