@bitgo-beta/sdk-coin-algo 0.0.0-semantic-release-managed
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 +854 -0
- package/LICENSE +191 -0
- package/README.md +30 -0
- package/dist/src/algo.d.ts +291 -0
- package/dist/src/algo.d.ts.map +1 -0
- package/dist/src/algo.js +637 -0
- package/dist/src/algoToken.d.ts +32 -0
- package/dist/src/algoToken.d.ts.map +1 -0
- package/dist/src/algoToken.js +82 -0
- package/dist/src/builder.d.ts +3 -0
- package/dist/src/builder.d.ts.map +1 -0
- package/dist/src/builder.js +10 -0
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +45 -0
- package/dist/src/lib/assetTransferBuilder.d.ts +42 -0
- package/dist/src/lib/assetTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/assetTransferBuilder.js +105 -0
- package/dist/src/lib/errors.d.ts +11 -0
- package/dist/src/lib/errors.d.ts.map +1 -0
- package/dist/src/lib/errors.js +27 -0
- package/dist/src/lib/ifaces.d.ts +45 -0
- package/dist/src/lib/ifaces.d.ts.map +1 -0
- package/dist/src/lib/ifaces.js +3 -0
- package/dist/src/lib/index.d.ts +13 -0
- package/dist/src/lib/index.d.ts.map +1 -0
- package/dist/src/lib/index.js +61 -0
- package/dist/src/lib/keyPair.d.ts +25 -0
- package/dist/src/lib/keyPair.d.ts.map +1 -0
- package/dist/src/lib/keyPair.js +91 -0
- package/dist/src/lib/keyRegistrationBuilder.d.ts +104 -0
- package/dist/src/lib/keyRegistrationBuilder.d.ts.map +1 -0
- package/dist/src/lib/keyRegistrationBuilder.js +240 -0
- package/dist/src/lib/seedEncoding.d.ts +25 -0
- package/dist/src/lib/seedEncoding.d.ts.map +1 -0
- package/dist/src/lib/seedEncoding.js +111 -0
- package/dist/src/lib/transaction.d.ts +75 -0
- package/dist/src/lib/transaction.d.ts.map +1 -0
- package/dist/src/lib/transaction.js +250 -0
- package/dist/src/lib/transactionBuilder.d.ts +210 -0
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilder.js +389 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts +16 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilderFactory.js +52 -0
- package/dist/src/lib/transferBuilder.d.ts +40 -0
- package/dist/src/lib/transferBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferBuilder.js +89 -0
- package/dist/src/lib/txnSchema.d.ts +7 -0
- package/dist/src/lib/txnSchema.d.ts.map +1 -0
- package/dist/src/lib/txnSchema.js +68 -0
- package/dist/src/lib/utils.d.ts +254 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/lib/utils.js +563 -0
- package/dist/src/register.d.ts +3 -0
- package/dist/src/register.d.ts.map +1 -0
- package/dist/src/register.js +15 -0
- package/dist/src/seedValidator.d.ts +31 -0
- package/dist/src/seedValidator.d.ts.map +1 -0
- package/dist/src/seedValidator.js +103 -0
- package/dist/src/talgo.d.ts +12 -0
- package/dist/src/talgo.d.ts.map +1 -0
- package/dist/src/talgo.js +20 -0
- package/package.json +63 -0
- package/types/index.d.ts +60 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @prettier
|
|
3
|
+
*/
|
|
4
|
+
import { Algo } from './algo';
|
|
5
|
+
import { BitGoBase, CoinConstructor, NamedCoinConstructor } from '@bitgo-beta/sdk-core';
|
|
6
|
+
import { AlgoTokenConfig } from '@bitgo-beta/statics';
|
|
7
|
+
export declare class AlgoToken extends Algo {
|
|
8
|
+
static readonly tokenNamePattern: RegExp;
|
|
9
|
+
static readonly tokenPattern: RegExp;
|
|
10
|
+
readonly tokenConfig: AlgoTokenConfig;
|
|
11
|
+
private readonly _code;
|
|
12
|
+
constructor(bitgo: BitGoBase, tokenConfig: AlgoTokenConfig);
|
|
13
|
+
static createTokenConstructor(config: AlgoTokenConfig): CoinConstructor;
|
|
14
|
+
static createTokenConstructors(tokenConfigs?: AlgoTokenConfig[]): NamedCoinConstructor[];
|
|
15
|
+
get type(): string;
|
|
16
|
+
get name(): string;
|
|
17
|
+
get coin(): string;
|
|
18
|
+
get network(): string;
|
|
19
|
+
get code(): string;
|
|
20
|
+
get issuer(): string | undefined;
|
|
21
|
+
get decimalPlaces(): number;
|
|
22
|
+
getChain(): string;
|
|
23
|
+
getBaseChain(): string;
|
|
24
|
+
getFullName(): string;
|
|
25
|
+
getBaseFactor(): number;
|
|
26
|
+
/**
|
|
27
|
+
* Flag for sending value of 0
|
|
28
|
+
* @returns {boolean} True if okay to send 0 value, false otherwise
|
|
29
|
+
*/
|
|
30
|
+
valuelessTransferAllowed(): boolean;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=algoToken.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"algoToken.d.ts","sourceRoot":"","sources":["../../src/algoToken.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAgB,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,eAAe,EAAuB,MAAM,qBAAqB,CAAC;AAE3E,qBAAa,SAAU,SAAQ,IAAI;IACjC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,SAAqC;IACrE,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAW;IAC/C,SAAgB,WAAW,EAAE,eAAe,CAAC;IAC7C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe;IAkB1D,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe;IAIvE,MAAM,CAAC,uBAAuB,CAAC,YAAY,GAAE,eAAe,EAAwB,GAAG,oBAAoB,EAAE;IAW7G,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,QAAQ,IAAI,MAAM;IAIlB,YAAY,IAAI,MAAM;IAItB,WAAW,IAAI,MAAM;IAIrB,aAAa,IAAI,MAAM;IAIvB;;;OAGG;IACH,wBAAwB,IAAI,OAAO;CAGpC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AlgoToken = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @prettier
|
|
6
|
+
*/
|
|
7
|
+
const algo_1 = require("./algo");
|
|
8
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
9
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
10
|
+
class AlgoToken extends algo_1.Algo {
|
|
11
|
+
constructor(bitgo, tokenConfig) {
|
|
12
|
+
super(bitgo);
|
|
13
|
+
this.tokenConfig = tokenConfig;
|
|
14
|
+
const match = this.tokenConfig.type.match(AlgoToken.tokenNamePattern) || [];
|
|
15
|
+
const tokenCoin = match[1];
|
|
16
|
+
this._code = match[2];
|
|
17
|
+
const token = match[3];
|
|
18
|
+
if (tokenCoin !== tokenConfig.coin) {
|
|
19
|
+
throw new sdk_core_1.BitGoJsError(`invalid coin found in token: ${this.tokenConfig.type}`);
|
|
20
|
+
}
|
|
21
|
+
if (!token) {
|
|
22
|
+
throw new sdk_core_1.BitGoJsError(`invalid token: ${this.tokenConfig.type}`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
static createTokenConstructor(config) {
|
|
26
|
+
return (bitgo) => new AlgoToken(bitgo, config);
|
|
27
|
+
}
|
|
28
|
+
static createTokenConstructors(tokenConfigs = statics_1.formattedAlgoTokens) {
|
|
29
|
+
const tokensCtors = [];
|
|
30
|
+
tokenConfigs.forEach((config) => {
|
|
31
|
+
tokensCtors.push({ name: config.type, coinConstructor: AlgoToken.createTokenConstructor(config) });
|
|
32
|
+
if (config.alias) {
|
|
33
|
+
tokensCtors.push({ name: config.alias, coinConstructor: AlgoToken.createTokenConstructor(config) });
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
return tokensCtors;
|
|
37
|
+
}
|
|
38
|
+
get type() {
|
|
39
|
+
return this.tokenConfig.type;
|
|
40
|
+
}
|
|
41
|
+
get name() {
|
|
42
|
+
return this.tokenConfig.name;
|
|
43
|
+
}
|
|
44
|
+
get coin() {
|
|
45
|
+
return this.tokenConfig.coin;
|
|
46
|
+
}
|
|
47
|
+
get network() {
|
|
48
|
+
return this.tokenConfig.network;
|
|
49
|
+
}
|
|
50
|
+
get code() {
|
|
51
|
+
return this._code;
|
|
52
|
+
}
|
|
53
|
+
get issuer() {
|
|
54
|
+
return undefined; // Not defined for Algorand
|
|
55
|
+
}
|
|
56
|
+
get decimalPlaces() {
|
|
57
|
+
return this.tokenConfig.decimalPlaces;
|
|
58
|
+
}
|
|
59
|
+
getChain() {
|
|
60
|
+
return this.tokenConfig.type;
|
|
61
|
+
}
|
|
62
|
+
getBaseChain() {
|
|
63
|
+
return this.coin;
|
|
64
|
+
}
|
|
65
|
+
getFullName() {
|
|
66
|
+
return 'Algo Token';
|
|
67
|
+
}
|
|
68
|
+
getBaseFactor() {
|
|
69
|
+
return Math.pow(10, this.tokenConfig.decimalPlaces);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Flag for sending value of 0
|
|
73
|
+
* @returns {boolean} True if okay to send 0 value, false otherwise
|
|
74
|
+
*/
|
|
75
|
+
valuelessTransferAllowed() {
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.AlgoToken = AlgoToken;
|
|
80
|
+
AlgoToken.tokenNamePattern = /^([^:]+):(?:([^.]+)-)?([0-9]+)$/;
|
|
81
|
+
AlgoToken.tokenPattern = /[0-9]/;
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxnb1Rva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FsZ29Ub2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILGlDQUE4QjtBQUM5QixtREFBc0c7QUFDdEcsaURBQTJFO0FBRTNFLE1BQWEsU0FBVSxTQUFRLFdBQUk7SUFNakMsWUFBWSxLQUFnQixFQUFFLFdBQTRCO1FBQ3hELEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBRS9CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFNUUsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV2QixJQUFJLFNBQVMsS0FBSyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkMsTUFBTSxJQUFJLHVCQUFZLENBQUMsZ0NBQWdDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNsRixDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLHVCQUFZLENBQUMsa0JBQWtCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNwRSxDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxNQUF1QjtRQUNuRCxPQUFPLENBQUMsS0FBZ0IsRUFBRSxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQUMsZUFBa0MsNkJBQW1CO1FBQ2xGLE1BQU0sV0FBVyxHQUEyQixFQUFFLENBQUM7UUFDL0MsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzlCLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsU0FBUyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDakIsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFFLGVBQWUsRUFBRSxTQUFTLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3RHLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sU0FBUyxDQUFDLENBQUMsMkJBQTJCO0lBQy9DLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7O09BR0c7SUFDSCx3QkFBd0I7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztBQXpGSCw4QkEwRkM7QUF6RmlCLDBCQUFnQixHQUFHLGlDQUFpQyxDQUFDO0FBQ3JELHNCQUFZLEdBQVcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQWxnbyB9IGZyb20gJy4vYWxnbyc7XG5pbXBvcnQgeyBCaXRHb0Jhc2UsIEJpdEdvSnNFcnJvciwgQ29pbkNvbnN0cnVjdG9yLCBOYW1lZENvaW5Db25zdHJ1Y3RvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEFsZ29Ub2tlbkNvbmZpZywgZm9ybWF0dGVkQWxnb1Rva2VucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuXG5leHBvcnQgY2xhc3MgQWxnb1Rva2VuIGV4dGVuZHMgQWxnbyB7XG4gIHN0YXRpYyByZWFkb25seSB0b2tlbk5hbWVQYXR0ZXJuID0gL14oW146XSspOig/OihbXi5dKyktKT8oWzAtOV0rKSQvO1xuICBzdGF0aWMgcmVhZG9ubHkgdG9rZW5QYXR0ZXJuOiBSZWdFeHAgPSAvWzAtOV0vO1xuICBwdWJsaWMgcmVhZG9ubHkgdG9rZW5Db25maWc6IEFsZ29Ub2tlbkNvbmZpZztcbiAgcHJpdmF0ZSByZWFkb25seSBfY29kZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHRva2VuQ29uZmlnOiBBbGdvVG9rZW5Db25maWcpIHtcbiAgICBzdXBlcihiaXRnbyk7XG4gICAgdGhpcy50b2tlbkNvbmZpZyA9IHRva2VuQ29uZmlnO1xuXG4gICAgY29uc3QgbWF0Y2ggPSB0aGlzLnRva2VuQ29uZmlnLnR5cGUubWF0Y2goQWxnb1Rva2VuLnRva2VuTmFtZVBhdHRlcm4pIHx8IFtdO1xuXG4gICAgY29uc3QgdG9rZW5Db2luID0gbWF0Y2hbMV07XG4gICAgdGhpcy5fY29kZSA9IG1hdGNoWzJdO1xuICAgIGNvbnN0IHRva2VuID0gbWF0Y2hbM107XG5cbiAgICBpZiAodG9rZW5Db2luICE9PSB0b2tlbkNvbmZpZy5jb2luKSB7XG4gICAgICB0aHJvdyBuZXcgQml0R29Kc0Vycm9yKGBpbnZhbGlkIGNvaW4gZm91bmQgaW4gdG9rZW46ICR7dGhpcy50b2tlbkNvbmZpZy50eXBlfWApO1xuICAgIH1cbiAgICBpZiAoIXRva2VuKSB7XG4gICAgICB0aHJvdyBuZXcgQml0R29Kc0Vycm9yKGBpbnZhbGlkIHRva2VuOiAke3RoaXMudG9rZW5Db25maWcudHlwZX1gKTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcihjb25maWc6IEFsZ29Ub2tlbkNvbmZpZyk6IENvaW5Db25zdHJ1Y3RvciB7XG4gICAgcmV0dXJuIChiaXRnbzogQml0R29CYXNlKSA9PiBuZXcgQWxnb1Rva2VuKGJpdGdvLCBjb25maWcpO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKHRva2VuQ29uZmlnczogQWxnb1Rva2VuQ29uZmlnW10gPSBmb3JtYXR0ZWRBbGdvVG9rZW5zKTogTmFtZWRDb2luQ29uc3RydWN0b3JbXSB7XG4gICAgY29uc3QgdG9rZW5zQ3RvcnM6IE5hbWVkQ29pbkNvbnN0cnVjdG9yW10gPSBbXTtcbiAgICB0b2tlbkNvbmZpZ3MuZm9yRWFjaCgoY29uZmlnKSA9PiB7XG4gICAgICB0b2tlbnNDdG9ycy5wdXNoKHsgbmFtZTogY29uZmlnLnR5cGUsIGNvaW5Db25zdHJ1Y3RvcjogQWxnb1Rva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IoY29uZmlnKSB9KTtcbiAgICAgIGlmIChjb25maWcuYWxpYXMpIHtcbiAgICAgICAgdG9rZW5zQ3RvcnMucHVzaCh7IG5hbWU6IGNvbmZpZy5hbGlhcywgY29pbkNvbnN0cnVjdG9yOiBBbGdvVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcihjb25maWcpIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB0b2tlbnNDdG9ycztcbiAgfVxuXG4gIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcudHlwZTtcbiAgfVxuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcubmFtZTtcbiAgfVxuXG4gIGdldCBjb2luKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcuY29pbjtcbiAgfVxuXG4gIGdldCBuZXR3b3JrKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcubmV0d29yaztcbiAgfVxuXG4gIGdldCBjb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvZGU7XG4gIH1cblxuICBnZXQgaXNzdWVyKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDsgLy8gTm90IGRlZmluZWQgZm9yIEFsZ29yYW5kXG4gIH1cblxuICBnZXQgZGVjaW1hbFBsYWNlcygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLmRlY2ltYWxQbGFjZXM7XG4gIH1cblxuICBnZXRDaGFpbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLnR5cGU7XG4gIH1cblxuICBnZXRCYXNlQ2hhaW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb2luO1xuICB9XG5cbiAgZ2V0RnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0FsZ28gVG9rZW4nO1xuICB9XG5cbiAgZ2V0QmFzZUZhY3RvcigpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLnBvdygxMCwgdGhpcy50b2tlbkNvbmZpZy5kZWNpbWFsUGxhY2VzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGbGFnIGZvciBzZW5kaW5nIHZhbHVlIG9mIDBcbiAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgb2theSB0byBzZW5kIDAgdmFsdWUsIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgdmFsdWVsZXNzVHJhbnNmZXJBbGxvd2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,OAAO,CAAC;AAElD,eAAO,MAAM,UAAU,aAAc,MAAM,KAAG,yBAE7C,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBuilder = void 0;
|
|
4
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
5
|
+
const lib_1 = require("./lib");
|
|
6
|
+
const getBuilder = (coinName) => {
|
|
7
|
+
return new lib_1.TransactionBuilderFactory(statics_1.coins.get(coinName));
|
|
8
|
+
};
|
|
9
|
+
exports.getBuilder = getBuilder;
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUE0QztBQUM1QywrQkFBa0Q7QUFFM0MsTUFBTSxVQUFVLEdBQUcsQ0FBQyxRQUFnQixFQUE2QixFQUFFO0lBQ3hFLE9BQU8sSUFBSSwrQkFBeUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQyxDQUFDO0FBRlcsUUFBQSxVQUFVLGNBRXJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL2xpYic7XG5cbmV4cG9ydCBjb25zdCBnZXRCdWlsZGVyID0gKGNvaW5OYW1lOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5ID0+IHtcbiAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5zLmdldChjb2luTmFtZSkpO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,OAAO,KAAK,OAAO,MAAM,OAAO,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
+
};
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.AlgoLib = void 0;
|
|
40
|
+
__exportStar(require("./algo"), exports);
|
|
41
|
+
__exportStar(require("./talgo"), exports);
|
|
42
|
+
exports.AlgoLib = __importStar(require("./lib"));
|
|
43
|
+
__exportStar(require("./algoToken"), exports);
|
|
44
|
+
__exportStar(require("./register"), exports);
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQXVCO0FBQ3ZCLDBDQUF3QjtBQUN4QixpREFBaUM7QUFDakMsOENBQTRCO0FBQzVCLDZDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWxnbyc7XG5leHBvcnQgKiBmcm9tICcuL3RhbGdvJztcbmV4cG9ydCAqIGFzIEFsZ29MaWIgZnJvbSAnLi9saWInO1xuZXhwb3J0ICogZnJvbSAnLi9hbGdvVG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlcic7XG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
+
import algosdk from 'algosdk';
|
|
3
|
+
import { BaseAddress, TransactionType } from '@bitgo-beta/sdk-core';
|
|
4
|
+
import { TransferBuilder } from './transferBuilder';
|
|
5
|
+
import { Transaction } from './transaction';
|
|
6
|
+
export declare class AssetTransferBuilder extends TransferBuilder {
|
|
7
|
+
private _tokenId;
|
|
8
|
+
constructor(coinConfig: Readonly<CoinConfig>);
|
|
9
|
+
/**
|
|
10
|
+
* Sets the token id.
|
|
11
|
+
|
|
12
|
+
* The token id uniquely identifies the asset.
|
|
13
|
+
*
|
|
14
|
+
* @param {number} id The token id.
|
|
15
|
+
* @returns {AssetTransferBuilder} This transaction builder.
|
|
16
|
+
*
|
|
17
|
+
* @see https://developer.algorand.org/docs/reference/transactions/#asset-transfer-transaction
|
|
18
|
+
*/
|
|
19
|
+
tokenId(id: number): this;
|
|
20
|
+
/**
|
|
21
|
+
* Sets the parameters of the transaction builder to allowlist an asset.
|
|
22
|
+
*
|
|
23
|
+
* To allow list an asset, you send 0 units of the asset to yourself.
|
|
24
|
+
*
|
|
25
|
+
* This method sets the tokenId, sender, receiver, asset amount, and
|
|
26
|
+
* fee parameters to their respective values to allowlist and asset.
|
|
27
|
+
*
|
|
28
|
+
* @param {number} tokenId The unique identifier of the asset.
|
|
29
|
+
* @param {BaseAddress} userAddress The address of the user.
|
|
30
|
+
* @returns {AssetTransferBuilder} This transaction builder.
|
|
31
|
+
*/
|
|
32
|
+
allowListAsset(tokenId: number, userAddress: BaseAddress): this;
|
|
33
|
+
protected buildAlgoTxn(): algosdk.Transaction;
|
|
34
|
+
protected get transactionType(): TransactionType;
|
|
35
|
+
/** @inheritdoc */
|
|
36
|
+
protected fromImplementation(rawTransaction: Uint8Array | string): Transaction;
|
|
37
|
+
validateRawTransaction(rawTransaction: Uint8Array | string): void;
|
|
38
|
+
/** @inheritdoc */
|
|
39
|
+
validateTransaction(txn: Transaction): void;
|
|
40
|
+
protected validateFields(tokenId: number, assetAmount: number | bigint, receiver: string): void;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=assetTransferBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assetTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/assetTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,WAAW,EAA2B,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,qBAAa,oBAAqB,SAAQ,eAAe;IACvD,OAAO,CAAC,QAAQ,CAAS;gBAEb,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IASzB;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI;IAW/D,SAAS,CAAC,YAAY,IAAI,OAAO,CAAC,WAAW;IAc7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,UAAU,GAAG,MAAM,GAAG,WAAW;IAc9E,sBAAsB,CAAC,cAAc,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI;IAWjE,kBAAkB;IAClB,mBAAmB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAK3C,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;CAmBhG"}
|
|
@@ -0,0 +1,105 @@
|
|
|
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.AssetTransferBuilder = void 0;
|
|
7
|
+
const algosdk_1 = __importDefault(require("algosdk"));
|
|
8
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
9
|
+
const transferBuilder_1 = require("./transferBuilder");
|
|
10
|
+
const txnSchema_1 = require("./txnSchema");
|
|
11
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
12
|
+
class AssetTransferBuilder extends transferBuilder_1.TransferBuilder {
|
|
13
|
+
constructor(coinConfig) {
|
|
14
|
+
super(coinConfig);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Sets the token id.
|
|
18
|
+
|
|
19
|
+
* The token id uniquely identifies the asset.
|
|
20
|
+
*
|
|
21
|
+
* @param {number} id The token id.
|
|
22
|
+
* @returns {AssetTransferBuilder} This transaction builder.
|
|
23
|
+
*
|
|
24
|
+
* @see https://developer.algorand.org/docs/reference/transactions/#asset-transfer-transaction
|
|
25
|
+
*/
|
|
26
|
+
tokenId(id) {
|
|
27
|
+
if (id <= 0) {
|
|
28
|
+
throw new Error('Asset index must be a uint64 value');
|
|
29
|
+
}
|
|
30
|
+
this._tokenId = id;
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Sets the parameters of the transaction builder to allowlist an asset.
|
|
35
|
+
*
|
|
36
|
+
* To allow list an asset, you send 0 units of the asset to yourself.
|
|
37
|
+
*
|
|
38
|
+
* This method sets the tokenId, sender, receiver, asset amount, and
|
|
39
|
+
* fee parameters to their respective values to allowlist and asset.
|
|
40
|
+
*
|
|
41
|
+
* @param {number} tokenId The unique identifier of the asset.
|
|
42
|
+
* @param {BaseAddress} userAddress The address of the user.
|
|
43
|
+
* @returns {AssetTransferBuilder} This transaction builder.
|
|
44
|
+
*/
|
|
45
|
+
allowListAsset(tokenId, userAddress) {
|
|
46
|
+
this.tokenId(tokenId);
|
|
47
|
+
this.sender(userAddress);
|
|
48
|
+
this.to(userAddress);
|
|
49
|
+
this.isFlatFee(true);
|
|
50
|
+
this.fee({ fee: '1000' });
|
|
51
|
+
this.amount(0);
|
|
52
|
+
return this;
|
|
53
|
+
}
|
|
54
|
+
buildAlgoTxn() {
|
|
55
|
+
return algosdk_1.default.makeAssetTransferTxnWithSuggestedParams(this._sender, this._to, this._closeRemainderTo, undefined, this._amount, this._note, this._tokenId, this.suggestedParams, this._reKeyTo);
|
|
56
|
+
}
|
|
57
|
+
get transactionType() {
|
|
58
|
+
return sdk_core_1.TransactionType.Send;
|
|
59
|
+
}
|
|
60
|
+
/** @inheritdoc */
|
|
61
|
+
fromImplementation(rawTransaction) {
|
|
62
|
+
const tx = super.fromImplementation(rawTransaction);
|
|
63
|
+
const algoTx = tx.getAlgoTransaction();
|
|
64
|
+
if (!algoTx) {
|
|
65
|
+
throw new sdk_core_1.InvalidTransactionError('Transaction is empty');
|
|
66
|
+
}
|
|
67
|
+
this._tokenId = algoTx.assetIndex;
|
|
68
|
+
this._amount = algoTx.amount || 0;
|
|
69
|
+
this._to = algosdk_1.default.encodeAddress(algoTx.to.publicKey);
|
|
70
|
+
return tx;
|
|
71
|
+
}
|
|
72
|
+
validateRawTransaction(rawTransaction) {
|
|
73
|
+
const { txn: algoTxn } = utils_1.default.decodeAlgoTxn(rawTransaction);
|
|
74
|
+
if (algoTxn.type !== algosdk_1.default.TransactionType.axfer) {
|
|
75
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${algoTxn.type}. Expected ${algosdk_1.default.TransactionType.axfer}`);
|
|
76
|
+
}
|
|
77
|
+
this.validateFields(algoTxn.assetIndex, algoTxn.amount, algosdk_1.default.encodeAddress(algoTxn.to.publicKey));
|
|
78
|
+
}
|
|
79
|
+
/** @inheritdoc */
|
|
80
|
+
validateTransaction(txn) {
|
|
81
|
+
super.validateTransaction(txn);
|
|
82
|
+
this.validateFields(this._tokenId, this._amount, this._to);
|
|
83
|
+
}
|
|
84
|
+
validateFields(tokenId, assetAmount, receiver) {
|
|
85
|
+
let validationResult;
|
|
86
|
+
if (this._sender !== this._to) {
|
|
87
|
+
validationResult = txnSchema_1.AssetTransferTxnSchema.validate({
|
|
88
|
+
tokenId,
|
|
89
|
+
assetAmount,
|
|
90
|
+
receiver,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
validationResult = txnSchema_1.AssetToggleTxnSchema.validate({
|
|
95
|
+
tokenId,
|
|
96
|
+
receiver,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
if (validationResult.error) {
|
|
100
|
+
throw new sdk_core_1.InvalidTransactionError(`Transaction validation failed: ${validationResult.error.message}`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
exports.AssetTransferBuilder = AssetTransferBuilder;
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRUcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2Fzc2V0VHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLHNEQUE4QjtBQUM5QixtREFBNkY7QUFDN0YsdURBQW9EO0FBRXBELDJDQUEyRTtBQUMzRSxvREFBNEI7QUFFNUIsTUFBYSxvQkFBcUIsU0FBUSxpQ0FBZTtJQUd2RCxZQUFZLFVBQWdDO1FBQzFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsT0FBTyxDQUFDLEVBQVU7UUFDaEIsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBRW5CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsY0FBYyxDQUFDLE9BQWUsRUFBRSxXQUF3QjtRQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWYsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRVMsWUFBWTtRQUNwQixPQUFPLGlCQUFPLENBQUMsdUNBQXVDLENBQ3BELElBQUksQ0FBQyxPQUFPLEVBQ1osSUFBSSxDQUFDLEdBQUcsRUFDUixJQUFJLENBQUMsaUJBQWlCLEVBQ3RCLFNBQVMsRUFDVCxJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsUUFBUSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLGNBQW1DO1FBQzlELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwRCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksa0NBQXVCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM1RCxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxpQkFBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXRELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELHNCQUFzQixDQUFDLGNBQW1DO1FBQ3hELE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsZUFBSyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM3RCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssaUJBQU8sQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkQsTUFBTSxJQUFJLGtDQUF1QixDQUMvQiw2QkFBNkIsT0FBTyxDQUFDLElBQUksY0FBYyxpQkFBTyxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FDdkYsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxpQkFBTyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDdkcsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixtQkFBbUIsQ0FBQyxHQUFnQjtRQUNsQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFUyxjQUFjLENBQUMsT0FBZSxFQUFFLFdBQTRCLEVBQUUsUUFBZ0I7UUFDdEYsSUFBSSxnQkFBZ0IsQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzlCLGdCQUFnQixHQUFHLGtDQUFzQixDQUFDLFFBQVEsQ0FBQztnQkFDakQsT0FBTztnQkFDUCxXQUFXO2dCQUNYLFFBQVE7YUFDVCxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLGdCQUFnQixHQUFHLGdDQUFvQixDQUFDLFFBQVEsQ0FBQztnQkFDL0MsT0FBTztnQkFDUCxRQUFRO2FBQ1QsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLGtDQUF1QixDQUFDLGtDQUFrQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4RyxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBdEhELG9EQXNIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCBhbGdvc2RrIGZyb20gJ2FsZ29zZGsnO1xuaW1wb3J0IHsgQmFzZUFkZHJlc3MsIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQXNzZXRUcmFuc2ZlclR4blNjaGVtYSwgQXNzZXRUb2dnbGVUeG5TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBBc3NldFRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRyYW5zZmVyQnVpbGRlciB7XG4gIHByaXZhdGUgX3Rva2VuSWQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHRva2VuIGlkLlxuXG4gICAqIFRoZSB0b2tlbiBpZCB1bmlxdWVseSBpZGVudGlmaWVzIHRoZSBhc3NldC5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIFRoZSB0b2tlbiBpZC5cbiAgICogQHJldHVybnMge0Fzc2V0VHJhbnNmZXJCdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIuYWxnb3JhbmQub3JnL2RvY3MvcmVmZXJlbmNlL3RyYW5zYWN0aW9ucy8jYXNzZXQtdHJhbnNmZXItdHJhbnNhY3Rpb25cbiAgICovXG4gIHRva2VuSWQoaWQ6IG51bWJlcik6IHRoaXMge1xuICAgIGlmIChpZCA8PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Fzc2V0IGluZGV4IG11c3QgYmUgYSB1aW50NjQgdmFsdWUnKTtcbiAgICB9XG4gICAgdGhpcy5fdG9rZW5JZCA9IGlkO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgdHJhbnNhY3Rpb24gYnVpbGRlciB0byBhbGxvd2xpc3QgYW4gYXNzZXQuXG4gICAqXG4gICAqIFRvIGFsbG93IGxpc3QgYW4gYXNzZXQsIHlvdSBzZW5kIDAgdW5pdHMgb2YgdGhlIGFzc2V0IHRvIHlvdXJzZWxmLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBzZXRzIHRoZSB0b2tlbklkLCBzZW5kZXIsIHJlY2VpdmVyLCBhc3NldCBhbW91bnQsIGFuZFxuICAgKiBmZWUgcGFyYW1ldGVycyB0byB0aGVpciByZXNwZWN0aXZlIHZhbHVlcyB0byBhbGxvd2xpc3QgYW5kIGFzc2V0LlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gdG9rZW5JZCBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0LlxuICAgKiBAcGFyYW0ge0Jhc2VBZGRyZXNzfSB1c2VyQWRkcmVzcyBUaGUgYWRkcmVzcyBvZiB0aGUgdXNlci5cbiAgICogQHJldHVybnMge0Fzc2V0VHJhbnNmZXJCdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXIuXG4gICAqL1xuICBhbGxvd0xpc3RBc3NldCh0b2tlbklkOiBudW1iZXIsIHVzZXJBZGRyZXNzOiBCYXNlQWRkcmVzcyk6IHRoaXMge1xuICAgIHRoaXMudG9rZW5JZCh0b2tlbklkKTtcbiAgICB0aGlzLnNlbmRlcih1c2VyQWRkcmVzcyk7XG4gICAgdGhpcy50byh1c2VyQWRkcmVzcyk7XG4gICAgdGhpcy5pc0ZsYXRGZWUodHJ1ZSk7XG4gICAgdGhpcy5mZWUoeyBmZWU6ICcxMDAwJyB9KTtcbiAgICB0aGlzLmFtb3VudCgwKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkQWxnb1R4bigpOiBhbGdvc2RrLlRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gYWxnb3Nkay5tYWtlQXNzZXRUcmFuc2ZlclR4bldpdGhTdWdnZXN0ZWRQYXJhbXMoXG4gICAgICB0aGlzLl9zZW5kZXIsXG4gICAgICB0aGlzLl90byxcbiAgICAgIHRoaXMuX2Nsb3NlUmVtYWluZGVyVG8sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB0aGlzLl9hbW91bnQsXG4gICAgICB0aGlzLl9ub3RlLFxuICAgICAgdGhpcy5fdG9rZW5JZCxcbiAgICAgIHRoaXMuc3VnZ2VzdGVkUGFyYW1zLFxuICAgICAgdGhpcy5fcmVLZXlUb1xuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBVaW50OEFycmF5IHwgc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBjb25zdCBhbGdvVHggPSB0eC5nZXRBbGdvVHJhbnNhY3Rpb24oKTtcbiAgICBpZiAoIWFsZ29UeCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdUcmFuc2FjdGlvbiBpcyBlbXB0eScpO1xuICAgIH1cblxuICAgIHRoaXMuX3Rva2VuSWQgPSBhbGdvVHguYXNzZXRJbmRleDtcbiAgICB0aGlzLl9hbW91bnQgPSBhbGdvVHguYW1vdW50IHx8IDA7XG4gICAgdGhpcy5fdG8gPSBhbGdvc2RrLmVuY29kZUFkZHJlc3MoYWxnb1R4LnRvLnB1YmxpY0tleSk7XG5cbiAgICByZXR1cm4gdHg7XG4gIH1cblxuICB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBVaW50OEFycmF5IHwgc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgeyB0eG46IGFsZ29UeG4gfSA9IFV0aWxzLmRlY29kZUFsZ29UeG4ocmF3VHJhbnNhY3Rpb24pO1xuICAgIGlmIChhbGdvVHhuLnR5cGUgIT09IGFsZ29zZGsuVHJhbnNhY3Rpb25UeXBlLmF4ZmVyKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAgIGBJbnZhbGlkIFRyYW5zYWN0aW9uIFR5cGU6ICR7YWxnb1R4bi50eXBlfS4gRXhwZWN0ZWQgJHthbGdvc2RrLlRyYW5zYWN0aW9uVHlwZS5heGZlcn1gXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMudmFsaWRhdGVGaWVsZHMoYWxnb1R4bi5hc3NldEluZGV4LCBhbGdvVHhuLmFtb3VudCwgYWxnb3Nkay5lbmNvZGVBZGRyZXNzKGFsZ29UeG4udG8ucHVibGljS2V5KSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbih0eG46IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIudmFsaWRhdGVUcmFuc2FjdGlvbih0eG4pO1xuICAgIHRoaXMudmFsaWRhdGVGaWVsZHModGhpcy5fdG9rZW5JZCwgdGhpcy5fYW1vdW50LCB0aGlzLl90byk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdmFsaWRhdGVGaWVsZHModG9rZW5JZDogbnVtYmVyLCBhc3NldEFtb3VudDogbnVtYmVyIHwgYmlnaW50LCByZWNlaXZlcjogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IHZhbGlkYXRpb25SZXN1bHQ7XG4gICAgaWYgKHRoaXMuX3NlbmRlciAhPT0gdGhpcy5fdG8pIHtcbiAgICAgIHZhbGlkYXRpb25SZXN1bHQgPSBBc3NldFRyYW5zZmVyVHhuU2NoZW1hLnZhbGlkYXRlKHtcbiAgICAgICAgdG9rZW5JZCxcbiAgICAgICAgYXNzZXRBbW91bnQsXG4gICAgICAgIHJlY2VpdmVyLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbGlkYXRpb25SZXN1bHQgPSBBc3NldFRvZ2dsZVR4blNjaGVtYS52YWxpZGF0ZSh7XG4gICAgICAgIHRva2VuSWQsXG4gICAgICAgIHJlY2VpdmVyLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BuildTransactionError } from '@bitgo-beta/sdk-core';
|
|
2
|
+
export declare class InsufficientFeeError extends BuildTransactionError {
|
|
3
|
+
constructor(providedFee: number, minimum: number);
|
|
4
|
+
}
|
|
5
|
+
export declare class AddressValidationError extends BuildTransactionError {
|
|
6
|
+
constructor(malformedAddress: string);
|
|
7
|
+
}
|
|
8
|
+
export declare class KeyDilutionError extends BuildTransactionError {
|
|
9
|
+
constructor(incorrectValue: number);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,qBAAa,oBAAqB,SAAQ,qBAAqB;gBACjD,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAOjD;AAED,qBAAa,sBAAuB,SAAQ,qBAAqB;gBACnD,gBAAgB,EAAE,MAAM;CAIrC;AACD,qBAAa,gBAAiB,SAAQ,qBAAqB;gBAC7C,cAAc,EAAE,MAAM;CAMnC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KeyDilutionError = exports.AddressValidationError = exports.InsufficientFeeError = void 0;
|
|
4
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
5
|
+
class InsufficientFeeError extends sdk_core_1.BuildTransactionError {
|
|
6
|
+
constructor(providedFee, minimum) {
|
|
7
|
+
super(`The provided fee of '${providedFee}' microalgos cannot be less than the ` +
|
|
8
|
+
`minimum fee of '${minimum}' microalgos`);
|
|
9
|
+
this.name = InsufficientFeeError.name;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.InsufficientFeeError = InsufficientFeeError;
|
|
13
|
+
class AddressValidationError extends sdk_core_1.BuildTransactionError {
|
|
14
|
+
constructor(malformedAddress) {
|
|
15
|
+
super(`The address '${malformedAddress}' is not a well-formed algorand address`);
|
|
16
|
+
this.name = AddressValidationError.name;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.AddressValidationError = AddressValidationError;
|
|
20
|
+
class KeyDilutionError extends sdk_core_1.BuildTransactionError {
|
|
21
|
+
constructor(incorrectValue) {
|
|
22
|
+
super(`The keyDilution value '${incorrectValue}' must be less than or equal to the square root of the voteKey validity range.`);
|
|
23
|
+
this.name = KeyDilutionError.name;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.KeyDilutionError = KeyDilutionError;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQTZEO0FBRTdELE1BQWEsb0JBQXFCLFNBQVEsZ0NBQXFCO0lBQzdELFlBQVksV0FBbUIsRUFBRSxPQUFlO1FBQzlDLEtBQUssQ0FDSCx3QkFBd0IsV0FBVyx1Q0FBdUM7WUFDeEUsbUJBQW1CLE9BQU8sY0FBYyxDQUMzQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7SUFDeEMsQ0FBQztDQUNGO0FBUkQsb0RBUUM7QUFFRCxNQUFhLHNCQUF1QixTQUFRLGdDQUFxQjtJQUMvRCxZQUFZLGdCQUF3QjtRQUNsQyxLQUFLLENBQUMsZ0JBQWdCLGdCQUFnQix5Q0FBeUMsQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxJQUFJLEdBQUcsc0JBQXNCLENBQUMsSUFBSSxDQUFDO0lBQzFDLENBQUM7Q0FDRjtBQUxELHdEQUtDO0FBQ0QsTUFBYSxnQkFBaUIsU0FBUSxnQ0FBcUI7SUFDekQsWUFBWSxjQUFzQjtRQUNoQyxLQUFLLENBQ0gsMEJBQTBCLGNBQWMsZ0ZBQWdGLENBQ3pILENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQztJQUNwQyxDQUFDO0NBQ0Y7QUFQRCw0Q0FPQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuZXhwb3J0IGNsYXNzIEluc3VmZmljaWVudEZlZUVycm9yIGV4dGVuZHMgQnVpbGRUcmFuc2FjdGlvbkVycm9yIHtcbiAgY29uc3RydWN0b3IocHJvdmlkZWRGZWU6IG51bWJlciwgbWluaW11bTogbnVtYmVyKSB7XG4gICAgc3VwZXIoXG4gICAgICBgVGhlIHByb3ZpZGVkIGZlZSBvZiAnJHtwcm92aWRlZEZlZX0nIG1pY3JvYWxnb3MgY2Fubm90IGJlIGxlc3MgdGhhbiB0aGUgYCArXG4gICAgICAgIGBtaW5pbXVtIGZlZSBvZiAnJHttaW5pbXVtfScgbWljcm9hbGdvc2BcbiAgICApO1xuICAgIHRoaXMubmFtZSA9IEluc3VmZmljaWVudEZlZUVycm9yLm5hbWU7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFkZHJlc3NWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBCdWlsZFRyYW5zYWN0aW9uRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtYWxmb3JtZWRBZGRyZXNzOiBzdHJpbmcpIHtcbiAgICBzdXBlcihgVGhlIGFkZHJlc3MgJyR7bWFsZm9ybWVkQWRkcmVzc30nIGlzIG5vdCBhIHdlbGwtZm9ybWVkIGFsZ29yYW5kIGFkZHJlc3NgKTtcbiAgICB0aGlzLm5hbWUgPSBBZGRyZXNzVmFsaWRhdGlvbkVycm9yLm5hbWU7XG4gIH1cbn1cbmV4cG9ydCBjbGFzcyBLZXlEaWx1dGlvbkVycm9yIGV4dGVuZHMgQnVpbGRUcmFuc2FjdGlvbkVycm9yIHtcbiAgY29uc3RydWN0b3IoaW5jb3JyZWN0VmFsdWU6IG51bWJlcikge1xuICAgIHN1cGVyKFxuICAgICAgYFRoZSBrZXlEaWx1dGlvbiB2YWx1ZSAnJHtpbmNvcnJlY3RWYWx1ZX0nIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSBzcXVhcmUgcm9vdCBvZiB0aGUgdm90ZUtleSB2YWxpZGl0eSByYW5nZS5gXG4gICAgKTtcbiAgICB0aGlzLm5hbWUgPSBLZXlEaWx1dGlvbkVycm9yLm5hbWU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import algosdk from 'algosdk';
|
|
2
|
+
export interface TxData {
|
|
3
|
+
id: string;
|
|
4
|
+
type?: string;
|
|
5
|
+
from: string;
|
|
6
|
+
to?: string;
|
|
7
|
+
fee: number;
|
|
8
|
+
amount?: string;
|
|
9
|
+
firstRound: number;
|
|
10
|
+
lastRound: number;
|
|
11
|
+
note?: Uint8Array;
|
|
12
|
+
voteKey?: string;
|
|
13
|
+
selectionKey?: string;
|
|
14
|
+
voteFirst?: number;
|
|
15
|
+
voteLast?: number;
|
|
16
|
+
voteKeyDilution?: number;
|
|
17
|
+
stateProofKey?: string;
|
|
18
|
+
tokenId?: number;
|
|
19
|
+
genesisID: string;
|
|
20
|
+
genesisHash: string | Buffer;
|
|
21
|
+
closeRemainderTo?: string;
|
|
22
|
+
nonParticipation?: boolean;
|
|
23
|
+
txType?: string;
|
|
24
|
+
tokenName?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface Address {
|
|
27
|
+
publicKey: Uint8Array;
|
|
28
|
+
checksum: Uint8Array;
|
|
29
|
+
}
|
|
30
|
+
export interface Seed {
|
|
31
|
+
seed: Uint8Array;
|
|
32
|
+
checksum: Uint8Array;
|
|
33
|
+
}
|
|
34
|
+
export interface EncodedTx {
|
|
35
|
+
rawTransaction: Uint8Array;
|
|
36
|
+
txn: algosdk.Transaction;
|
|
37
|
+
signed: boolean;
|
|
38
|
+
signers?: string[];
|
|
39
|
+
signedBy?: string[];
|
|
40
|
+
}
|
|
41
|
+
export interface Account {
|
|
42
|
+
addr: string;
|
|
43
|
+
sk: Uint8Array;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=ifaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ifaces.d.ts","sourceRoot":"","sources":["../../../src/lib/ifaces.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,UAAU,CAAC;IACtB,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,cAAc,EAAE,UAAU,CAAC;IAC3B,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,UAAU,CAAC;CAChB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9pZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhbGdvc2RrIGZyb20gJ2FsZ29zZGsnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR4RGF0YSB7XG4gIGlkOiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGZyb206IHN0cmluZztcbiAgdG8/OiBzdHJpbmc7XG4gIGZlZTogbnVtYmVyO1xuICBhbW91bnQ/OiBzdHJpbmc7XG4gIGZpcnN0Um91bmQ6IG51bWJlcjtcbiAgbGFzdFJvdW5kOiBudW1iZXI7XG4gIG5vdGU/OiBVaW50OEFycmF5O1xuICB2b3RlS2V5Pzogc3RyaW5nO1xuICBzZWxlY3Rpb25LZXk/OiBzdHJpbmc7XG4gIHZvdGVGaXJzdD86IG51bWJlcjtcbiAgdm90ZUxhc3Q/OiBudW1iZXI7XG4gIHZvdGVLZXlEaWx1dGlvbj86IG51bWJlcjtcbiAgc3RhdGVQcm9vZktleT86IHN0cmluZztcbiAgdG9rZW5JZD86IG51bWJlcjtcbiAgZ2VuZXNpc0lEOiBzdHJpbmc7XG4gIGdlbmVzaXNIYXNoOiBzdHJpbmcgfCBCdWZmZXI7XG4gIGNsb3NlUmVtYWluZGVyVG8/OiBzdHJpbmc7XG4gIG5vblBhcnRpY2lwYXRpb24/OiBib29sZWFuO1xuICB0eFR5cGU/OiBzdHJpbmc7XG4gIHRva2VuTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGRyZXNzIHtcbiAgcHVibGljS2V5OiBVaW50OEFycmF5O1xuICBjaGVja3N1bTogVWludDhBcnJheTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWVkIHtcbiAgc2VlZDogVWludDhBcnJheTtcbiAgY2hlY2tzdW06IFVpbnQ4QXJyYXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW5jb2RlZFR4IHtcbiAgcmF3VHJhbnNhY3Rpb246IFVpbnQ4QXJyYXk7XG4gIHR4bjogYWxnb3Nkay5UcmFuc2FjdGlvbjtcbiAgc2lnbmVkOiBib29sZWFuO1xuICBzaWduZXJzPzogc3RyaW5nW107XG4gIHNpZ25lZEJ5Pzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWNjb3VudCB7XG4gIGFkZHI6IHN0cmluZztcbiAgc2s6IFVpbnQ4QXJyYXk7XG59XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import utils from './utils';
|
|
2
|
+
import * as Interface from './ifaces';
|
|
3
|
+
export { KeyPair } from './keyPair';
|
|
4
|
+
export { TransactionBuilder } from './transactionBuilder';
|
|
5
|
+
export { TransferBuilder } from './transferBuilder';
|
|
6
|
+
export { KeyRegistrationBuilder } from './keyRegistrationBuilder';
|
|
7
|
+
export { Transaction } from './transaction';
|
|
8
|
+
export { AssetTransferBuilder } from './assetTransferBuilder';
|
|
9
|
+
export { TransactionBuilderFactory } from './transactionBuilderFactory';
|
|
10
|
+
export { InsufficientFeeError, AddressValidationError } from './errors';
|
|
11
|
+
export { Interface };
|
|
12
|
+
export { utils as algoUtils };
|
|
13
|
+
//# 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,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,KAAK,SAAS,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.algoUtils = exports.Interface = exports.AddressValidationError = exports.InsufficientFeeError = exports.TransactionBuilderFactory = exports.AssetTransferBuilder = exports.Transaction = exports.KeyRegistrationBuilder = exports.TransferBuilder = exports.TransactionBuilder = exports.KeyPair = void 0;
|
|
40
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
41
|
+
exports.algoUtils = utils_1.default;
|
|
42
|
+
const Interface = __importStar(require("./ifaces"));
|
|
43
|
+
exports.Interface = Interface;
|
|
44
|
+
var keyPair_1 = require("./keyPair");
|
|
45
|
+
Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return keyPair_1.KeyPair; } });
|
|
46
|
+
var transactionBuilder_1 = require("./transactionBuilder");
|
|
47
|
+
Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
|
|
48
|
+
var transferBuilder_1 = require("./transferBuilder");
|
|
49
|
+
Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return transferBuilder_1.TransferBuilder; } });
|
|
50
|
+
var keyRegistrationBuilder_1 = require("./keyRegistrationBuilder");
|
|
51
|
+
Object.defineProperty(exports, "KeyRegistrationBuilder", { enumerable: true, get: function () { return keyRegistrationBuilder_1.KeyRegistrationBuilder; } });
|
|
52
|
+
var transaction_1 = require("./transaction");
|
|
53
|
+
Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
|
|
54
|
+
var assetTransferBuilder_1 = require("./assetTransferBuilder");
|
|
55
|
+
Object.defineProperty(exports, "AssetTransferBuilder", { enumerable: true, get: function () { return assetTransferBuilder_1.AssetTransferBuilder; } });
|
|
56
|
+
var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
|
|
57
|
+
Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
|
|
58
|
+
var errors_1 = require("./errors");
|
|
59
|
+
Object.defineProperty(exports, "InsufficientFeeError", { enumerable: true, get: function () { return errors_1.InsufficientFeeError; } });
|
|
60
|
+
Object.defineProperty(exports, "AddressValidationError", { enumerable: true, get: function () { return errors_1.AddressValidationError; } });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUE0QjtBQVlWLG9CQVpYLGVBQUssQ0FZZTtBQVgzQixvREFBc0M7QUFVN0IsOEJBQVM7QUFSbEIscUNBQW9DO0FBQTNCLGtHQUFBLE9BQU8sT0FBQTtBQUNoQiwyREFBMEQ7QUFBakQsd0hBQUEsa0JBQWtCLE9BQUE7QUFDM0IscURBQW9EO0FBQTNDLGtIQUFBLGVBQWUsT0FBQTtBQUN4QixtRUFBa0U7QUFBekQsZ0lBQUEsc0JBQXNCLE9BQUE7QUFDL0IsNkNBQTRDO0FBQW5DLDBHQUFBLFdBQVcsT0FBQTtBQUNwQiwrREFBOEQ7QUFBckQsNEhBQUEsb0JBQW9CLE9BQUE7QUFDN0IseUVBQXdFO0FBQS9ELHNJQUFBLHlCQUF5QixPQUFBO0FBQ2xDLG1DQUF3RTtBQUEvRCw4R0FBQSxvQkFBb0IsT0FBQTtBQUFFLGdIQUFBLHNCQUFzQixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0ICogYXMgSW50ZXJmYWNlIGZyb20gJy4vaWZhY2VzJztcblxuZXhwb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBLZXlSZWdpc3RyYXRpb25CdWlsZGVyIH0gZnJvbSAnLi9rZXlSZWdpc3RyYXRpb25CdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5leHBvcnQgeyBBc3NldFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vYXNzZXRUcmFuc2ZlckJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5leHBvcnQgeyBJbnN1ZmZpY2llbnRGZWVFcnJvciwgQWRkcmVzc1ZhbGlkYXRpb25FcnJvciB9IGZyb20gJy4vZXJyb3JzJztcbmV4cG9ydCB7IEludGVyZmFjZSB9O1xuZXhwb3J0IHsgdXRpbHMgYXMgYWxnb1V0aWxzIH07XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Ed25519KeyPair, DefaultKeys, KeyPairOptions } from '@bitgo-beta/sdk-core';
|
|
2
|
+
export declare class KeyPair extends Ed25519KeyPair {
|
|
3
|
+
/**
|
|
4
|
+
* Public constructor. By default, creates a key pair with a random master seed.
|
|
5
|
+
*
|
|
6
|
+
* @param { KeyPairOptions } source Either a master seed, a private key, or a public key
|
|
7
|
+
*/
|
|
8
|
+
constructor(source?: KeyPairOptions);
|
|
9
|
+
/** @inheritdoc */
|
|
10
|
+
recordKeysFromPrivateKeyInProtocolFormat(prv: string): DefaultKeys;
|
|
11
|
+
/** @inheritdoc */
|
|
12
|
+
recordKeysFromPublicKeyInProtocolFormat(pub: string): DefaultKeys;
|
|
13
|
+
/** @inheritdoc */
|
|
14
|
+
getAddress(): string;
|
|
15
|
+
/** @inheritdoc */
|
|
16
|
+
getKeys(): DefaultKeys;
|
|
17
|
+
/**
|
|
18
|
+
* Getting the base64 private key for signing an algo transaction.
|
|
19
|
+
*
|
|
20
|
+
* @returns {Uint8Array} base64 private key
|
|
21
|
+
* @see https://developer.algorand.org/docs/features/accounts/#transformation-private-key-to-base64-private-key
|
|
22
|
+
*/
|
|
23
|
+
getSigningKey(): Uint8Array;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=keyPair.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAc,MAAM,sBAAsB,CAAC;AAG/F,qBAAa,OAAQ,SAAQ,cAAc;IACzC;;;;OAIG;gBACS,MAAM,CAAC,EAAE,cAAc;IAInC,kBAAkB;IAClB,wCAAwC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAOlE,kBAAkB;IAClB,uCAAuC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAKjE,kBAAkB;IAClB,UAAU,IAAI,MAAM;IAIpB,kBAAkB;IAClB,OAAO,IAAI,WAAW;IAYtB;;;;;OAKG;IACH,aAAa,IAAI,UAAU;CAM5B"}
|