@bitgo/sdk-coin-avaxc 1.0.1-rc.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.
- package/.eslintignore +5 -0
- package/.mocharc.yml +8 -0
- package/CHANGELOG.md +8 -0
- package/LICENSE +191 -0
- package/README.md +30 -0
- package/dist/src/avaxc.d.ts +249 -0
- package/dist/src/avaxc.d.ts.map +1 -0
- package/dist/src/avaxc.js +462 -0
- package/dist/src/avaxcToken.d.ts +36 -0
- package/dist/src/avaxcToken.d.ts.map +1 -0
- package/dist/src/avaxcToken.js +79 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +17 -0
- package/dist/src/lib/index.d.ts +7 -0
- package/dist/src/lib/index.d.ts.map +1 -0
- package/dist/src/lib/index.js +34 -0
- package/dist/src/lib/keyPair.d.ts +26 -0
- package/dist/src/lib/keyPair.d.ts.map +1 -0
- package/dist/src/lib/keyPair.js +83 -0
- package/dist/src/lib/resources.d.ts +12 -0
- package/dist/src/lib/resources.d.ts.map +1 -0
- package/dist/src/lib/resources.js +27 -0
- package/dist/src/lib/transactionBuilder.d.ts +17 -0
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilder.js +44 -0
- package/dist/src/lib/transferBuilder.d.ts +17 -0
- package/dist/src/lib/transferBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferBuilder.js +25 -0
- package/dist/src/lib/utils.d.ts +38 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/lib/utils.js +70 -0
- package/dist/src/lib/walletUtil.d.ts +22 -0
- package/dist/src/lib/walletUtil.d.ts.map +1 -0
- package/dist/src/lib/walletUtil.js +62 -0
- package/dist/src/tavaxc.d.ts +11 -0
- package/dist/src/tavaxc.d.ts.map +1 -0
- package/dist/src/tavaxc.js +14 -0
- package/package.json +61 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AvaxCToken = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @prettier
|
|
6
|
+
*/
|
|
7
|
+
const avaxc_1 = require("./avaxc");
|
|
8
|
+
const statics_1 = require("@bitgo/statics");
|
|
9
|
+
class AvaxCToken extends avaxc_1.AvaxC {
|
|
10
|
+
constructor(bitgo, tokenConfig) {
|
|
11
|
+
const staticsCoin = tokenConfig.network === 'Mainnet' ? statics_1.coins.get('avaxc') : statics_1.coins.get('tavaxc');
|
|
12
|
+
super(bitgo, staticsCoin);
|
|
13
|
+
this.tokenConfig = tokenConfig;
|
|
14
|
+
}
|
|
15
|
+
static createTokenConstructor(config) {
|
|
16
|
+
return (bitgo) => new AvaxCToken(bitgo, config);
|
|
17
|
+
}
|
|
18
|
+
static createTokenConstructors() {
|
|
19
|
+
const tokensCtors = [];
|
|
20
|
+
for (const token of [...statics_1.tokens.bitcoin.avaxc.tokens, ...statics_1.tokens.testnet.avaxc.tokens]) {
|
|
21
|
+
const tokenConstructor = AvaxCToken.createTokenConstructor(token);
|
|
22
|
+
tokensCtors.push({ name: token.type, coinConstructor: tokenConstructor });
|
|
23
|
+
tokensCtors.push({ name: token.tokenContractAddress, coinConstructor: tokenConstructor });
|
|
24
|
+
}
|
|
25
|
+
return tokensCtors;
|
|
26
|
+
}
|
|
27
|
+
get type() {
|
|
28
|
+
return this.tokenConfig.type;
|
|
29
|
+
}
|
|
30
|
+
get name() {
|
|
31
|
+
return this.tokenConfig.name;
|
|
32
|
+
}
|
|
33
|
+
get coin() {
|
|
34
|
+
return this.tokenConfig.coin;
|
|
35
|
+
}
|
|
36
|
+
get network() {
|
|
37
|
+
return this.tokenConfig.network;
|
|
38
|
+
}
|
|
39
|
+
get tokenContractAddress() {
|
|
40
|
+
return this.tokenConfig.tokenContractAddress;
|
|
41
|
+
}
|
|
42
|
+
get decimalPlaces() {
|
|
43
|
+
return this.tokenConfig.decimalPlaces;
|
|
44
|
+
}
|
|
45
|
+
getChain() {
|
|
46
|
+
return this.tokenConfig.type;
|
|
47
|
+
}
|
|
48
|
+
getBaseChain() {
|
|
49
|
+
return this.coin;
|
|
50
|
+
}
|
|
51
|
+
getFullName() {
|
|
52
|
+
return 'Avaxc Token';
|
|
53
|
+
}
|
|
54
|
+
getBaseFactor() {
|
|
55
|
+
return Math.pow(10, this.tokenConfig.decimalPlaces);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Flag for sending value of 0
|
|
59
|
+
* @returns {boolean} True if okay to send 0 value, false otherwise
|
|
60
|
+
*/
|
|
61
|
+
valuelessTransferAllowed() {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Flag for sending data along with transactions
|
|
66
|
+
* @returns {boolean} True if okay to send tx data (AVAXC), false otherwise
|
|
67
|
+
*/
|
|
68
|
+
transactionDataAllowed() {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
isToken() {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
verifyCoin(txPrebuild) {
|
|
75
|
+
return txPrebuild.coin === this.tokenConfig.coin && txPrebuild.token === this.tokenConfig.type;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.AvaxCToken = AvaxCToken;
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZheGNUb2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdmF4Y1Rva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ0gsbUNBQXFEO0FBRXJELDRDQUFpRTtBQUlqRSxNQUFhLFVBQVcsU0FBUSxhQUFLO0lBR25DLFlBQVksS0FBZ0IsRUFBRSxXQUE2QjtRQUN6RCxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRyxLQUFLLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQXNCLENBQUMsTUFBd0I7UUFDcEQsT0FBTyxDQUFDLEtBQWdCLEVBQUUsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsTUFBTSxDQUFDLHVCQUF1QjtRQUM1QixNQUFNLFdBQVcsR0FBMkIsRUFBRSxDQUFDO1FBQy9DLEtBQUssTUFBTSxLQUFLLElBQUksQ0FBQyxHQUFHLGdCQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxnQkFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDcEYsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEUsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7WUFDMUUsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztTQUMzRjtRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILHdCQUF3QjtRQUN0QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7O09BR0c7SUFDSCxzQkFBc0I7UUFDcEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFVBQVUsQ0FBQyxVQUErQjtRQUN4QyxPQUFPLFVBQVUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUNqRyxDQUFDO0NBQ0Y7QUF0RkQsZ0NBc0ZDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQXZheEMsIFRyYW5zYWN0aW9uUHJlYnVpbGQgfSBmcm9tICcuL2F2YXhjJztcbmltcG9ydCB7IEJpdEdvQmFzZSwgQ29pbkNvbnN0cnVjdG9yLCBOYW1lZENvaW5Db25zdHJ1Y3RvciB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBBdmF4Y1Rva2VuQ29uZmlnLCBjb2lucywgdG9rZW5zIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuXG5leHBvcnQgeyBBdmF4Y1Rva2VuQ29uZmlnIH07XG5cbmV4cG9ydCBjbGFzcyBBdmF4Q1Rva2VuIGV4dGVuZHMgQXZheEMge1xuICBwdWJsaWMgcmVhZG9ubHkgdG9rZW5Db25maWc6IEF2YXhjVG9rZW5Db25maWc7XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgdG9rZW5Db25maWc6IEF2YXhjVG9rZW5Db25maWcpIHtcbiAgICBjb25zdCBzdGF0aWNzQ29pbiA9IHRva2VuQ29uZmlnLm5ldHdvcmsgPT09ICdNYWlubmV0JyA/IGNvaW5zLmdldCgnYXZheGMnKSA6IGNvaW5zLmdldCgndGF2YXhjJyk7XG4gICAgc3VwZXIoYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgICB0aGlzLnRva2VuQ29uZmlnID0gdG9rZW5Db25maWc7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcihjb25maWc6IEF2YXhjVG9rZW5Db25maWcpOiBDb2luQ29uc3RydWN0b3Ige1xuICAgIHJldHVybiAoYml0Z286IEJpdEdvQmFzZSkgPT4gbmV3IEF2YXhDVG9rZW4oYml0Z28sIGNvbmZpZyk7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKTogTmFtZWRDb2luQ29uc3RydWN0b3JbXSB7XG4gICAgY29uc3QgdG9rZW5zQ3RvcnM6IE5hbWVkQ29pbkNvbnN0cnVjdG9yW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHRva2VuIG9mIFsuLi50b2tlbnMuYml0Y29pbi5hdmF4Yy50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LmF2YXhjLnRva2Vuc10pIHtcbiAgICAgIGNvbnN0IHRva2VuQ29uc3RydWN0b3IgPSBBdmF4Q1Rva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW4pO1xuICAgICAgdG9rZW5zQ3RvcnMucHVzaCh7IG5hbWU6IHRva2VuLnR5cGUsIGNvaW5Db25zdHJ1Y3RvcjogdG9rZW5Db25zdHJ1Y3RvciB9KTtcbiAgICAgIHRva2Vuc0N0b3JzLnB1c2goeyBuYW1lOiB0b2tlbi50b2tlbkNvbnRyYWN0QWRkcmVzcywgY29pbkNvbnN0cnVjdG9yOiB0b2tlbkNvbnN0cnVjdG9yIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdG9rZW5zQ3RvcnM7XG4gIH1cblxuICBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLnR5cGU7XG4gIH1cblxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLm5hbWU7XG4gIH1cblxuICBnZXQgY29pbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLmNvaW47XG4gIH1cblxuICBnZXQgbmV0d29yaygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLm5ldHdvcms7XG4gIH1cblxuICBnZXQgdG9rZW5Db250cmFjdEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy50b2tlbkNvbnRyYWN0QWRkcmVzcztcbiAgfVxuXG4gIGdldCBkZWNpbWFsUGxhY2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcuZGVjaW1hbFBsYWNlcztcbiAgfVxuXG4gIGdldENoYWluKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcudHlwZTtcbiAgfVxuXG4gIGdldEJhc2VDaGFpbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb2luO1xuICB9XG5cbiAgZ2V0RnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0F2YXhjIFRva2VuJztcbiAgfVxuXG4gIGdldEJhc2VGYWN0b3IoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5wb3coMTAsIHRoaXMudG9rZW5Db25maWcuZGVjaW1hbFBsYWNlcyk7XG4gIH1cblxuICAvKipcbiAgICogRmxhZyBmb3Igc2VuZGluZyB2YWx1ZSBvZiAwXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIG9rYXkgdG8gc2VuZCAwIHZhbHVlLCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHZhbHVlbGVzc1RyYW5zZmVyQWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogRmxhZyBmb3Igc2VuZGluZyBkYXRhIGFsb25nIHdpdGggdHJhbnNhY3Rpb25zXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIG9rYXkgdG8gc2VuZCB0eCBkYXRhIChBVkFYQyksIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgdHJhbnNhY3Rpb25EYXRhQWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpc1Rva2VuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdmVyaWZ5Q29pbih0eFByZWJ1aWxkOiBUcmFuc2FjdGlvblByZWJ1aWxkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR4UHJlYnVpbGQuY29pbiA9PT0gdGhpcy50b2tlbkNvbmZpZy5jb2luICYmIHR4UHJlYnVpbGQudG9rZW4gPT09IHRoaXMudG9rZW5Db25maWcudHlwZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./avaxc"), exports);
|
|
14
|
+
__exportStar(require("./avaxcToken"), exports);
|
|
15
|
+
__exportStar(require("./tavaxc"), exports);
|
|
16
|
+
__exportStar(require("./lib"), exports);
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXdCO0FBQ3hCLCtDQUE2QjtBQUM3QiwyQ0FBeUI7QUFDekIsd0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdmF4Yyc7XG5leHBvcnQgKiBmcm9tICcuL2F2YXhjVG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi90YXZheGMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWInO1xuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { KeyPair } from './keyPair';
|
|
2
|
+
export { Transaction, Interface } from '@bitgo/sdk-coin-eth';
|
|
3
|
+
export { TransactionBuilder } from './transactionBuilder';
|
|
4
|
+
export { TransferBuilder } from './transferBuilder';
|
|
5
|
+
import * as Utils from './utils';
|
|
6
|
+
export { Utils };
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.Utils = exports.TransferBuilder = exports.TransactionBuilder = exports.Interface = exports.Transaction = exports.KeyPair = void 0;
|
|
23
|
+
var keyPair_1 = require("./keyPair");
|
|
24
|
+
Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return keyPair_1.KeyPair; } });
|
|
25
|
+
var sdk_coin_eth_1 = require("@bitgo/sdk-coin-eth");
|
|
26
|
+
Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return sdk_coin_eth_1.Transaction; } });
|
|
27
|
+
Object.defineProperty(exports, "Interface", { enumerable: true, get: function () { return sdk_coin_eth_1.Interface; } });
|
|
28
|
+
var transactionBuilder_1 = require("./transactionBuilder");
|
|
29
|
+
Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
|
|
30
|
+
var transferBuilder_1 = require("./transferBuilder");
|
|
31
|
+
Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return transferBuilder_1.TransferBuilder; } });
|
|
32
|
+
const Utils = __importStar(require("./utils"));
|
|
33
|
+
exports.Utils = Utils;
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLG9EQUE2RDtBQUFwRCwyR0FBQSxXQUFXLE9BQUE7QUFBRSx5R0FBQSxTQUFTLE9BQUE7QUFDL0IsMkRBQTBEO0FBQWpELHdIQUFBLGtCQUFrQixPQUFBO0FBQzNCLHFEQUFvRDtBQUEzQyxrSEFBQSxlQUFlLE9BQUE7QUFFeEIsK0NBQWlDO0FBRXhCLHNCQUFLIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbiwgSW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb2luLWV0aCc7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5cbmltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgeyBVdGlscyB9O1xuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { DefaultKeys, KeyPairOptions, Secp256k1ExtendedKeyPair } from '@bitgo/sdk-core';
|
|
2
|
+
/**
|
|
3
|
+
* Avalanche keys and address management for the C-Chain.
|
|
4
|
+
*/
|
|
5
|
+
export declare class KeyPair extends Secp256k1ExtendedKeyPair {
|
|
6
|
+
/**
|
|
7
|
+
* Public constructor. By default, creates a key pair with a random master seed.
|
|
8
|
+
*
|
|
9
|
+
* @param { KeyPairOptions } source Either a master seed, a private key (extended or raw), or a public key
|
|
10
|
+
* (extended, compressed, or uncompressed)
|
|
11
|
+
*/
|
|
12
|
+
constructor(source?: KeyPairOptions);
|
|
13
|
+
/**
|
|
14
|
+
* Avalanche C-Chain default keys format is the same as ethereum: raw private and uncompressed public key
|
|
15
|
+
*
|
|
16
|
+
* @returns { DefaultKeys } The keys in the protocol default key format
|
|
17
|
+
*/
|
|
18
|
+
getKeys(): DefaultKeys;
|
|
19
|
+
/**
|
|
20
|
+
* Get an Avalanche C-Chain public address in ethereum format
|
|
21
|
+
*
|
|
22
|
+
* @returns {string} The address derived from the public key
|
|
23
|
+
*/
|
|
24
|
+
getAddress(): string;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=keyPair.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,WAAW,EAIX,cAAc,EACd,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AAIzB;;GAEG;AACH,qBAAa,OAAQ,SAAQ,wBAAwB;IACnD;;;;;OAKG;gBACS,MAAM,CAAC,EAAE,cAAc;IAoBnC;;;;OAIG;IACH,OAAO,IAAI,WAAW;IAOtB;;;;OAIG;IACH,UAAU,IAAI,MAAM;CAIrB"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.KeyPair = void 0;
|
|
23
|
+
const crypto_1 = require("crypto");
|
|
24
|
+
const bip32 = __importStar(require("bip32"));
|
|
25
|
+
const ethereumjs_util_1 = require("ethereumjs-util");
|
|
26
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
27
|
+
const DEFAULT_SEED_SIZE_BYTES = 16;
|
|
28
|
+
/**
|
|
29
|
+
* Avalanche keys and address management for the C-Chain.
|
|
30
|
+
*/
|
|
31
|
+
class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
|
|
32
|
+
/**
|
|
33
|
+
* Public constructor. By default, creates a key pair with a random master seed.
|
|
34
|
+
*
|
|
35
|
+
* @param { KeyPairOptions } source Either a master seed, a private key (extended or raw), or a public key
|
|
36
|
+
* (extended, compressed, or uncompressed)
|
|
37
|
+
*/
|
|
38
|
+
constructor(source) {
|
|
39
|
+
super(source);
|
|
40
|
+
if (!source) {
|
|
41
|
+
const seed = crypto_1.randomBytes(DEFAULT_SEED_SIZE_BYTES);
|
|
42
|
+
this.hdNode = bip32.fromSeed(seed);
|
|
43
|
+
}
|
|
44
|
+
else if (sdk_core_1.isSeed(source)) {
|
|
45
|
+
this.hdNode = bip32.fromSeed(source.seed);
|
|
46
|
+
}
|
|
47
|
+
else if (sdk_core_1.isPrivateKey(source)) {
|
|
48
|
+
this.recordKeysFromPrivateKey(source.prv);
|
|
49
|
+
}
|
|
50
|
+
else if (sdk_core_1.isPublicKey(source)) {
|
|
51
|
+
this.recordKeysFromPublicKey(source.pub);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
throw new Error('Invalid key pair options');
|
|
55
|
+
}
|
|
56
|
+
if (this.hdNode) {
|
|
57
|
+
this.keyPair = sdk_core_1.Secp256k1ExtendedKeyPair.toKeyPair(this.hdNode);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Avalanche C-Chain default keys format is the same as ethereum: raw private and uncompressed public key
|
|
62
|
+
*
|
|
63
|
+
* @returns { DefaultKeys } The keys in the protocol default key format
|
|
64
|
+
*/
|
|
65
|
+
getKeys() {
|
|
66
|
+
var _a;
|
|
67
|
+
return {
|
|
68
|
+
pub: this.getPublicKey({ compressed: false }).toString('hex').toUpperCase(),
|
|
69
|
+
prv: (_a = this.getPrivateKey()) === null || _a === void 0 ? void 0 : _a.toString('hex').toUpperCase(),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Get an Avalanche C-Chain public address in ethereum format
|
|
74
|
+
*
|
|
75
|
+
* @returns {string} The address derived from the public key
|
|
76
|
+
*/
|
|
77
|
+
getAddress() {
|
|
78
|
+
const publicKey = Buffer.from(this.getKeys().pub, 'hex'); // first two characters identify a public key
|
|
79
|
+
return ethereumjs_util_1.addHexPrefix(ethereumjs_util_1.pubToAddress(publicKey, true).toString('hex'));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.KeyPair = KeyPair;
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUNBQXFDO0FBQ3JDLDZDQUErQjtBQUMvQixxREFBNkQ7QUFDN0QsOENBT3lCO0FBRXpCLE1BQU0sdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0FBRW5DOztHQUVHO0FBQ0gsTUFBYSxPQUFRLFNBQVEsbUNBQXdCO0lBQ25EOzs7OztPQUtHO0lBQ0gsWUFBWSxNQUF1QjtRQUNqQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEdBQUcsb0JBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNwQzthQUFNLElBQUksaUJBQU0sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzNDO2FBQU0sSUFBSSx1QkFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQy9CLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDM0M7YUFBTSxJQUFJLHNCQUFXLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMxQzthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1NBQzdDO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxtQ0FBd0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2hFO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxPQUFPOztRQUNMLE9BQU87WUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUU7WUFDM0UsR0FBRyxFQUFFLE1BQUEsSUFBSSxDQUFDLGFBQWEsRUFBRSwwQ0FBRSxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRTtTQUN6RCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxVQUFVO1FBQ1IsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsNkNBQTZDO1FBQ3ZHLE9BQU8sOEJBQVksQ0FBQyw4QkFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0NBQ0Y7QUFoREQsMEJBZ0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmFuZG9tQnl0ZXMgfSBmcm9tICdjcnlwdG8nO1xuaW1wb3J0ICogYXMgYmlwMzIgZnJvbSAnYmlwMzInO1xuaW1wb3J0IHsgYWRkSGV4UHJlZml4LCBwdWJUb0FkZHJlc3MgfSBmcm9tICdldGhlcmV1bWpzLXV0aWwnO1xuaW1wb3J0IHtcbiAgRGVmYXVsdEtleXMsXG4gIGlzUHJpdmF0ZUtleSxcbiAgaXNQdWJsaWNLZXksXG4gIGlzU2VlZCxcbiAgS2V5UGFpck9wdGlvbnMsXG4gIFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpcixcbn0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcblxuY29uc3QgREVGQVVMVF9TRUVEX1NJWkVfQllURVMgPSAxNjtcblxuLyoqXG4gKiBBdmFsYW5jaGUga2V5cyBhbmQgYWRkcmVzcyBtYW5hZ2VtZW50IGZvciB0aGUgQy1DaGFpbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEtleVBhaXIgZXh0ZW5kcyBTZWNwMjU2azFFeHRlbmRlZEtleVBhaXIge1xuICAvKipcbiAgICogUHVibGljIGNvbnN0cnVjdG9yLiBCeSBkZWZhdWx0LCBjcmVhdGVzIGEga2V5IHBhaXIgd2l0aCBhIHJhbmRvbSBtYXN0ZXIgc2VlZC5cbiAgICpcbiAgICogQHBhcmFtIHsgS2V5UGFpck9wdGlvbnMgfSBzb3VyY2UgRWl0aGVyIGEgbWFzdGVyIHNlZWQsIGEgcHJpdmF0ZSBrZXkgKGV4dGVuZGVkIG9yIHJhdyksIG9yIGEgcHVibGljIGtleVxuICAgKiAgICAgKGV4dGVuZGVkLCBjb21wcmVzc2VkLCBvciB1bmNvbXByZXNzZWQpXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihzb3VyY2U/OiBLZXlQYWlyT3B0aW9ucykge1xuICAgIHN1cGVyKHNvdXJjZSk7XG4gICAgaWYgKCFzb3VyY2UpIHtcbiAgICAgIGNvbnN0IHNlZWQgPSByYW5kb21CeXRlcyhERUZBVUxUX1NFRURfU0laRV9CWVRFUyk7XG4gICAgICB0aGlzLmhkTm9kZSA9IGJpcDMyLmZyb21TZWVkKHNlZWQpO1xuICAgIH0gZWxzZSBpZiAoaXNTZWVkKHNvdXJjZSkpIHtcbiAgICAgIHRoaXMuaGROb2RlID0gYmlwMzIuZnJvbVNlZWQoc291cmNlLnNlZWQpO1xuICAgIH0gZWxzZSBpZiAoaXNQcml2YXRlS2V5KHNvdXJjZSkpIHtcbiAgICAgIHRoaXMucmVjb3JkS2V5c0Zyb21Qcml2YXRlS2V5KHNvdXJjZS5wcnYpO1xuICAgIH0gZWxzZSBpZiAoaXNQdWJsaWNLZXkoc291cmNlKSkge1xuICAgICAgdGhpcy5yZWNvcmRLZXlzRnJvbVB1YmxpY0tleShzb3VyY2UucHViKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGtleSBwYWlyIG9wdGlvbnMnKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oZE5vZGUpIHtcbiAgICAgIHRoaXMua2V5UGFpciA9IFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpci50b0tleVBhaXIodGhpcy5oZE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBdmFsYW5jaGUgQy1DaGFpbiBkZWZhdWx0IGtleXMgZm9ybWF0IGlzIHRoZSBzYW1lIGFzIGV0aGVyZXVtOiByYXcgcHJpdmF0ZSBhbmQgdW5jb21wcmVzc2VkIHB1YmxpYyBrZXlcbiAgICpcbiAgICogQHJldHVybnMgeyBEZWZhdWx0S2V5cyB9IFRoZSBrZXlzIGluIHRoZSBwcm90b2NvbCBkZWZhdWx0IGtleSBmb3JtYXRcbiAgICovXG4gIGdldEtleXMoKTogRGVmYXVsdEtleXMge1xuICAgIHJldHVybiB7XG4gICAgICBwdWI6IHRoaXMuZ2V0UHVibGljS2V5KHsgY29tcHJlc3NlZDogZmFsc2UgfSkudG9TdHJpbmcoJ2hleCcpLnRvVXBwZXJDYXNlKCksXG4gICAgICBwcnY6IHRoaXMuZ2V0UHJpdmF0ZUtleSgpPy50b1N0cmluZygnaGV4JykudG9VcHBlckNhc2UoKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbiBBdmFsYW5jaGUgQy1DaGFpbiBwdWJsaWMgYWRkcmVzcyBpbiBldGhlcmV1bSBmb3JtYXRcbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGFkZHJlc3MgZGVyaXZlZCBmcm9tIHRoZSBwdWJsaWMga2V5XG4gICAqL1xuICBnZXRBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3QgcHVibGljS2V5ID0gQnVmZmVyLmZyb20odGhpcy5nZXRLZXlzKCkucHViLCAnaGV4Jyk7IC8vIGZpcnN0IHR3byBjaGFyYWN0ZXJzIGlkZW50aWZ5IGEgcHVibGljIGtleVxuICAgIHJldHVybiBhZGRIZXhQcmVmaXgocHViVG9BZGRyZXNzKHB1YmxpY0tleSwgdHJ1ZSkudG9TdHJpbmcoJ2hleCcpKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import EthereumCommon from '@ethereumjs/common';
|
|
2
|
+
/**
|
|
3
|
+
* A Common object defining the chain
|
|
4
|
+
* TODO BG-35011: create custom Common object since Avalanche doesn't have hardforks
|
|
5
|
+
*/
|
|
6
|
+
export declare const testnetCommon: EthereumCommon;
|
|
7
|
+
/**
|
|
8
|
+
* A Common object defining the chain
|
|
9
|
+
* TODO BG-35011: create custom Common object since Avalanche doesn't have hardforks
|
|
10
|
+
*/
|
|
11
|
+
export declare const mainnetCommon: EthereumCommon;
|
|
12
|
+
//# sourceMappingURL=resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../src/lib/resources.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAGhD;;;GAGG;AACH,eAAO,MAAM,aAAa,gBAQzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,gBAQzB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.mainnetCommon = exports.testnetCommon = void 0;
|
|
7
|
+
const common_1 = __importDefault(require("@ethereumjs/common"));
|
|
8
|
+
const statics_1 = require("@bitgo/statics");
|
|
9
|
+
/**
|
|
10
|
+
* A Common object defining the chain
|
|
11
|
+
* TODO BG-35011: create custom Common object since Avalanche doesn't have hardforks
|
|
12
|
+
*/
|
|
13
|
+
exports.testnetCommon = common_1.default.forCustomChain('mainnet', {
|
|
14
|
+
name: 'fuji',
|
|
15
|
+
networkId: 1,
|
|
16
|
+
chainId: statics_1.coins.get('tavaxc').network.chainId,
|
|
17
|
+
}, 'london');
|
|
18
|
+
/**
|
|
19
|
+
* A Common object defining the chain
|
|
20
|
+
* TODO BG-35011: create custom Common object since Avalanche doesn't have hardforks
|
|
21
|
+
*/
|
|
22
|
+
exports.mainnetCommon = common_1.default.forCustomChain('mainnet', {
|
|
23
|
+
name: 'mainnet',
|
|
24
|
+
networkId: 1,
|
|
25
|
+
chainId: statics_1.coins.get('avaxc').network.chainId,
|
|
26
|
+
}, 'london');
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9yZXNvdXJjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0VBQWdEO0FBQ2hELDRDQUF3RDtBQUV4RDs7O0dBR0c7QUFDVSxRQUFBLGFBQWEsR0FBRyxnQkFBYyxDQUFDLGNBQWMsQ0FDeEQsU0FBUyxFQUNUO0lBQ0UsSUFBSSxFQUFFLE1BQU07SUFDWixTQUFTLEVBQUUsQ0FBQztJQUNaLE9BQU8sRUFBRyxlQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQTJCLENBQUMsT0FBTztDQUNsRSxFQUNELFFBQVEsQ0FDVCxDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSxhQUFhLEdBQUcsZ0JBQWMsQ0FBQyxjQUFjLENBQ3hELFNBQVMsRUFDVDtJQUNFLElBQUksRUFBRSxTQUFTO0lBQ2YsU0FBUyxFQUFFLENBQUM7SUFDWixPQUFPLEVBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUEyQixDQUFDLE9BQU87Q0FDakUsRUFDRCxRQUFRLENBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFdGhlcmV1bUNvbW1vbiBmcm9tICdAZXRoZXJldW1qcy9jb21tb24nO1xuaW1wb3J0IHsgY29pbnMsIEV0aGVyZXVtTmV0d29yayB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcblxuLyoqXG4gKiBBIENvbW1vbiBvYmplY3QgZGVmaW5pbmcgdGhlIGNoYWluXG4gKiBUT0RPIEJHLTM1MDExOiBjcmVhdGUgY3VzdG9tIENvbW1vbiBvYmplY3Qgc2luY2UgQXZhbGFuY2hlIGRvZXNuJ3QgaGF2ZSBoYXJkZm9ya3NcbiAqL1xuZXhwb3J0IGNvbnN0IHRlc3RuZXRDb21tb24gPSBFdGhlcmV1bUNvbW1vbi5mb3JDdXN0b21DaGFpbihcbiAgJ21haW5uZXQnLFxuICB7XG4gICAgbmFtZTogJ2Z1amknLFxuICAgIG5ldHdvcmtJZDogMSxcbiAgICBjaGFpbklkOiAoY29pbnMuZ2V0KCd0YXZheGMnKS5uZXR3b3JrIGFzIEV0aGVyZXVtTmV0d29yaykuY2hhaW5JZCxcbiAgfSxcbiAgJ2xvbmRvbidcbik7XG5cbi8qKlxuICogQSBDb21tb24gb2JqZWN0IGRlZmluaW5nIHRoZSBjaGFpblxuICogVE9ETyBCRy0zNTAxMTogY3JlYXRlIGN1c3RvbSBDb21tb24gb2JqZWN0IHNpbmNlIEF2YWxhbmNoZSBkb2Vzbid0IGhhdmUgaGFyZGZvcmtzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWlubmV0Q29tbW9uID0gRXRoZXJldW1Db21tb24uZm9yQ3VzdG9tQ2hhaW4oXG4gICdtYWlubmV0JyxcbiAge1xuICAgIG5hbWU6ICdtYWlubmV0JyxcbiAgICBuZXR3b3JrSWQ6IDEsXG4gICAgY2hhaW5JZDogKGNvaW5zLmdldCgnYXZheGMnKS5uZXR3b3JrIGFzIEV0aGVyZXVtTmV0d29yaykuY2hhaW5JZCxcbiAgfSxcbiAgJ2xvbmRvbidcbik7XG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
+
import { TransactionBuilder as EthTransactionBuilder } from '@bitgo/sdk-coin-eth';
|
|
3
|
+
import { TransferBuilder } from './transferBuilder';
|
|
4
|
+
export declare class TransactionBuilder extends EthTransactionBuilder {
|
|
5
|
+
protected _transfer: TransferBuilder;
|
|
6
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
7
|
+
/**
|
|
8
|
+
* Returns the smart contract encoded data
|
|
9
|
+
*
|
|
10
|
+
* @param {string[]} addresses - the contract signers
|
|
11
|
+
* @returns {string} - the smart contract encoded data
|
|
12
|
+
*/
|
|
13
|
+
protected getContractData(addresses: string[]): string;
|
|
14
|
+
/** @inheritdoc */
|
|
15
|
+
transfer(data?: string): TransferBuilder;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=transactionBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EAAe,kBAAkB,IAAI,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAG/F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,kBAAmB,SAAQ,qBAAqB;IAC3D,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC;gBAEzB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM;IAQtD,kBAAkB;IAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe;CASzC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.TransactionBuilder = void 0;
|
|
7
|
+
const ethereumjs_abi_1 = __importDefault(require("ethereumjs-abi"));
|
|
8
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
9
|
+
const sdk_coin_eth_1 = require("@bitgo/sdk-coin-eth");
|
|
10
|
+
const walletUtil_1 = require("./walletUtil");
|
|
11
|
+
const utils_1 = require("./utils");
|
|
12
|
+
const transferBuilder_1 = require("./transferBuilder");
|
|
13
|
+
class TransactionBuilder extends sdk_coin_eth_1.TransactionBuilder {
|
|
14
|
+
constructor(_coinConfig) {
|
|
15
|
+
super(_coinConfig);
|
|
16
|
+
this._common = utils_1.getCommon(this._coinConfig.network.type);
|
|
17
|
+
this.transaction = new sdk_coin_eth_1.Transaction(this._coinConfig, this._common);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Returns the smart contract encoded data
|
|
21
|
+
*
|
|
22
|
+
* @param {string[]} addresses - the contract signers
|
|
23
|
+
* @returns {string} - the smart contract encoded data
|
|
24
|
+
*/
|
|
25
|
+
getContractData(addresses) {
|
|
26
|
+
const params = [addresses];
|
|
27
|
+
const resultEncodedParameters = ethereumjs_abi_1.default.rawEncode(walletUtil_1.walletSimpleConstructor, params)
|
|
28
|
+
.toString('hex')
|
|
29
|
+
.replace('0x', '');
|
|
30
|
+
return walletUtil_1.walletSimpleByteCode + resultEncodedParameters;
|
|
31
|
+
}
|
|
32
|
+
/** @inheritdoc */
|
|
33
|
+
transfer(data) {
|
|
34
|
+
if (this._type !== sdk_core_1.TransactionType.Send) {
|
|
35
|
+
throw new sdk_core_1.BuildTransactionError('Transfers can only be set for send transactions');
|
|
36
|
+
}
|
|
37
|
+
if (!this._transfer) {
|
|
38
|
+
this._transfer = new transferBuilder_1.TransferBuilder(data);
|
|
39
|
+
}
|
|
40
|
+
return this._transfer;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.TransactionBuilder = TransactionBuilder;
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0Esb0VBQXlDO0FBQ3pDLDhDQUF5RTtBQUN6RSxzREFBK0Y7QUFDL0YsNkNBQTZFO0FBQzdFLG1DQUFvQztBQUNwQyx1REFBb0Q7QUFFcEQsTUFBYSxrQkFBbUIsU0FBUSxpQ0FBcUI7SUFHM0QsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxpQkFBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSwwQkFBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLGVBQWUsQ0FBQyxTQUFtQjtRQUMzQyxNQUFNLE1BQU0sR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sdUJBQXVCLEdBQUcsd0JBQVcsQ0FBQyxTQUFTLENBQUMsb0NBQXVCLEVBQUUsTUFBTSxDQUFDO2FBQ25GLFFBQVEsQ0FBQyxLQUFLLENBQUM7YUFDZixPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JCLE9BQU8saUNBQW9CLEdBQUcsdUJBQXVCLENBQUM7SUFDeEQsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixRQUFRLENBQUMsSUFBYTtRQUNwQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssMEJBQWUsQ0FBQyxJQUFJLEVBQUU7WUFDdkMsTUFBTSxJQUFJLGdDQUFxQixDQUFDLGlEQUFpRCxDQUFDLENBQUM7U0FDcEY7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksaUNBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM1QztRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0NBQ0Y7QUFqQ0QsZ0RBaUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCBFdGhlcmV1bUFiaSBmcm9tICdldGhlcmV1bWpzLWFiaSc7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25CdWlsZGVyIGFzIEV0aFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJ0BiaXRnby9zZGstY29pbi1ldGgnO1xuaW1wb3J0IHsgd2FsbGV0U2ltcGxlQnl0ZUNvZGUsIHdhbGxldFNpbXBsZUNvbnN0cnVjdG9yIH0gZnJvbSAnLi93YWxsZXRVdGlsJztcbmltcG9ydCB7IGdldENvbW1vbiB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyIGV4dGVuZHMgRXRoVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF90cmFuc2ZlcjogVHJhbnNmZXJCdWlsZGVyO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl9jb21tb24gPSBnZXRDb21tb24odGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZywgdGhpcy5fY29tbW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzbWFydCBjb250cmFjdCBlbmNvZGVkIGRhdGFcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gYWRkcmVzc2VzIC0gdGhlIGNvbnRyYWN0IHNpZ25lcnNcbiAgICogQHJldHVybnMge3N0cmluZ30gLSB0aGUgc21hcnQgY29udHJhY3QgZW5jb2RlZCBkYXRhXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0Q29udHJhY3REYXRhKGFkZHJlc3Nlczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhcmFtcyA9IFthZGRyZXNzZXNdO1xuICAgIGNvbnN0IHJlc3VsdEVuY29kZWRQYXJhbWV0ZXJzID0gRXRoZXJldW1BYmkucmF3RW5jb2RlKHdhbGxldFNpbXBsZUNvbnN0cnVjdG9yLCBwYXJhbXMpXG4gICAgICAudG9TdHJpbmcoJ2hleCcpXG4gICAgICAucmVwbGFjZSgnMHgnLCAnJyk7XG4gICAgcmV0dXJuIHdhbGxldFNpbXBsZUJ5dGVDb2RlICsgcmVzdWx0RW5jb2RlZFBhcmFtZXRlcnM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdHJhbnNmZXIoZGF0YT86IHN0cmluZyk6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgaWYgKHRoaXMuX3R5cGUgIT09IFRyYW5zYWN0aW9uVHlwZS5TZW5kKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdUcmFuc2ZlcnMgY2FuIG9ubHkgYmUgc2V0IGZvciBzZW5kIHRyYW5zYWN0aW9ucycpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX3RyYW5zZmVyKSB7XG4gICAgICB0aGlzLl90cmFuc2ZlciA9IG5ldyBUcmFuc2ZlckJ1aWxkZXIoZGF0YSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl90cmFuc2ZlcjtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TransferBuilder as EthTransferBuilder } from '@bitgo/sdk-coin-eth';
|
|
2
|
+
/** AVAXC transfer builder */
|
|
3
|
+
export declare class TransferBuilder extends EthTransferBuilder {
|
|
4
|
+
/**
|
|
5
|
+
* Get the prefix used in generating an operation hash for sending tokens
|
|
6
|
+
*
|
|
7
|
+
* @returns the string prefix
|
|
8
|
+
*/
|
|
9
|
+
protected getTokenOperationHashPrefix(): string;
|
|
10
|
+
/**
|
|
11
|
+
* Get the prefix used in generating an operation hash for sending native coins
|
|
12
|
+
*
|
|
13
|
+
* @returns the string prefix
|
|
14
|
+
*/
|
|
15
|
+
protected getNativeOperationHashPrefix(): string;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=transferBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,6BAA6B;AAC7B,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD;;;;OAIG;IACH,SAAS,CAAC,2BAA2B,IAAI,MAAM;IAI/C;;;;OAIG;IACH,SAAS,CAAC,4BAA4B,IAAI,MAAM;CAGjD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TransferBuilder = void 0;
|
|
4
|
+
const sdk_coin_eth_1 = require("@bitgo/sdk-coin-eth");
|
|
5
|
+
/** AVAXC transfer builder */
|
|
6
|
+
class TransferBuilder extends sdk_coin_eth_1.TransferBuilder {
|
|
7
|
+
/**
|
|
8
|
+
* Get the prefix used in generating an operation hash for sending tokens
|
|
9
|
+
*
|
|
10
|
+
* @returns the string prefix
|
|
11
|
+
*/
|
|
12
|
+
getTokenOperationHashPrefix() {
|
|
13
|
+
return 'AVAX-ERC20';
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Get the prefix used in generating an operation hash for sending native coins
|
|
17
|
+
*
|
|
18
|
+
* @returns the string prefix
|
|
19
|
+
*/
|
|
20
|
+
getNativeOperationHashPrefix() {
|
|
21
|
+
return 'AVAX';
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.TransferBuilder = TransferBuilder;
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQTRFO0FBRTVFLDZCQUE2QjtBQUM3QixNQUFhLGVBQWdCLFNBQVEsOEJBQWtCO0lBQ3JEOzs7O09BSUc7SUFDTywyQkFBMkI7UUFDbkMsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyw0QkFBNEI7UUFDcEMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGO0FBbEJELDBDQWtCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciBhcyBFdGhUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICdAYml0Z28vc2RrLWNvaW4tZXRoJztcblxuLyoqIEFWQVhDIHRyYW5zZmVyIGJ1aWxkZXIgKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBFdGhUcmFuc2ZlckJ1aWxkZXIge1xuICAvKipcbiAgICogR2V0IHRoZSBwcmVmaXggdXNlZCBpbiBnZW5lcmF0aW5nIGFuIG9wZXJhdGlvbiBoYXNoIGZvciBzZW5kaW5nIHRva2Vuc1xuICAgKlxuICAgKiBAcmV0dXJucyB0aGUgc3RyaW5nIHByZWZpeFxuICAgKi9cbiAgcHJvdGVjdGVkIGdldFRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnQVZBWC1FUkMyMCc7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBwcmVmaXggdXNlZCBpbiBnZW5lcmF0aW5nIGFuIG9wZXJhdGlvbiBoYXNoIGZvciBzZW5kaW5nIG5hdGl2ZSBjb2luc1xuICAgKlxuICAgKiBAcmV0dXJucyB0aGUgc3RyaW5nIHByZWZpeFxuICAgKi9cbiAgcHJvdGVjdGVkIGdldE5hdGl2ZU9wZXJhdGlvbkhhc2hQcmVmaXgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0FWQVgnO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { NetworkType } from '@bitgo/statics';
|
|
2
|
+
import EthereumCommon from '@ethereumjs/common';
|
|
3
|
+
import { KeyPair, TxData } from '@bitgo/sdk-coin-eth';
|
|
4
|
+
/**
|
|
5
|
+
* Signs the transaction using the appropriate algorithm
|
|
6
|
+
*
|
|
7
|
+
* @param {TxData} transactionData the transaction data to sign
|
|
8
|
+
* @param {KeyPair} keyPair the signer's keypair
|
|
9
|
+
* @returns {string} the transaction signed and encoded
|
|
10
|
+
*/
|
|
11
|
+
export declare function sign(transactionData: TxData, keyPair: KeyPair): Promise<any>;
|
|
12
|
+
/**
|
|
13
|
+
* @param {NetworkType} network either mainnet or testnet
|
|
14
|
+
* @returns {EthereumCommon} Ethereum common configuration object
|
|
15
|
+
*/
|
|
16
|
+
export declare function getCommon(network: NetworkType): EthereumCommon;
|
|
17
|
+
/**
|
|
18
|
+
* Returns whether or not the string is a valid C-Chain address in Eth format
|
|
19
|
+
*
|
|
20
|
+
* @param {string} address - the address string
|
|
21
|
+
* @returns {boolean} - the validation result
|
|
22
|
+
*/
|
|
23
|
+
export declare function isValidEthAddress(address: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Returns whether or not the string is a valid C-Chain private key in Eth format
|
|
26
|
+
*
|
|
27
|
+
* @param {string} privateKey - the string formatted key
|
|
28
|
+
* @returns {boolean} - the validation result
|
|
29
|
+
*/
|
|
30
|
+
export declare function isValidEthPrivateKey(privateKey: string): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Returns whether or not the string is a valid C-Chain public key in Eth format
|
|
33
|
+
*
|
|
34
|
+
* @param {string} publicKey - the uncompressed public key string
|
|
35
|
+
* @returns {boolean} - the validation result
|
|
36
|
+
*/
|
|
37
|
+
export declare function isValidEthPublicKey(publicKey: string): boolean;
|
|
38
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAS,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAI7D;;;;;;GAMG;AACH,wBAAsB,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAElF;AAOD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAM9D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAGhE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAK9D"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isValidEthPublicKey = exports.isValidEthPrivateKey = exports.isValidEthAddress = exports.getCommon = exports.sign = void 0;
|
|
4
|
+
const statics_1 = require("@bitgo/statics");
|
|
5
|
+
const ethereumjs_util_1 = require("ethereumjs-util");
|
|
6
|
+
const sdk_coin_eth_1 = require("@bitgo/sdk-coin-eth");
|
|
7
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
8
|
+
const resources_1 = require("./resources");
|
|
9
|
+
/**
|
|
10
|
+
* Signs the transaction using the appropriate algorithm
|
|
11
|
+
*
|
|
12
|
+
* @param {TxData} transactionData the transaction data to sign
|
|
13
|
+
* @param {KeyPair} keyPair the signer's keypair
|
|
14
|
+
* @returns {string} the transaction signed and encoded
|
|
15
|
+
*/
|
|
16
|
+
async function sign(transactionData, keyPair) {
|
|
17
|
+
return sdk_coin_eth_1.Utils.signInternal(transactionData, keyPair, resources_1.testnetCommon);
|
|
18
|
+
}
|
|
19
|
+
exports.sign = sign;
|
|
20
|
+
const commons = new Map([
|
|
21
|
+
[statics_1.NetworkType.MAINNET, resources_1.mainnetCommon],
|
|
22
|
+
[statics_1.NetworkType.TESTNET, resources_1.testnetCommon],
|
|
23
|
+
]);
|
|
24
|
+
/**
|
|
25
|
+
* @param {NetworkType} network either mainnet or testnet
|
|
26
|
+
* @returns {EthereumCommon} Ethereum common configuration object
|
|
27
|
+
*/
|
|
28
|
+
function getCommon(network) {
|
|
29
|
+
const common = commons.get(network);
|
|
30
|
+
if (!common) {
|
|
31
|
+
throw new sdk_core_1.InvalidTransactionError('Missing network common configuration');
|
|
32
|
+
}
|
|
33
|
+
return common;
|
|
34
|
+
}
|
|
35
|
+
exports.getCommon = getCommon;
|
|
36
|
+
/**
|
|
37
|
+
* Returns whether or not the string is a valid C-Chain address in Eth format
|
|
38
|
+
*
|
|
39
|
+
* @param {string} address - the address string
|
|
40
|
+
* @returns {boolean} - the validation result
|
|
41
|
+
*/
|
|
42
|
+
function isValidEthAddress(address) {
|
|
43
|
+
return ethereumjs_util_1.isValidAddress(address);
|
|
44
|
+
}
|
|
45
|
+
exports.isValidEthAddress = isValidEthAddress;
|
|
46
|
+
/**
|
|
47
|
+
* Returns whether or not the string is a valid C-Chain private key in Eth format
|
|
48
|
+
*
|
|
49
|
+
* @param {string} privateKey - the string formatted key
|
|
50
|
+
* @returns {boolean} - the validation result
|
|
51
|
+
*/
|
|
52
|
+
function isValidEthPrivateKey(privateKey) {
|
|
53
|
+
const privateKeyBuffer = Buffer.from(privateKey, 'hex');
|
|
54
|
+
return ethereumjs_util_1.isValidPrivate(privateKeyBuffer);
|
|
55
|
+
}
|
|
56
|
+
exports.isValidEthPrivateKey = isValidEthPrivateKey;
|
|
57
|
+
/**
|
|
58
|
+
* Returns whether or not the string is a valid C-Chain public key in Eth format
|
|
59
|
+
*
|
|
60
|
+
* @param {string} publicKey - the uncompressed public key string
|
|
61
|
+
* @returns {boolean} - the validation result
|
|
62
|
+
*/
|
|
63
|
+
function isValidEthPublicKey(publicKey) {
|
|
64
|
+
// Uncompressed Eth Public Keys have a 04 prefix that needs to be removed in order to validate it.
|
|
65
|
+
const publicKeyWithoutPrefix = publicKey.slice(2);
|
|
66
|
+
const publicKeyBuffer = Buffer.from(publicKeyWithoutPrefix, 'hex');
|
|
67
|
+
return ethereumjs_util_1.isValidPublic(publicKeyBuffer);
|
|
68
|
+
}
|
|
69
|
+
exports.isValidEthPublicKey = isValidEthPublicKey;
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDRDQUE2QztBQUM3QyxxREFBZ0Y7QUFFaEYsc0RBQTZEO0FBQzdELDhDQUEwRDtBQUMxRCwyQ0FBMkQ7QUFFM0Q7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLElBQUksQ0FBQyxlQUF1QixFQUFFLE9BQWdCO0lBQ2xFLE9BQU8sb0JBQUssQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSx5QkFBYSxDQUFDLENBQUM7QUFDckUsQ0FBQztBQUZELG9CQUVDO0FBRUQsTUFBTSxPQUFPLEdBQXFDLElBQUksR0FBRyxDQUE4QjtJQUNyRixDQUFDLHFCQUFXLENBQUMsT0FBTyxFQUFFLHlCQUFhLENBQUM7SUFDcEMsQ0FBQyxxQkFBVyxDQUFDLE9BQU8sRUFBRSx5QkFBYSxDQUFDO0NBQ3JDLENBQUMsQ0FBQztBQUVIOzs7R0FHRztBQUNILFNBQWdCLFNBQVMsQ0FBQyxPQUFvQjtJQUM1QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDWCxNQUFNLElBQUksa0NBQXVCLENBQUMsc0NBQXNDLENBQUMsQ0FBQztLQUMzRTtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFORCw4QkFNQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsT0FBZTtJQUMvQyxPQUFPLGdDQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDakMsQ0FBQztBQUZELDhDQUVDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixvQkFBb0IsQ0FBQyxVQUFrQjtJQUNyRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hELE9BQU8sZ0NBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFIRCxvREFHQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUMsU0FBaUI7SUFDbkQsa0dBQWtHO0lBQ2xHLE1BQU0sc0JBQXNCLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25FLE9BQU8sK0JBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBTEQsa0RBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZXR3b3JrVHlwZSB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IGlzVmFsaWRBZGRyZXNzLCBpc1ZhbGlkUHJpdmF0ZSwgaXNWYWxpZFB1YmxpYyB9IGZyb20gJ2V0aGVyZXVtanMtdXRpbCc7XG5pbXBvcnQgRXRoZXJldW1Db21tb24gZnJvbSAnQGV0aGVyZXVtanMvY29tbW9uJztcbmltcG9ydCB7IFV0aWxzLCBLZXlQYWlyLCBUeERhdGEgfSBmcm9tICdAYml0Z28vc2RrLWNvaW4tZXRoJztcbmltcG9ydCB7IEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IHRlc3RuZXRDb21tb24sIG1haW5uZXRDb21tb24gfSBmcm9tICcuL3Jlc291cmNlcyc7XG5cbi8qKlxuICogU2lnbnMgdGhlIHRyYW5zYWN0aW9uIHVzaW5nIHRoZSBhcHByb3ByaWF0ZSBhbGdvcml0aG1cbiAqXG4gKiBAcGFyYW0ge1R4RGF0YX0gdHJhbnNhY3Rpb25EYXRhIHRoZSB0cmFuc2FjdGlvbiBkYXRhIHRvIHNpZ25cbiAqIEBwYXJhbSB7S2V5UGFpcn0ga2V5UGFpciB0aGUgc2lnbmVyJ3Mga2V5cGFpclxuICogQHJldHVybnMge3N0cmluZ30gdGhlIHRyYW5zYWN0aW9uIHNpZ25lZCBhbmQgZW5jb2RlZFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2lnbih0cmFuc2FjdGlvbkRhdGE6IFR4RGF0YSwga2V5UGFpcjogS2V5UGFpcik6IFByb21pc2U8YW55PiB7XG4gIHJldHVybiBVdGlscy5zaWduSW50ZXJuYWwodHJhbnNhY3Rpb25EYXRhLCBrZXlQYWlyLCB0ZXN0bmV0Q29tbW9uKTtcbn1cblxuY29uc3QgY29tbW9uczogTWFwPE5ldHdvcmtUeXBlLCBFdGhlcmV1bUNvbW1vbj4gPSBuZXcgTWFwPE5ldHdvcmtUeXBlLCBFdGhlcmV1bUNvbW1vbj4oW1xuICBbTmV0d29ya1R5cGUuTUFJTk5FVCwgbWFpbm5ldENvbW1vbl0sXG4gIFtOZXR3b3JrVHlwZS5URVNUTkVULCB0ZXN0bmV0Q29tbW9uXSxcbl0pO1xuXG4vKipcbiAqIEBwYXJhbSB7TmV0d29ya1R5cGV9IG5ldHdvcmsgZWl0aGVyIG1haW5uZXQgb3IgdGVzdG5ldFxuICogQHJldHVybnMge0V0aGVyZXVtQ29tbW9ufSBFdGhlcmV1bSBjb21tb24gY29uZmlndXJhdGlvbiBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvbW1vbihuZXR3b3JrOiBOZXR3b3JrVHlwZSk6IEV0aGVyZXVtQ29tbW9uIHtcbiAgY29uc3QgY29tbW9uID0gY29tbW9ucy5nZXQobmV0d29yayk7XG4gIGlmICghY29tbW9uKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdNaXNzaW5nIG5ldHdvcmsgY29tbW9uIGNvbmZpZ3VyYXRpb24nKTtcbiAgfVxuICByZXR1cm4gY29tbW9uO1xufVxuXG4vKipcbiAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIEMtQ2hhaW4gYWRkcmVzcyBpbiBFdGggZm9ybWF0XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGFkZHJlc3MgLSB0aGUgYWRkcmVzcyBzdHJpbmdcbiAqIEByZXR1cm5zIHtib29sZWFufSAtIHRoZSB2YWxpZGF0aW9uIHJlc3VsdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZEV0aEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBDLUNoYWluIHByaXZhdGUga2V5IGluIEV0aCBmb3JtYXRcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gcHJpdmF0ZUtleSAtIHRoZSBzdHJpbmcgZm9ybWF0dGVkIGtleVxuICogQHJldHVybnMge2Jvb2xlYW59IC0gdGhlIHZhbGlkYXRpb24gcmVzdWx0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkRXRoUHJpdmF0ZUtleShwcml2YXRlS2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgcHJpdmF0ZUtleUJ1ZmZlciA9IEJ1ZmZlci5mcm9tKHByaXZhdGVLZXksICdoZXgnKTtcbiAgcmV0dXJuIGlzVmFsaWRQcml2YXRlKHByaXZhdGVLZXlCdWZmZXIpO1xufVxuXG4vKipcbiAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIEMtQ2hhaW4gcHVibGljIGtleSBpbiBFdGggZm9ybWF0XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHB1YmxpY0tleSAtIHRoZSB1bmNvbXByZXNzZWQgcHVibGljIGtleSBzdHJpbmdcbiAqIEByZXR1cm5zIHtib29sZWFufSAtIHRoZSB2YWxpZGF0aW9uIHJlc3VsdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZEV0aFB1YmxpY0tleShwdWJsaWNLZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAvLyBVbmNvbXByZXNzZWQgRXRoIFB1YmxpYyBLZXlzIGhhdmUgYSAwNCBwcmVmaXggdGhhdCBuZWVkcyB0byBiZSByZW1vdmVkIGluIG9yZGVyIHRvIHZhbGlkYXRlIGl0LlxuICBjb25zdCBwdWJsaWNLZXlXaXRob3V0UHJlZml4ID0gcHVibGljS2V5LnNsaWNlKDIpO1xuICBjb25zdCBwdWJsaWNLZXlCdWZmZXIgPSBCdWZmZXIuZnJvbShwdWJsaWNLZXlXaXRob3V0UHJlZml4LCAnaGV4Jyk7XG4gIHJldHVybiBpc1ZhbGlkUHVibGljKHB1YmxpY0tleUJ1ZmZlcik7XG59XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare const walletSimpleByteCode = "0x60606040526000600160006101000a81548160ff021916908315150217905550341561002a57600080fd5b60405161155b38038061155b833981016040528080518201919050506003815114151561005657600080fd5b806000908051906020019061006c929190610073565b5050610140565b8280548282559060005260206000209081019282156100ec579160200282015b828111156100eb5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190610093565b5b5090506100f991906100fd565b5090565b61013d91905b8082111561013957600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101610103565b5090565b90565b61140c8061014f6000396000f300606060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630dcd7a6c146101335780632079fb9a146101e95780632da034091461024c57806339125215146102a45780637df73e271461037e578063a0b7967b146103cf578063a68a76cc146103f8578063abe3219c1461044d578063fc0f392d1461047a575b6000341115610131577f6e89d517057028190560dd200cf6bf792842861353d1173761dfa362e1c133f03334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a15b005b341561013e57600080fd5b6101e7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061048f565b005b34156101f457600080fd5b61020a6004808035906020019091905050610668565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561025757600080fd5b6102a2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506106a7565b005b34156102af57600080fd5b61037c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610773565b005b341561038957600080fd5b6103b5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a72565b604051808215151515815260200191505060405180910390f35b34156103da57600080fd5b6103e2610b16565b6040518082815260200191505060405180910390f35b341561040357600080fd5b61040b610b70565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561045857600080fd5b610460610b95565b604051808215151515815260200191505060405180910390f35b341561048557600080fd5b61048d610ba8565b005b60008061049b33610a72565b15156104a657600080fd5b878787878760405180807f415641582d455243323000000000000000000000000000000000000000000000815250600a018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140183815260200182815260200195505050505050604051809103902091506105898883858888610c3b565b508590508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb89896000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561063857600080fd5b6102c65a03f1151561064957600080fd5b50505060405180519050151561065e57600080fd5b5050505050505050565b60008181548110151561067757fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006106b233610a72565b15156106bd57600080fd5b8290508073ffffffffffffffffffffffffffffffffffffffff16633ef13367836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b151561075a57600080fd5b6102c65a03f1151561076b57600080fd5b505050505050565b60008061077f33610a72565b151561078a57600080fd5b878787878760405180807f41564158000000000000000000000000000000000000000000000000000000008152506004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140185815260200184805190602001908083835b602083101515610833578051825260208201915060208101905060208303925061080e565b6001836020036101000a038019825116818451168082178552505050505050905001838152602001828152602001955050505050506040518091039020915061087f8883858888610c3b565b90508773ffffffffffffffffffffffffffffffffffffffff16878760405180828051906020019080838360005b838110156108c75780820151818401526020810190506108ac565b50505050905090810190601f1680156108f45780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561091857600080fd5b7f59bed9ab5d78073465dd642a9e3e76dfdb7d53bcae9d09df7d0b8f5234d5a8063382848b8b8b604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610a29578082015181840152602081019050610a0e565b50505050905090810190601f168015610a565780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15050505050505050565b600080600090505b600080549050811015610b0b578273ffffffffffffffffffffffffffffffffffffffff16600082815481101515610aad57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610afe5760019150610b10565b8080600101915050610a7a565b600091505b50919050565b6000806000809150600090505b600a811015610b655781600282600a81101515610b3c57fe5b01541115610b5857600281600a81101515610b5357fe5b015491505b8080600101915050610b23565b600182019250505090565b6000610b7a610e90565b604051809103906000f0801515610b9057600080fd5b905090565b600160009054906101000a900460ff1681565b610bb133610a72565b1515610bbc57600080fd5b60018060006101000a81548160ff0219169083151502179055507f0909e8f76a4fd3e970f2eaef56c0ee6dfaf8b87c5b8d3f56ffce78e825a9115733604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600080610c488686610ce6565b9050600160009054906101000a900460ff168015610c6c5750610c6a87610a72565b155b15610c7657600080fd5b42841015610c8357600080fd5b610c8c83610db9565b610c9581610a72565b1515610ca057600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cd957600080fd5b8091505095945050505050565b60008060008060418551141515610cfc57600080fd5b602085015192506040850151915060ff6041860151169050601b8160ff161015610d2757601b810190505b600186828585604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f11515610da557600080fd5b505060206040510351935050505092915050565b600080610dc533610a72565b1515610dd057600080fd5b60009150600090505b600a811015610e385782600282600a81101515610df257fe5b01541415610dff57600080fd5b600282600a81101515610e0e57fe5b0154600282600a81101515610e1f57fe5b01541015610e2b578091505b8080600101915050610dd9565b600282600a81101515610e4757fe5b0154831015610e5557600080fd5b612710600283600a81101515610e6757fe5b015401831115610e7657600080fd5b82600283600a81101515610e8657fe5b0181905550505050565b60405161054080610ea18339019056006060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506104e28061005e6000396000f300606060405260043610610056576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062821de3146101475780633ef133671461019c5780636b9f96ea146101d5575b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015156100b757600080fd5b7f69b31548dea9b3b707b4dff357d326e3e9348b24e7a6080a218a6edeeec48f9b3334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a1005b341561015257600080fd5b61015a6101ea565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101a757600080fd5b6101d3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061020f565b005b34156101e057600080fd5b6101e861043c565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561026f57600080fd5b8392503091508273ffffffffffffffffffffffffffffffffffffffff166370a08231836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561031857600080fd5b6102c65a03f1151561032957600080fd5b505050604051805190509050600081141561034357610436565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561040f57600080fd5b6102c65a03f1151561042057600080fd5b50505060405180519050151561043557600080fd5b5b50505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156104b457600080fd5b5600a165627a7a72305820ffd078edc0e7f8e4c581c4d531c9619ed1ede538db1a0e1558a2ad1ee8a271e60029a165627a7a72305820b3536b1d05b7a85b619fa414a9cf3b280fc48b3154a2e4f09aa335189c8ae7b80029";
|
|
2
|
+
export declare const walletSimpleConstructor: string[];
|
|
3
|
+
export declare const flushTokensTypes: string[];
|
|
4
|
+
export declare const flushCoinsTypes: never[];
|
|
5
|
+
export declare const walletSimpleAbi: {
|
|
6
|
+
constant: boolean;
|
|
7
|
+
inputs: {
|
|
8
|
+
name: string;
|
|
9
|
+
type: string;
|
|
10
|
+
}[];
|
|
11
|
+
name: string;
|
|
12
|
+
outputs: {
|
|
13
|
+
name: string;
|
|
14
|
+
type: string;
|
|
15
|
+
}[];
|
|
16
|
+
payable: boolean;
|
|
17
|
+
stateMutability: string;
|
|
18
|
+
type: string;
|
|
19
|
+
}[];
|
|
20
|
+
export declare const sendMultiSigTypes: string[];
|
|
21
|
+
export declare const sendMultiSigTokenTypes: string[];
|
|
22
|
+
//# sourceMappingURL=walletUtil.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walletUtil.d.ts","sourceRoot":"","sources":["../../../src/lib/walletUtil.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,6rVAC2pV,CAAC;AAE7rV,eAAO,MAAM,uBAAuB,UAAgB,CAAC;AACrD,eAAO,MAAM,gBAAgB,UAAyB,CAAC;AACvD,eAAO,MAAM,eAAe,SAAK,CAAC;AASlC,eAAO,MAAM,eAAe;;;;;;;;;;;;;;GA2C3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAAwD,CAAC;AAEvF,eAAO,MAAM,sBAAsB,UAA0D,CAAC"}
|