@bitgo/account-lib 2.20.0-rc.21 → 2.20.0-rc.22
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/CHANGELOG.md +8 -0
- package/dist/tsconfig.tsbuildinfo +1354 -3334
- package/package.json +7 -14
- package/dist/browser/bitgo-account-lib.js +0 -2
- package/dist/browser/bitgo-account-lib.js.LICENSE.txt +0 -337
- package/dist/src/coin/algo/assetTransferBuilder.d.ts +0 -42
- package/dist/src/coin/algo/assetTransferBuilder.d.ts.map +0 -1
- package/dist/src/coin/algo/assetTransferBuilder.js +0 -105
- package/dist/src/coin/algo/errors.d.ts +0 -11
- package/dist/src/coin/algo/errors.d.ts.map +0 -1
- package/dist/src/coin/algo/errors.js +0 -27
- package/dist/src/coin/algo/ifaces.d.ts +0 -46
- package/dist/src/coin/algo/ifaces.d.ts.map +0 -1
- package/dist/src/coin/algo/ifaces.js +0 -3
- package/dist/src/coin/algo/index.d.ts +0 -13
- package/dist/src/coin/algo/index.d.ts.map +0 -1
- package/dist/src/coin/algo/index.js +0 -47
- package/dist/src/coin/algo/keyPair.d.ts +0 -25
- package/dist/src/coin/algo/keyPair.d.ts.map +0 -1
- package/dist/src/coin/algo/keyPair.js +0 -77
- package/dist/src/coin/algo/keyRegistrationBuilder.d.ts +0 -104
- package/dist/src/coin/algo/keyRegistrationBuilder.d.ts.map +0 -1
- package/dist/src/coin/algo/keyRegistrationBuilder.js +0 -239
- package/dist/src/coin/algo/seedEncoding.d.ts +0 -25
- package/dist/src/coin/algo/seedEncoding.d.ts.map +0 -1
- package/dist/src/coin/algo/seedEncoding.js +0 -97
- package/dist/src/coin/algo/transaction.d.ts +0 -75
- package/dist/src/coin/algo/transaction.d.ts.map +0 -1
- package/dist/src/coin/algo/transaction.js +0 -251
- package/dist/src/coin/algo/transactionBuilder.d.ts +0 -204
- package/dist/src/coin/algo/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/algo/transactionBuilder.js +0 -373
- package/dist/src/coin/algo/transactionBuilderFactory.d.ts +0 -16
- package/dist/src/coin/algo/transactionBuilderFactory.d.ts.map +0 -1
- package/dist/src/coin/algo/transactionBuilderFactory.js +0 -52
- package/dist/src/coin/algo/transferBuilder.d.ts +0 -40
- package/dist/src/coin/algo/transferBuilder.d.ts.map +0 -1
- package/dist/src/coin/algo/transferBuilder.js +0 -89
- package/dist/src/coin/algo/txnSchema.d.ts +0 -7
- package/dist/src/coin/algo/txnSchema.d.ts.map +0 -1
- package/dist/src/coin/algo/txnSchema.js +0 -68
- package/dist/src/coin/algo/utils.d.ts +0 -249
- package/dist/src/coin/algo/utils.d.ts.map +0 -1
- package/dist/src/coin/algo/utils.js +0 -539
- package/dist/src/coin/cspr/constants.d.ts +0 -19
- package/dist/src/coin/cspr/constants.d.ts.map +0 -1
- package/dist/src/coin/cspr/constants.js +0 -28
- package/dist/src/coin/cspr/delegateBuilder.d.ts +0 -49
- package/dist/src/coin/cspr/delegateBuilder.d.ts.map +0 -1
- package/dist/src/coin/cspr/delegateBuilder.js +0 -111
- package/dist/src/coin/cspr/ifaces.d.ts +0 -69
- package/dist/src/coin/cspr/ifaces.d.ts.map +0 -1
- package/dist/src/coin/cspr/ifaces.js +0 -3
- package/dist/src/coin/cspr/index.d.ts +0 -6
- package/dist/src/coin/cspr/index.d.ts.map +0 -1
- package/dist/src/coin/cspr/index.js +0 -31
- package/dist/src/coin/cspr/keyPair.d.ts +0 -18
- package/dist/src/coin/cspr/keyPair.d.ts.map +0 -1
- package/dist/src/coin/cspr/keyPair.js +0 -75
- package/dist/src/coin/cspr/transaction.d.ts +0 -55
- package/dist/src/coin/cspr/transaction.d.ts.map +0 -1
- package/dist/src/coin/cspr/transaction.js +0 -227
- package/dist/src/coin/cspr/transactionBuilder.d.ts +0 -124
- package/dist/src/coin/cspr/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/cspr/transactionBuilder.js +0 -312
- package/dist/src/coin/cspr/transactionBuilderFactory.d.ts +0 -46
- package/dist/src/coin/cspr/transactionBuilderFactory.d.ts.map +0 -1
- package/dist/src/coin/cspr/transactionBuilderFactory.js +0 -98
- package/dist/src/coin/cspr/transferBuilder.d.ts +0 -39
- package/dist/src/coin/cspr/transferBuilder.d.ts.map +0 -1
- package/dist/src/coin/cspr/transferBuilder.js +0 -106
- package/dist/src/coin/cspr/undelegateBuilder.d.ts +0 -49
- package/dist/src/coin/cspr/undelegateBuilder.d.ts.map +0 -1
- package/dist/src/coin/cspr/undelegateBuilder.js +0 -111
- package/dist/src/coin/cspr/utils.d.ts +0 -188
- package/dist/src/coin/cspr/utils.d.ts.map +0 -1
- package/dist/src/coin/cspr/utils.js +0 -477
- package/dist/src/coin/cspr/walletInitializationBuilder.d.ts +0 -27
- package/dist/src/coin/cspr/walletInitializationBuilder.d.ts.map +0 -1
- package/dist/src/coin/cspr/walletInitializationBuilder.js +0 -95
|
@@ -1,52 +0,0 @@
|
|
|
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.TransactionBuilderFactory = void 0;
|
|
7
|
-
const algosdk_1 = __importDefault(require("algosdk"));
|
|
8
|
-
const keyRegistrationBuilder_1 = require("./keyRegistrationBuilder");
|
|
9
|
-
const transferBuilder_1 = require("./transferBuilder");
|
|
10
|
-
const assetTransferBuilder_1 = require("./assetTransferBuilder");
|
|
11
|
-
const utils_1 = __importDefault(require("./utils"));
|
|
12
|
-
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
13
|
-
class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
|
|
14
|
-
constructor(_coinConfig) {
|
|
15
|
-
super(_coinConfig);
|
|
16
|
-
}
|
|
17
|
-
getTransferBuilder() {
|
|
18
|
-
return new transferBuilder_1.TransferBuilder(this._coinConfig);
|
|
19
|
-
}
|
|
20
|
-
getAssetTransferBuilder() {
|
|
21
|
-
return new assetTransferBuilder_1.AssetTransferBuilder(this._coinConfig);
|
|
22
|
-
}
|
|
23
|
-
getKeyRegistrationBuilder() {
|
|
24
|
-
return new keyRegistrationBuilder_1.KeyRegistrationBuilder(this._coinConfig);
|
|
25
|
-
}
|
|
26
|
-
from(rawTxn) {
|
|
27
|
-
const builder = this.getBuilder(rawTxn);
|
|
28
|
-
builder.from(rawTxn);
|
|
29
|
-
return builder;
|
|
30
|
-
}
|
|
31
|
-
getBuilder(rawTxn) {
|
|
32
|
-
const decodeTxn = utils_1.default.decodeAlgoTxn(rawTxn);
|
|
33
|
-
const algoTxn = decodeTxn.txn;
|
|
34
|
-
if (algoTxn.type == algosdk_1.default.TransactionType.keyreg) {
|
|
35
|
-
return this.getWalletInitializationBuilder();
|
|
36
|
-
}
|
|
37
|
-
else if (algoTxn.type == algosdk_1.default.TransactionType.pay) {
|
|
38
|
-
return this.getTransferBuilder();
|
|
39
|
-
}
|
|
40
|
-
else if (algoTxn.type == algosdk_1.default.TransactionType.axfer) {
|
|
41
|
-
return this.getAssetTransferBuilder();
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
throw new sdk_core_1.NotSupported('Transaction cannot be parsed or has an unsupported transaction type');
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
getWalletInitializationBuilder() {
|
|
48
|
-
return new keyRegistrationBuilder_1.KeyRegistrationBuilder(this._coinConfig);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
exports.TransactionBuilderFactory = TransactionBuilderFactory;
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2luL2FsZ28vdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxzREFBOEI7QUFHOUIscUVBQWtFO0FBQ2xFLHVEQUFvRDtBQUVwRCxpRUFBOEQ7QUFDOUQsb0RBQTRCO0FBQzVCLDhDQUE4RTtBQUU5RSxNQUFhLHlCQUEwQixTQUFRLHdDQUE2QjtJQUMxRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxpQ0FBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLE9BQU8sSUFBSSwyQ0FBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELHlCQUF5QjtRQUN2QixPQUFPLElBQUksK0NBQXNCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLENBQUMsTUFBMkI7UUFDOUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXJCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxVQUFVLENBQUMsTUFBMkI7UUFDNUMsTUFBTSxTQUFTLEdBQUcsZUFBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDO1FBQzlCLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxpQkFBTyxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUU7WUFDbEQsT0FBTyxJQUFJLENBQUMsOEJBQThCLEVBQUUsQ0FBQztTQUM5QzthQUFNLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxpQkFBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDdEQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUNsQzthQUFNLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxpQkFBTyxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUU7WUFDeEQsT0FBTyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztTQUN2QzthQUFNO1lBQ0wsTUFBTSxJQUFJLHVCQUFZLENBQUMscUVBQXFFLENBQUMsQ0FBQztTQUMvRjtJQUNILENBQUM7SUFFTSw4QkFBOEI7UUFDbkMsT0FBTyxJQUFJLCtDQUFzQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0Y7QUF6Q0QsOERBeUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFsZ29zZGsgZnJvbSAnYWxnb3Nkayc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuXG5pbXBvcnQgeyBLZXlSZWdpc3RyYXRpb25CdWlsZGVyIH0gZnJvbSAnLi9rZXlSZWdpc3RyYXRpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IEFzc2V0VHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi9hc3NldFRyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSwgTm90U3VwcG9ydGVkIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGdldFRyYW5zZmVyQnVpbGRlcigpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpO1xuICB9XG5cbiAgZ2V0QXNzZXRUcmFuc2ZlckJ1aWxkZXIoKTogQXNzZXRUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgQXNzZXRUcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXRLZXlSZWdpc3RyYXRpb25CdWlsZGVyKCk6IEtleVJlZ2lzdHJhdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgS2V5UmVnaXN0cmF0aW9uQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGZyb20ocmF3VHhuOiBzdHJpbmcgfCBVaW50OEFycmF5KTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICBjb25zdCBidWlsZGVyID0gdGhpcy5nZXRCdWlsZGVyKHJhd1R4bik7XG4gICAgYnVpbGRlci5mcm9tKHJhd1R4bik7XG5cbiAgICByZXR1cm4gYnVpbGRlcjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QnVpbGRlcihyYXdUeG46IHN0cmluZyB8IFVpbnQ4QXJyYXkpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIGNvbnN0IGRlY29kZVR4biA9IFV0aWxzLmRlY29kZUFsZ29UeG4ocmF3VHhuKTtcbiAgICBjb25zdCBhbGdvVHhuID0gZGVjb2RlVHhuLnR4bjtcbiAgICBpZiAoYWxnb1R4bi50eXBlID09IGFsZ29zZGsuVHJhbnNhY3Rpb25UeXBlLmtleXJlZykge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKCk7XG4gICAgfSBlbHNlIGlmIChhbGdvVHhuLnR5cGUgPT0gYWxnb3Nkay5UcmFuc2FjdGlvblR5cGUucGF5KSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKGFsZ29UeG4udHlwZSA9PSBhbGdvc2RrLlRyYW5zYWN0aW9uVHlwZS5heGZlcikge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0QXNzZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IE5vdFN1cHBvcnRlZCgnVHJhbnNhY3Rpb24gY2Fubm90IGJlIHBhcnNlZCBvciBoYXMgYW4gdW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gdHlwZScpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIoKTogS2V5UmVnaXN0cmF0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBLZXlSZWdpc3RyYXRpb25CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
-
import algosdk from 'algosdk';
|
|
3
|
-
import { TransactionBuilder } from './transactionBuilder';
|
|
4
|
-
import { Transaction } from './transaction';
|
|
5
|
-
import { BaseAddress, TransactionType } from '@bitgo/sdk-core';
|
|
6
|
-
export declare class TransferBuilder extends TransactionBuilder {
|
|
7
|
-
protected _to: string;
|
|
8
|
-
protected _amount: number | bigint;
|
|
9
|
-
protected _closeRemainderTo?: string;
|
|
10
|
-
constructor(coinConfig: Readonly<CoinConfig>);
|
|
11
|
-
protected buildAlgoTxn(): algosdk.Transaction;
|
|
12
|
-
protected get transactionType(): TransactionType;
|
|
13
|
-
protected fromImplementation(rawTransaction: Uint8Array | string): Transaction;
|
|
14
|
-
validateRawTransaction(rawTransaction: Uint8Array | string): void;
|
|
15
|
-
validateTransaction(transaction: Transaction): void;
|
|
16
|
-
/**
|
|
17
|
-
* Sets the payment receiver.
|
|
18
|
-
*
|
|
19
|
-
* @param {BaseAddress} to The receiver account
|
|
20
|
-
* @returns {TransferBuilder} This transfer builder.
|
|
21
|
-
*
|
|
22
|
-
*/
|
|
23
|
-
to(to: BaseAddress): this;
|
|
24
|
-
/**
|
|
25
|
-
* Sets the amount of payment.
|
|
26
|
-
*
|
|
27
|
-
* @param {number} amount The amount of payment.
|
|
28
|
-
* @returns {TransferBuilder} This transfer builder.
|
|
29
|
-
*/
|
|
30
|
-
amount(amount: number | bigint): this;
|
|
31
|
-
/**
|
|
32
|
-
* Sets address to transfer remainder amount on closing.
|
|
33
|
-
*
|
|
34
|
-
* @param {BaseAddress} closeRemainderTo The address for receiving remainder amount
|
|
35
|
-
* @returns {TransferBuilder} This transfer builder.
|
|
36
|
-
*
|
|
37
|
-
*/
|
|
38
|
-
closeRemainderTo(closeRemainderTo: BaseAddress): this;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=transferBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/algo/transferBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,WAAW,EAA2B,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAExF,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;gBAEzB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,SAAS,CAAC,YAAY,IAAI,OAAO,CAAC,WAAW;IAY7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,UAAU,GAAG,MAAM,GAAG,WAAW;IAc9E,sBAAsB,CAAC,cAAc,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI;IAUjE,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAanD;;;;;;OAMG;IACH,EAAE,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAOzB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOrC;;;;;;OAMG;IACH,gBAAgB,CAAC,gBAAgB,EAAE,WAAW,GAAG,IAAI;CAMtD"}
|
|
@@ -1,89 +0,0 @@
|
|
|
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.TransferBuilder = void 0;
|
|
7
|
-
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
|
-
const algosdk_1 = __importDefault(require("algosdk"));
|
|
9
|
-
const transactionBuilder_1 = require("./transactionBuilder");
|
|
10
|
-
const txnSchema_1 = require("./txnSchema");
|
|
11
|
-
const utils_1 = __importDefault(require("./utils"));
|
|
12
|
-
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
13
|
-
class TransferBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
14
|
-
constructor(coinConfig) {
|
|
15
|
-
super(coinConfig);
|
|
16
|
-
}
|
|
17
|
-
buildAlgoTxn() {
|
|
18
|
-
return algosdk_1.default.makePaymentTxnWithSuggestedParams(this._sender, this._to, this._amount, this._closeRemainderTo, this._note, this.suggestedParams, this._reKeyTo);
|
|
19
|
-
}
|
|
20
|
-
get transactionType() {
|
|
21
|
-
return sdk_core_1.TransactionType.Send;
|
|
22
|
-
}
|
|
23
|
-
fromImplementation(rawTransaction) {
|
|
24
|
-
const tx = super.fromImplementation(rawTransaction);
|
|
25
|
-
const algoTx = tx.getAlgoTransaction();
|
|
26
|
-
if (algoTx) {
|
|
27
|
-
this.amount(algoTx.amount || 0);
|
|
28
|
-
this.to({ address: algosdk_1.default.encodeAddress(algoTx.to.publicKey) });
|
|
29
|
-
if (algoTx.closeRemainderTo) {
|
|
30
|
-
this.closeRemainderTo({ address: algosdk_1.default.encodeAddress(algoTx.closeRemainderTo.publicKey) });
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return tx;
|
|
34
|
-
}
|
|
35
|
-
validateRawTransaction(rawTransaction) {
|
|
36
|
-
const { txn: algoTxn } = utils_1.default.decodeAlgoTxn(rawTransaction);
|
|
37
|
-
if (algoTxn.type !== algosdk_1.default.TransactionType.pay) {
|
|
38
|
-
throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${algoTxn.type}. Expected ${algosdk_1.default.TransactionType.pay}`);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
validateTransaction(transaction) {
|
|
42
|
-
super.validateTransaction(transaction);
|
|
43
|
-
const validationResult = txnSchema_1.TransferTransactionSchema.validate({
|
|
44
|
-
to: this._to,
|
|
45
|
-
amount: this._amount,
|
|
46
|
-
closeRemainderTo: this._closeRemainderTo,
|
|
47
|
-
});
|
|
48
|
-
if (validationResult.error) {
|
|
49
|
-
throw new sdk_core_1.InvalidTransactionError(`Transaction validation failed: ${validationResult.error.message}`);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Sets the payment receiver.
|
|
54
|
-
*
|
|
55
|
-
* @param {BaseAddress} to The receiver account
|
|
56
|
-
* @returns {TransferBuilder} This transfer builder.
|
|
57
|
-
*
|
|
58
|
-
*/
|
|
59
|
-
to(to) {
|
|
60
|
-
this.validateAddress(to);
|
|
61
|
-
this._to = to.address;
|
|
62
|
-
return this;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Sets the amount of payment.
|
|
66
|
-
*
|
|
67
|
-
* @param {number} amount The amount of payment.
|
|
68
|
-
* @returns {TransferBuilder} This transfer builder.
|
|
69
|
-
*/
|
|
70
|
-
amount(amount) {
|
|
71
|
-
this.validateValue(new bignumber_js_1.default(amount.toString()));
|
|
72
|
-
this._amount = amount;
|
|
73
|
-
return this;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Sets address to transfer remainder amount on closing.
|
|
77
|
-
*
|
|
78
|
-
* @param {BaseAddress} closeRemainderTo The address for receiving remainder amount
|
|
79
|
-
* @returns {TransferBuilder} This transfer builder.
|
|
80
|
-
*
|
|
81
|
-
*/
|
|
82
|
-
closeRemainderTo(closeRemainderTo) {
|
|
83
|
-
this.validateAddress(closeRemainderTo);
|
|
84
|
-
this._closeRemainderTo = closeRemainderTo.address;
|
|
85
|
-
return this;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
exports.TransferBuilder = TransferBuilder;
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vYWxnby90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0VBQXFDO0FBRXJDLHNEQUE4QjtBQUU5Qiw2REFBMEQ7QUFFMUQsMkNBQXdEO0FBQ3hELG9EQUE0QjtBQUM1Qiw4Q0FBd0Y7QUFFeEYsTUFBYSxlQUFnQixTQUFRLHVDQUFrQjtJQUtyRCxZQUFZLFVBQWdDO1FBQzFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRVMsWUFBWTtRQUNwQixPQUFPLGlCQUFPLENBQUMsaUNBQWlDLENBQzlDLElBQUksQ0FBQyxPQUFPLEVBQ1osSUFBSSxDQUFDLEdBQUcsRUFDUixJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FBQyxpQkFBaUIsRUFDdEIsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsUUFBUSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVTLGtCQUFrQixDQUFDLGNBQW1DO1FBQzlELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwRCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUN2QyxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pFLElBQUksTUFBTSxDQUFDLGdCQUFnQixFQUFFO2dCQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLEVBQUUsaUJBQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUM5RjtTQUNGO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsc0JBQXNCLENBQUMsY0FBbUM7UUFDeEQsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxlQUFLLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTdELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxpQkFBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDaEQsTUFBTSxJQUFJLGtDQUF1QixDQUMvQiw2QkFBNkIsT0FBTyxDQUFDLElBQUksY0FBYyxpQkFBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FDckYsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELG1CQUFtQixDQUFDLFdBQXdCO1FBQzFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2QyxNQUFNLGdCQUFnQixHQUFHLHFDQUF5QixDQUFDLFFBQVEsQ0FBQztZQUMxRCxFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDWixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDcEIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtTQUN6QyxDQUFDLENBQUM7UUFFSCxJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRTtZQUMxQixNQUFNLElBQUksa0NBQXVCLENBQUMsa0NBQWtDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZHO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEVBQUUsQ0FBQyxFQUFlO1FBQ2hCLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO1FBRXRCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLE1BQXVCO1FBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxzQkFBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFFdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsZ0JBQWdCLENBQUMsZ0JBQTZCO1FBQzVDLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO1FBRWxELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBdEdELDBDQXNHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgYWxnb3NkayBmcm9tICdhbGdvc2RrJztcblxuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zZmVyVHJhbnNhY3Rpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBCYXNlQWRkcmVzcywgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3RvOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfYW1vdW50OiBudW1iZXIgfCBiaWdpbnQ7XG4gIHByb3RlY3RlZCBfY2xvc2VSZW1haW5kZXJUbz86IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkQWxnb1R4bigpOiBhbGdvc2RrLlRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gYWxnb3Nkay5tYWtlUGF5bWVudFR4bldpdGhTdWdnZXN0ZWRQYXJhbXMoXG4gICAgICB0aGlzLl9zZW5kZXIsXG4gICAgICB0aGlzLl90byxcbiAgICAgIHRoaXMuX2Ftb3VudCxcbiAgICAgIHRoaXMuX2Nsb3NlUmVtYWluZGVyVG8sXG4gICAgICB0aGlzLl9ub3RlLFxuICAgICAgdGhpcy5zdWdnZXN0ZWRQYXJhbXMsXG4gICAgICB0aGlzLl9yZUtleVRvLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IFVpbnQ4QXJyYXkgfCBzdHJpbmcpOiBUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdHggPSBzdXBlci5mcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IGFsZ29UeCA9IHR4LmdldEFsZ29UcmFuc2FjdGlvbigpO1xuICAgIGlmIChhbGdvVHgpIHtcbiAgICAgIHRoaXMuYW1vdW50KGFsZ29UeC5hbW91bnQgfHwgMCk7XG4gICAgICB0aGlzLnRvKHsgYWRkcmVzczogYWxnb3Nkay5lbmNvZGVBZGRyZXNzKGFsZ29UeC50by5wdWJsaWNLZXkpIH0pO1xuICAgICAgaWYgKGFsZ29UeC5jbG9zZVJlbWFpbmRlclRvKSB7XG4gICAgICAgIHRoaXMuY2xvc2VSZW1haW5kZXJUbyh7IGFkZHJlc3M6IGFsZ29zZGsuZW5jb2RlQWRkcmVzcyhhbGdvVHguY2xvc2VSZW1haW5kZXJUby5wdWJsaWNLZXkpIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IFVpbnQ4QXJyYXkgfCBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB7IHR4bjogYWxnb1R4biB9ID0gVXRpbHMuZGVjb2RlQWxnb1R4bihyYXdUcmFuc2FjdGlvbik7XG5cbiAgICBpZiAoYWxnb1R4bi50eXBlICE9PSBhbGdvc2RrLlRyYW5zYWN0aW9uVHlwZS5wYXkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYEludmFsaWQgVHJhbnNhY3Rpb24gVHlwZTogJHthbGdvVHhuLnR5cGV9LiBFeHBlY3RlZCAke2FsZ29zZGsuVHJhbnNhY3Rpb25UeXBlLnBheX1gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBUcmFuc2ZlclRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHtcbiAgICAgIHRvOiB0aGlzLl90byxcbiAgICAgIGFtb3VudDogdGhpcy5fYW1vdW50LFxuICAgICAgY2xvc2VSZW1haW5kZXJUbzogdGhpcy5fY2xvc2VSZW1haW5kZXJUbyxcbiAgICB9KTtcblxuICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYFRyYW5zYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcGF5bWVudCByZWNlaXZlci5cbiAgICpcbiAgICogQHBhcmFtIHtCYXNlQWRkcmVzc30gdG8gVGhlIHJlY2VpdmVyIGFjY291bnRcbiAgICogQHJldHVybnMge1RyYW5zZmVyQnVpbGRlcn0gVGhpcyB0cmFuc2ZlciBidWlsZGVyLlxuICAgKlxuICAgKi9cbiAgdG8odG86IEJhc2VBZGRyZXNzKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3ModG8pO1xuICAgIHRoaXMuX3RvID0gdG8uYWRkcmVzcztcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFtb3VudCBvZiBwYXltZW50LlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gYW1vdW50IFRoZSBhbW91bnQgb2YgcGF5bWVudC5cbiAgICogQHJldHVybnMge1RyYW5zZmVyQnVpbGRlcn0gVGhpcyB0cmFuc2ZlciBidWlsZGVyLlxuICAgKi9cbiAgYW1vdW50KGFtb3VudDogbnVtYmVyIHwgYmlnaW50KTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIoYW1vdW50LnRvU3RyaW5nKCkpKTtcbiAgICB0aGlzLl9hbW91bnQgPSBhbW91bnQ7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGFkZHJlc3MgdG8gdHJhbnNmZXIgcmVtYWluZGVyIGFtb3VudCBvbiBjbG9zaW5nLlxuICAgKlxuICAgKiBAcGFyYW0ge0Jhc2VBZGRyZXNzfSBjbG9zZVJlbWFpbmRlclRvIFRoZSBhZGRyZXNzIGZvciByZWNlaXZpbmcgcmVtYWluZGVyIGFtb3VudFxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSBUaGlzIHRyYW5zZmVyIGJ1aWxkZXIuXG4gICAqXG4gICAqL1xuICBjbG9zZVJlbWFpbmRlclRvKGNsb3NlUmVtYWluZGVyVG86IEJhc2VBZGRyZXNzKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoY2xvc2VSZW1haW5kZXJUbyk7XG4gICAgdGhpcy5fY2xvc2VSZW1haW5kZXJUbyA9IGNsb3NlUmVtYWluZGVyVG8uYWRkcmVzcztcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import joi from 'joi';
|
|
2
|
-
export declare const BaseTransactionSchema: joi.ObjectSchema<any>;
|
|
3
|
-
export declare const TransferTransactionSchema: joi.ObjectSchema<any>;
|
|
4
|
-
export declare const KeyRegTxnSchema: joi.ObjectSchema<any>;
|
|
5
|
-
export declare const AssetTransferTxnSchema: joi.ObjectSchema<any>;
|
|
6
|
-
export declare const AssetToggleTxnSchema: joi.ObjectSchema<any>;
|
|
7
|
-
//# sourceMappingURL=txnSchema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"txnSchema.d.ts","sourceRoot":"","sources":["../../../../src/coin/algo/txnSchema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAMtB,eAAO,MAAM,qBAAqB,uBAwB9B,CAAC;AAEL,eAAO,MAAM,yBAAyB,uBAOpC,CAAC;AAEH,eAAO,MAAM,eAAe,uBAiBxB,CAAC;AAEL,eAAO,MAAM,sBAAsB,uBAIjC,CAAC;AAEH,eAAO,MAAM,oBAAoB,uBAG/B,CAAC"}
|
|
@@ -1,68 +0,0 @@
|
|
|
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.AssetToggleTxnSchema = exports.AssetTransferTxnSchema = exports.KeyRegTxnSchema = exports.TransferTransactionSchema = exports.BaseTransactionSchema = void 0;
|
|
7
|
-
const joi_1 = __importDefault(require("joi"));
|
|
8
|
-
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
9
|
-
const utils_1 = __importDefault(require("./utils"));
|
|
10
|
-
const addressSchema = joi_1.default.string().custom((addr) => utils_1.default.isValidAddress(addr));
|
|
11
|
-
exports.BaseTransactionSchema = joi_1.default
|
|
12
|
-
.object({
|
|
13
|
-
fee: joi_1.default.number().required(),
|
|
14
|
-
firstRound: joi_1.default.number().positive().required(),
|
|
15
|
-
genesisHash: joi_1.default.string().base64().required(),
|
|
16
|
-
lastRound: joi_1.default.number().positive().required(),
|
|
17
|
-
sender: addressSchema.required(),
|
|
18
|
-
genesisId: joi_1.default.string().optional(),
|
|
19
|
-
lease: joi_1.default.optional(),
|
|
20
|
-
note: joi_1.default.optional(),
|
|
21
|
-
reKeyTo: joi_1.default
|
|
22
|
-
.string()
|
|
23
|
-
.custom((addr) => utils_1.default.isValidAddress(addr))
|
|
24
|
-
.optional(),
|
|
25
|
-
})
|
|
26
|
-
.custom((obj) => {
|
|
27
|
-
const firstRound = obj.firstRound;
|
|
28
|
-
const lastRound = obj.lastRound;
|
|
29
|
-
if (firstRound < lastRound) {
|
|
30
|
-
return obj;
|
|
31
|
-
}
|
|
32
|
-
throw new Error('lastRound cannot be greater than or equal to firstRound');
|
|
33
|
-
});
|
|
34
|
-
exports.TransferTransactionSchema = joi_1.default.object({
|
|
35
|
-
amount: joi_1.default.custom((val) => typeof val === 'number' || typeof val === 'bigint').required(),
|
|
36
|
-
to: joi_1.default
|
|
37
|
-
.string()
|
|
38
|
-
.custom((addr) => utils_1.default.isValidAddress(addr))
|
|
39
|
-
.required(),
|
|
40
|
-
closeRemainderTo: joi_1.default.string().optional(),
|
|
41
|
-
});
|
|
42
|
-
exports.KeyRegTxnSchema = joi_1.default
|
|
43
|
-
.object({
|
|
44
|
-
voteKey: addressSchema.required(),
|
|
45
|
-
selectionKey: addressSchema.required(),
|
|
46
|
-
voteFirst: joi_1.default.number().positive().required(),
|
|
47
|
-
voteLast: joi_1.default.number().positive().required(),
|
|
48
|
-
voteKeyDilution: joi_1.default.number().positive().required(),
|
|
49
|
-
stateProofKey: addressSchema.optional(),
|
|
50
|
-
})
|
|
51
|
-
.custom((obj) => {
|
|
52
|
-
const voteFirst = obj.voteFirst;
|
|
53
|
-
const voteLast = obj.voteLast;
|
|
54
|
-
if (voteFirst > voteLast) {
|
|
55
|
-
throw new sdk_core_1.InvalidTransactionError('VoteKey last round must be greater than first round');
|
|
56
|
-
}
|
|
57
|
-
return obj;
|
|
58
|
-
});
|
|
59
|
-
exports.AssetTransferTxnSchema = joi_1.default.object({
|
|
60
|
-
tokenId: joi_1.default.number().required(),
|
|
61
|
-
assetAmount: joi_1.default.custom((val) => typeof val === 'number' || typeof val === 'bigint').required(),
|
|
62
|
-
receiver: addressSchema.required(),
|
|
63
|
-
});
|
|
64
|
-
exports.AssetToggleTxnSchema = joi_1.default.object({
|
|
65
|
-
tokenId: joi_1.default.number().required(),
|
|
66
|
-
receiver: addressSchema.required(),
|
|
67
|
-
});
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhuU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vYWxnby90eG5TY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOENBQXNCO0FBQ3RCLDhDQUEwRDtBQUMxRCxvREFBNEI7QUFFNUIsTUFBTSxhQUFhLEdBQUcsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsZUFBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBRW5FLFFBQUEscUJBQXFCLEdBQUcsYUFBRztLQUNyQyxNQUFNLENBQUM7SUFDTixHQUFHLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixVQUFVLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5QyxXQUFXLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QyxTQUFTLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QyxNQUFNLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRTtJQUNoQyxTQUFTLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxLQUFLLEVBQUUsYUFBRyxDQUFDLFFBQVEsRUFBRTtJQUNyQixJQUFJLEVBQUUsYUFBRyxDQUFDLFFBQVEsRUFBRTtJQUNwQixPQUFPLEVBQUUsYUFBRztTQUNULE1BQU0sRUFBRTtTQUNSLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsZUFBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM1QyxRQUFRLEVBQUU7Q0FDZCxDQUFDO0tBQ0QsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDZCxNQUFNLFVBQVUsR0FBVyxHQUFHLENBQUMsVUFBVSxDQUFDO0lBQzFDLE1BQU0sU0FBUyxHQUFXLEdBQUcsQ0FBQyxTQUFTLENBQUM7SUFFeEMsSUFBSSxVQUFVLEdBQUcsU0FBUyxFQUFFO1FBQzFCLE9BQU8sR0FBRyxDQUFDO0tBQ1o7SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7QUFDN0UsQ0FBQyxDQUFDLENBQUM7QUFFUSxRQUFBLHlCQUF5QixHQUFHLGFBQUcsQ0FBQyxNQUFNLENBQUM7SUFDbEQsTUFBTSxFQUFFLGFBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDMUYsRUFBRSxFQUFFLGFBQUc7U0FDSixNQUFNLEVBQUU7U0FDUixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGVBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDNUMsUUFBUSxFQUFFO0lBQ2IsZ0JBQWdCLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUMxQyxDQUFDLENBQUM7QUFFVSxRQUFBLGVBQWUsR0FBRyxhQUFHO0tBQy9CLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFO0lBQ2pDLFlBQVksRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFO0lBQ3RDLFNBQVMsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdDLFFBQVEsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzVDLGVBQWUsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ25ELGFBQWEsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFO0NBQ3hDLENBQUM7S0FDRCxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUNkLE1BQU0sU0FBUyxHQUFXLEdBQUcsQ0FBQyxTQUFTLENBQUM7SUFDeEMsTUFBTSxRQUFRLEdBQVcsR0FBRyxDQUFDLFFBQVEsQ0FBQztJQUV0QyxJQUFJLFNBQVMsR0FBRyxRQUFRLEVBQUU7UUFDeEIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHFEQUFxRCxDQUFDLENBQUM7S0FDMUY7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDO0FBRVEsUUFBQSxzQkFBc0IsR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO0lBQy9DLE9BQU8sRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2hDLFdBQVcsRUFBRSxhQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQy9GLFFBQVEsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFO0NBQ25DLENBQUMsQ0FBQztBQUVVLFFBQUEsb0JBQW9CLEdBQUcsYUFBRyxDQUFDLE1BQU0sQ0FBQztJQUM3QyxPQUFPLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoQyxRQUFRLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRTtDQUNuQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgam9pIGZyb20gJ2pvaSc7XG5pbXBvcnQgeyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IGFkZHJlc3NTY2hlbWEgPSBqb2kuc3RyaW5nKCkuY3VzdG9tKChhZGRyKSA9PiB1dGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyKSk7XG5cbmV4cG9ydCBjb25zdCBCYXNlVHJhbnNhY3Rpb25TY2hlbWEgPSBqb2lcbiAgLm9iamVjdCh7XG4gICAgZmVlOiBqb2kubnVtYmVyKCkucmVxdWlyZWQoKSxcbiAgICBmaXJzdFJvdW5kOiBqb2kubnVtYmVyKCkucG9zaXRpdmUoKS5yZXF1aXJlZCgpLFxuICAgIGdlbmVzaXNIYXNoOiBqb2kuc3RyaW5nKCkuYmFzZTY0KCkucmVxdWlyZWQoKSxcbiAgICBsYXN0Um91bmQ6IGpvaS5udW1iZXIoKS5wb3NpdGl2ZSgpLnJlcXVpcmVkKCksXG4gICAgc2VuZGVyOiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG4gICAgZ2VuZXNpc0lkOiBqb2kuc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBsZWFzZTogam9pLm9wdGlvbmFsKCksXG4gICAgbm90ZTogam9pLm9wdGlvbmFsKCksXG4gICAgcmVLZXlUbzogam9pXG4gICAgICAuc3RyaW5nKClcbiAgICAgIC5jdXN0b20oKGFkZHIpID0+IHV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHIpKVxuICAgICAgLm9wdGlvbmFsKCksXG4gIH0pXG4gIC5jdXN0b20oKG9iaikgPT4ge1xuICAgIGNvbnN0IGZpcnN0Um91bmQ6IG51bWJlciA9IG9iai5maXJzdFJvdW5kO1xuICAgIGNvbnN0IGxhc3RSb3VuZDogbnVtYmVyID0gb2JqLmxhc3RSb3VuZDtcblxuICAgIGlmIChmaXJzdFJvdW5kIDwgbGFzdFJvdW5kKSB7XG4gICAgICByZXR1cm4gb2JqO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcignbGFzdFJvdW5kIGNhbm5vdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gZmlyc3RSb3VuZCcpO1xuICB9KTtcblxuZXhwb3J0IGNvbnN0IFRyYW5zZmVyVHJhbnNhY3Rpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgYW1vdW50OiBqb2kuY3VzdG9tKCh2YWwpID0+IHR5cGVvZiB2YWwgPT09ICdudW1iZXInIHx8IHR5cGVvZiB2YWwgPT09ICdiaWdpbnQnKS5yZXF1aXJlZCgpLFxuICB0bzogam9pXG4gICAgLnN0cmluZygpXG4gICAgLmN1c3RvbSgoYWRkcikgPT4gdXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcikpXG4gICAgLnJlcXVpcmVkKCksXG4gIGNsb3NlUmVtYWluZGVyVG86IGpvaS5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBLZXlSZWdUeG5TY2hlbWEgPSBqb2lcbiAgLm9iamVjdCh7XG4gICAgdm90ZUtleTogYWRkcmVzc1NjaGVtYS5yZXF1aXJlZCgpLFxuICAgIHNlbGVjdGlvbktleTogYWRkcmVzc1NjaGVtYS5yZXF1aXJlZCgpLFxuICAgIHZvdGVGaXJzdDogam9pLm51bWJlcigpLnBvc2l0aXZlKCkucmVxdWlyZWQoKSxcbiAgICB2b3RlTGFzdDogam9pLm51bWJlcigpLnBvc2l0aXZlKCkucmVxdWlyZWQoKSxcbiAgICB2b3RlS2V5RGlsdXRpb246IGpvaS5udW1iZXIoKS5wb3NpdGl2ZSgpLnJlcXVpcmVkKCksXG4gICAgc3RhdGVQcm9vZktleTogYWRkcmVzc1NjaGVtYS5vcHRpb25hbCgpLFxuICB9KVxuICAuY3VzdG9tKChvYmopID0+IHtcbiAgICBjb25zdCB2b3RlRmlyc3Q6IG51bWJlciA9IG9iai52b3RlRmlyc3Q7XG4gICAgY29uc3Qgdm90ZUxhc3Q6IG51bWJlciA9IG9iai52b3RlTGFzdDtcblxuICAgIGlmICh2b3RlRmlyc3QgPiB2b3RlTGFzdCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdWb3RlS2V5IGxhc3Qgcm91bmQgbXVzdCBiZSBncmVhdGVyIHRoYW4gZmlyc3Qgcm91bmQnKTtcbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBBc3NldFRyYW5zZmVyVHhuU2NoZW1hID0gam9pLm9iamVjdCh7XG4gIHRva2VuSWQ6IGpvaS5udW1iZXIoKS5yZXF1aXJlZCgpLFxuICBhc3NldEFtb3VudDogam9pLmN1c3RvbSgodmFsKSA9PiB0eXBlb2YgdmFsID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgdmFsID09PSAnYmlnaW50JykucmVxdWlyZWQoKSxcbiAgcmVjZWl2ZXI6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQXNzZXRUb2dnbGVUeG5TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgdG9rZW5JZDogam9pLm51bWJlcigpLnJlcXVpcmVkKCksXG4gIHJlY2VpdmVyOiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG59KTtcbiJdfQ==
|
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import algosdk from 'algosdk';
|
|
3
|
-
import { Address, EncodedTx, Seed } from './ifaces';
|
|
4
|
-
import { KeyPair } from './keyPair';
|
|
5
|
-
import { BaseUtils } from '@bitgo/sdk-core';
|
|
6
|
-
export declare class Utils implements BaseUtils {
|
|
7
|
-
/** @inheritdoc */
|
|
8
|
-
isValidAddress(address: string): boolean;
|
|
9
|
-
/** @inheritdoc */
|
|
10
|
-
isValidTransactionId(txId: string): boolean;
|
|
11
|
-
/** @inheritdoc */
|
|
12
|
-
isValidPublicKey(key: string): boolean;
|
|
13
|
-
/** @inheritdoc */
|
|
14
|
-
isValidPrivateKey(key: string): boolean;
|
|
15
|
-
/**
|
|
16
|
-
* Returns an hex string of the given buffer
|
|
17
|
-
*
|
|
18
|
-
* @param {Uint8Array} buffer - the buffer to be converted to hex
|
|
19
|
-
* @returns {string} - the hex value
|
|
20
|
-
*/
|
|
21
|
-
toHex(buffer: Uint8Array): string;
|
|
22
|
-
/** @inheritdoc */
|
|
23
|
-
isValidSignature(signature: string): boolean;
|
|
24
|
-
/** @inheritdoc */
|
|
25
|
-
isValidBlockId(hash: string): boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Compare two Keys
|
|
28
|
-
*
|
|
29
|
-
* @param {Uint8Array} key1 - key to be compare
|
|
30
|
-
* @param {Uint8Array} key2 - key to be compare
|
|
31
|
-
* @returns {boolean} - returns true if both keys are equal
|
|
32
|
-
*/
|
|
33
|
-
areKeysEqual(key1: Uint8Array, key2: Uint8Array): boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Returns a Uint8Array of the given hex string
|
|
36
|
-
*
|
|
37
|
-
* @param {string} str - the hex string to be converted
|
|
38
|
-
* @returns {string} - the Uint8Array value
|
|
39
|
-
*/
|
|
40
|
-
toUint8Array(str: string): Uint8Array;
|
|
41
|
-
/**
|
|
42
|
-
* Determines whether a seed is valid.
|
|
43
|
-
*
|
|
44
|
-
* @param {string} seed - the seed to be validated
|
|
45
|
-
* @returns {boolean} - true if the seed is valid
|
|
46
|
-
*/
|
|
47
|
-
isValidSeed(seed: string): boolean;
|
|
48
|
-
/**
|
|
49
|
-
* Encode an algo seed
|
|
50
|
-
*
|
|
51
|
-
* @param {Buffer} secretKey - the valid secretKey .
|
|
52
|
-
* @returns {string} - the seed to be validated.
|
|
53
|
-
*/
|
|
54
|
-
encodeSeed(secretKey: Buffer): string;
|
|
55
|
-
/**
|
|
56
|
-
* decodeSeed decodes an algo seed
|
|
57
|
-
*
|
|
58
|
-
* Decoding algo seed is same as decoding address.
|
|
59
|
-
* Latest version of algo sdk (1.9, at this writing) does not expose explicit method for decoding seed.
|
|
60
|
-
* Parameter is decoded and split into seed and checksum.
|
|
61
|
-
*
|
|
62
|
-
* @param {string} seed - hex or base64 encoded seed to be validated
|
|
63
|
-
* @returns {Seed} - validated object Seed
|
|
64
|
-
*/
|
|
65
|
-
decodeSeed(seed: string): Seed;
|
|
66
|
-
/**
|
|
67
|
-
* Verifies if signature for message is valid.
|
|
68
|
-
*
|
|
69
|
-
* @param pub {Uint8Array} public key
|
|
70
|
-
* @param message {Uint8Array} signed message
|
|
71
|
-
* @param signature {Buffer} signature to verify
|
|
72
|
-
* @returns {Boolean} true if signature is valid.
|
|
73
|
-
*/
|
|
74
|
-
verifySignature(message: Uint8Array, signature: Buffer, pub: Uint8Array): boolean;
|
|
75
|
-
/**
|
|
76
|
-
* Transforms an Ed25519 public key into an algorand address.
|
|
77
|
-
*
|
|
78
|
-
* @param {Uint8Array} pk The Ed25519 public key.
|
|
79
|
-
* @see https://developer.algorand.org/docs/features/accounts/#transformation-public-key-to-algorand-address
|
|
80
|
-
*
|
|
81
|
-
* @returns {string} The algorand address.
|
|
82
|
-
*/
|
|
83
|
-
publicKeyToAlgoAddress(pk: Uint8Array): string;
|
|
84
|
-
/**
|
|
85
|
-
* Checks if a unsigned algo transaction can be decoded.
|
|
86
|
-
*
|
|
87
|
-
* @param {Uint8Array} txn The encoded unsigned transaction.
|
|
88
|
-
* @returns {boolean} true if the transaction can be decoded, otherwise false
|
|
89
|
-
*/
|
|
90
|
-
protected isDecodableUnsignedAlgoTxn(txn: Uint8Array): boolean;
|
|
91
|
-
/**
|
|
92
|
-
* Checks if a signed algo transaction can be decoded.
|
|
93
|
-
*
|
|
94
|
-
* @param {Uint8Array} txn The encoded signed transaction.
|
|
95
|
-
* @returns {boolean} true if the transaction can be decoded, otherwise false
|
|
96
|
-
*/
|
|
97
|
-
protected isDecodableSignedTransaction(txn: Uint8Array): boolean;
|
|
98
|
-
/**
|
|
99
|
-
* Decodes a signed or unsigned algo transaction.
|
|
100
|
-
*
|
|
101
|
-
* @param {Uint8Array | string} txnBytes The encoded unsigned or signed txn.
|
|
102
|
-
* @returns {EncodedTx} The decoded transaction.
|
|
103
|
-
*/
|
|
104
|
-
decodeAlgoTxn(txnBytes: Uint8Array | string): EncodedTx;
|
|
105
|
-
/**
|
|
106
|
-
* Try to decode a signed Algo transaction
|
|
107
|
-
* @param buffer the encoded transaction
|
|
108
|
-
* @returns { EncodedTx } the decoded signed transaction
|
|
109
|
-
* @throws error if it is not a valid encoded signed transaction
|
|
110
|
-
*/
|
|
111
|
-
tryToDecodeSignedTransaction(buffer: Buffer): EncodedTx;
|
|
112
|
-
/**
|
|
113
|
-
* Try to decode an unsigned Algo transaction
|
|
114
|
-
* @param buffer the encoded transaction
|
|
115
|
-
* @returns {EncodedTx} the decoded unsigned transaction
|
|
116
|
-
* @throws error if it is not a valid encoded unsigned transaction
|
|
117
|
-
*/
|
|
118
|
-
tryToDecodeUnsignedTransaction(buffer: Buffer): EncodedTx;
|
|
119
|
-
encodeObj(obj: Record<string | number | symbol, any>): Uint8Array;
|
|
120
|
-
/**
|
|
121
|
-
* decodeObj takes a Uint8Array and returns its javascript obj
|
|
122
|
-
* @param o - Uint8Array to decode
|
|
123
|
-
* @returns object
|
|
124
|
-
*/
|
|
125
|
-
decodeObj(o: ArrayLike<number>): unknown;
|
|
126
|
-
/**
|
|
127
|
-
* secretKeyToMnemonic takes an Algorant secret key and returns the corresponding mnemonic
|
|
128
|
-
*
|
|
129
|
-
* @param sk - Algorant secret key
|
|
130
|
-
* @return Secret key is associated mnemonic
|
|
131
|
-
*/
|
|
132
|
-
secretKeyToMnemonic(sk: Buffer): string;
|
|
133
|
-
/**
|
|
134
|
-
* seedFromMnemonic converts a mnemonic generated using this library into the source key used to create it
|
|
135
|
-
* It returns an error if the passed mnemonic has an incorrect checksum, if the number of words is unexpected, or if one
|
|
136
|
-
* of the passed words is not found in the words list
|
|
137
|
-
*
|
|
138
|
-
* @param mnemonic - 25 words mnemonic
|
|
139
|
-
* @returns 32 bytes long seed
|
|
140
|
-
*/
|
|
141
|
-
seedFromMnemonic(mnemonic: string): Uint8Array;
|
|
142
|
-
/**
|
|
143
|
-
* keyPairFromSeed generates an object with secretKey and publicKey using the algosdk
|
|
144
|
-
* @param seed 32 bytes long seed
|
|
145
|
-
* @returns KeyPair
|
|
146
|
-
*/
|
|
147
|
-
keyPairFromSeed(seed: Uint8Array): KeyPair;
|
|
148
|
-
/**
|
|
149
|
-
* Generate a new `KeyPair` object from the given private key.
|
|
150
|
-
*
|
|
151
|
-
* @param base64PrivateKey 64 bytes long privateKey
|
|
152
|
-
* @returns KeyPair
|
|
153
|
-
*/
|
|
154
|
-
protected createKeyPair(base64PrivateKey: Uint8Array): KeyPair;
|
|
155
|
-
/**
|
|
156
|
-
* decodePrivateKey generates a seed with a mnemonic and using algosdk.
|
|
157
|
-
*
|
|
158
|
-
* @param seed 32 bytes long seed
|
|
159
|
-
* @returns mnemonic - 25 words mnemonic - 25 words mnemonic
|
|
160
|
-
*/
|
|
161
|
-
protected mnemonicFromSeed(seed: Uint8Array): string;
|
|
162
|
-
/**
|
|
163
|
-
* Validates the key with the stellar-sdk
|
|
164
|
-
*
|
|
165
|
-
* @param publicKey
|
|
166
|
-
* @returns boolean
|
|
167
|
-
*/
|
|
168
|
-
protected isValidEd25519PublicKeyStellar(publicKey: string): boolean;
|
|
169
|
-
/**
|
|
170
|
-
* Decodes the key with the stellar-sdk
|
|
171
|
-
*
|
|
172
|
-
* @param publicKey
|
|
173
|
-
* @returns Buffer
|
|
174
|
-
*/
|
|
175
|
-
protected decodeEd25519PublicKeyStellar(publicKey: string): Buffer;
|
|
176
|
-
/**
|
|
177
|
-
* Convert a stellar seed to algorand encoding
|
|
178
|
-
*
|
|
179
|
-
* @param seed
|
|
180
|
-
* @returns string the encoded seed
|
|
181
|
-
*/
|
|
182
|
-
convertFromStellarSeed(seed: string): string;
|
|
183
|
-
/**
|
|
184
|
-
* Returns an address encoded with algosdk
|
|
185
|
-
*
|
|
186
|
-
* @param addr
|
|
187
|
-
* @returns string
|
|
188
|
-
*/
|
|
189
|
-
encodeAddress(addr: Uint8Array): string;
|
|
190
|
-
/**
|
|
191
|
-
* Return an address decoded with algosdk
|
|
192
|
-
*
|
|
193
|
-
* @param addr
|
|
194
|
-
* @returns Address
|
|
195
|
-
*/
|
|
196
|
-
decodeAddress(addr: string): Address;
|
|
197
|
-
/**
|
|
198
|
-
* Converts an address into an ALGO one
|
|
199
|
-
* If the given data is a Stellar address or public key, it is converted to ALGO address.
|
|
200
|
-
*
|
|
201
|
-
* @param addressOrPubKey an ALGO address, or an Stellar address or public key
|
|
202
|
-
* @returns address algo address string
|
|
203
|
-
*/
|
|
204
|
-
stellarAddressToAlgoAddress(addressOrPubKey: string): string;
|
|
205
|
-
/**
|
|
206
|
-
* multisigAddress takes multisig metadata (preimage) and returns the corresponding human readable Algorand address.
|
|
207
|
-
*
|
|
208
|
-
* @param {number} version mutlisig version
|
|
209
|
-
* @param {number} threshold multisig threshold
|
|
210
|
-
* @param {string[]} addrs list of Algorand addresses
|
|
211
|
-
* @returns {string} human readable Algorand address.
|
|
212
|
-
*/
|
|
213
|
-
multisigAddress(version: number, threshold: number, addrs: string[]): string;
|
|
214
|
-
/**
|
|
215
|
-
* generateAccount generates un account with a secretKey and an address
|
|
216
|
-
*
|
|
217
|
-
* Function has not params
|
|
218
|
-
* @returns Account
|
|
219
|
-
*/
|
|
220
|
-
generateAccount(): algosdk.Account;
|
|
221
|
-
generateAccountFromSeed(seed: Uint8Array): algosdk.Account;
|
|
222
|
-
/**
|
|
223
|
-
* Generates Tx ID from an encoded multisig transaction
|
|
224
|
-
*
|
|
225
|
-
* This is done because of a change made on version 1.10.1 on algosdk so method txID() only supports SignedTransaction type.
|
|
226
|
-
* (https://github.com/algorand/js-algorand-sdk/blob/develop/CHANGELOG.md#1101)
|
|
227
|
-
*
|
|
228
|
-
* @param {string} txBase64 - encoded base64 multisig transaction
|
|
229
|
-
* @returns {string} - transaction ID
|
|
230
|
-
*/
|
|
231
|
-
getMultisigTxID(txBase64: string): string;
|
|
232
|
-
/**
|
|
233
|
-
* Determines if a given transaction data is to enable or disable a token
|
|
234
|
-
* @param amount the amount in transaction
|
|
235
|
-
* @param from the originated address
|
|
236
|
-
* @param to the target address
|
|
237
|
-
* @param closeRemainderTo (optional) address to send remaining units in originated address
|
|
238
|
-
* @returns 'enableToken' or 'disableToken'
|
|
239
|
-
*/
|
|
240
|
-
getTokenTxType(amount: string, from: string, to: string, closeRemainderTo?: string): string;
|
|
241
|
-
/**
|
|
242
|
-
* Validate if the key is a valid base64 string
|
|
243
|
-
* @param key the key to validate
|
|
244
|
-
*/
|
|
245
|
-
validateBase64(key: string): void;
|
|
246
|
-
}
|
|
247
|
-
declare const utils: Utils;
|
|
248
|
-
export default utils;
|
|
249
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/coin/algo/utils.ts"],"names":[],"mappings":"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"}
|