@wormhole-foundation/sdk-algorand 0.5.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/README.md +5 -0
  2. package/dist/cjs/address.d.ts +27 -0
  3. package/dist/cjs/address.d.ts.map +1 -0
  4. package/dist/cjs/address.js +76 -0
  5. package/dist/cjs/address.js.map +1 -0
  6. package/dist/cjs/chain.d.ts +5 -0
  7. package/dist/cjs/chain.d.ts.map +1 -0
  8. package/dist/cjs/chain.js +8 -0
  9. package/dist/cjs/chain.js.map +1 -0
  10. package/dist/cjs/index.d.ts +7 -0
  11. package/dist/cjs/index.d.ts.map +1 -0
  12. package/dist/cjs/index.js +23 -0
  13. package/dist/cjs/index.js.map +1 -0
  14. package/dist/cjs/platform.d.ts +25 -0
  15. package/dist/cjs/platform.d.ts.map +1 -0
  16. package/dist/cjs/platform.js +135 -0
  17. package/dist/cjs/platform.js.map +1 -0
  18. package/dist/cjs/signer.d.ts +14 -0
  19. package/dist/cjs/signer.d.ts.map +1 -0
  20. package/dist/cjs/signer.js +58 -0
  21. package/dist/cjs/signer.js.map +1 -0
  22. package/dist/cjs/testing/index.d.ts +2 -0
  23. package/dist/cjs/testing/index.d.ts.map +1 -0
  24. package/dist/cjs/testing/index.js +18 -0
  25. package/dist/cjs/testing/index.js.map +1 -0
  26. package/dist/cjs/testing/signer.d.ts +14 -0
  27. package/dist/cjs/testing/signer.d.ts.map +1 -0
  28. package/dist/cjs/testing/signer.js +58 -0
  29. package/dist/cjs/testing/signer.js.map +1 -0
  30. package/dist/cjs/types.d.ts +27 -0
  31. package/dist/cjs/types.d.ts.map +1 -0
  32. package/dist/cjs/types.js +15 -0
  33. package/dist/cjs/types.js.map +1 -0
  34. package/dist/cjs/unsignedTransaction.d.ts +11 -0
  35. package/dist/cjs/unsignedTransaction.d.ts.map +1 -0
  36. package/dist/cjs/unsignedTransaction.js +19 -0
  37. package/dist/cjs/unsignedTransaction.js.map +1 -0
  38. package/dist/esm/address.d.ts +27 -0
  39. package/dist/esm/address.d.ts.map +1 -0
  40. package/dist/esm/address.js +72 -0
  41. package/dist/esm/address.js.map +1 -0
  42. package/dist/esm/chain.d.ts +5 -0
  43. package/dist/esm/chain.d.ts.map +1 -0
  44. package/dist/esm/chain.js +4 -0
  45. package/dist/esm/chain.js.map +1 -0
  46. package/dist/esm/index.d.ts +7 -0
  47. package/dist/esm/index.d.ts.map +1 -0
  48. package/dist/esm/index.js +7 -0
  49. package/dist/esm/index.js.map +1 -0
  50. package/dist/esm/platform.d.ts +25 -0
  51. package/dist/esm/platform.d.ts.map +1 -0
  52. package/dist/esm/platform.js +131 -0
  53. package/dist/esm/platform.js.map +1 -0
  54. package/dist/esm/signer.d.ts +14 -0
  55. package/dist/esm/signer.d.ts.map +1 -0
  56. package/dist/esm/signer.js +53 -0
  57. package/dist/esm/signer.js.map +1 -0
  58. package/dist/esm/testing/index.d.ts +2 -0
  59. package/dist/esm/testing/index.d.ts.map +1 -0
  60. package/dist/esm/testing/index.js +2 -0
  61. package/dist/esm/testing/index.js.map +1 -0
  62. package/dist/esm/testing/signer.d.ts +14 -0
  63. package/dist/esm/testing/signer.d.ts.map +1 -0
  64. package/dist/esm/testing/signer.js +53 -0
  65. package/dist/esm/testing/signer.js.map +1 -0
  66. package/dist/esm/types.d.ts +27 -0
  67. package/dist/esm/types.d.ts.map +1 -0
  68. package/dist/esm/types.js +11 -0
  69. package/dist/esm/types.js.map +1 -0
  70. package/dist/esm/unsignedTransaction.d.ts +11 -0
  71. package/dist/esm/unsignedTransaction.d.ts.map +1 -0
  72. package/dist/esm/unsignedTransaction.js +15 -0
  73. package/dist/esm/unsignedTransaction.js.map +1 -0
  74. package/dist/tsconfig.cjs.tsbuildinfo +1 -0
  75. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  76. package/package.json +49 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsignedTransaction.d.ts","sourceRoot":"","sources":["../../src/unsignedTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhE,qBAAa,2BAA2B,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,cAAc,CAClF,YAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;IAGlC,QAAQ,CAAC,WAAW,EAAE,qBAAqB;IAC3C,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO;gBAJvB,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,OAAe;CAE3C"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AlgorandUnsignedTransaction = void 0;
4
+ class AlgorandUnsignedTransaction {
5
+ transaction;
6
+ network;
7
+ chain;
8
+ description;
9
+ parallelizable;
10
+ constructor(transaction, network, chain, description, parallelizable = false) {
11
+ this.transaction = transaction;
12
+ this.network = network;
13
+ this.chain = chain;
14
+ this.description = description;
15
+ this.parallelizable = parallelizable;
16
+ }
17
+ }
18
+ exports.AlgorandUnsignedTransaction = AlgorandUnsignedTransaction;
19
+ //# sourceMappingURL=unsignedTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsignedTransaction.js","sourceRoot":"","sources":["../../src/unsignedTransaction.ts"],"names":[],"mappings":";;;AAGA,MAAa,2BAA2B;IAI3B;IACA;IACA;IACA;IACA;IALX,YACW,WAAkC,EAClC,OAAU,EACV,KAAQ,EACR,WAAmB,EACnB,iBAA0B,KAAK;QAJ/B,gBAAW,GAAX,WAAW,CAAuB;QAClC,YAAO,GAAP,OAAO,CAAG;QACV,UAAK,GAAL,KAAK,CAAG;QACR,gBAAW,GAAX,WAAW,CAAQ;QACnB,mBAAc,GAAd,cAAc,CAAiB;IACvC,CAAC;CACL;AAVD,kEAUC"}
@@ -0,0 +1,27 @@
1
+ import { Address, Platform, UniversalAddress } from "@wormhole-foundation/sdk-connect";
2
+ import { AnyAlgorandAddress } from "./types";
3
+ export declare const AlgorandZeroAddress = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY5HFKQ";
4
+ export declare class AlgorandAddress implements Address {
5
+ static readonly byteSize = 32;
6
+ static readonly platform: Platform;
7
+ readonly type: string;
8
+ readonly address: Uint8Array;
9
+ constructor(address: AnyAlgorandAddress);
10
+ unwrap(): string;
11
+ toString(): string;
12
+ toNative(): this;
13
+ toUint8Array(): Uint8Array;
14
+ toUniversalAddress(): UniversalAddress;
15
+ toBigInt(): bigint;
16
+ toInt(): number;
17
+ equals(other: AlgorandAddress | UniversalAddress): boolean;
18
+ static instanceof(address: any): address is AlgorandAddress;
19
+ }
20
+ declare global {
21
+ namespace Wormhole {
22
+ interface PlatformToNativeAddressMapping {
23
+ Algorand: AlgorandAddress;
24
+ }
25
+ }
26
+ }
27
+ //# sourceMappingURL=address.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,QAAQ,EACR,gBAAgB,EAGjB,MAAM,kCAAkC,CAAC;AAI1C,OAAO,EAAE,kBAAkB,EAAiC,MAAM,SAAS,CAAC;AAE5E,eAAO,MAAM,mBAAmB,+DAA+D,CAAC;AAKhG,qBAAa,eAAgB,YAAW,OAAO;IAC7C,MAAM,CAAC,QAAQ,CAAC,QAAQ,MAAM;IAC9B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAa;IAE/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAY;IAEjC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;gBAEjB,OAAO,EAAE,kBAAkB;IAwBvC,MAAM,IAAI,MAAM;IAGhB,QAAQ;IAGR,QAAQ;IAGR,YAAY;IAGZ,kBAAkB;IAIlB,QAAQ,IAAI,MAAM;IAIlB,KAAK,IAAI,MAAM;IAIf,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,GAAG,OAAO;IAO1D,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,eAAe;CAG5D;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,QAAQ,CAAC;QACjB,UAAU,8BAA8B;YACtC,QAAQ,EAAE,eAAe,CAAC;SAC3B;KACF;CACF"}
@@ -0,0 +1,72 @@
1
+ import { UniversalAddress, encoding, registerNative, } from "@wormhole-foundation/sdk-connect";
2
+ import { decodeAddress, encodeAddress, isValidAddress } from "algosdk";
3
+ import { AlgorandPlatform } from "./platform";
4
+ import { _platform, safeBigIntToNumber } from "./types";
5
+ export const AlgorandZeroAddress = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY5HFKQ";
6
+ // Note: for ASA/App IDs we encode them as 8 bytes at the start of
7
+ // the 32 byte adddress bytes.
8
+ export class AlgorandAddress {
9
+ static byteSize = 32;
10
+ static platform = _platform;
11
+ type = "Native";
12
+ address;
13
+ constructor(address) {
14
+ if (AlgorandAddress.instanceof(address)) {
15
+ this.address = address.address;
16
+ }
17
+ else if (UniversalAddress.instanceof(address)) {
18
+ this.address = address.toUint8Array();
19
+ }
20
+ else if (address instanceof Uint8Array && address.byteLength === AlgorandAddress.byteSize) {
21
+ this.address = address;
22
+ }
23
+ else if (typeof address === "string" && isValidAddress(address)) {
24
+ this.address = decodeAddress(address).publicKey;
25
+ }
26
+ else if (typeof address === "string" && !isNaN(parseInt(address))) {
27
+ this.address = encoding.bytes.zpad(encoding.bignum.toBytes(BigInt(address), 8), AlgorandAddress.byteSize);
28
+ }
29
+ else if (typeof address === "bigint") {
30
+ this.address = encoding.bytes.zpad(encoding.bignum.toBytes(address, 8), AlgorandAddress.byteSize);
31
+ }
32
+ else if (address instanceof Uint8Array && address.byteLength === 8) {
33
+ this.address = encoding.bytes.zpad(address, AlgorandAddress.byteSize);
34
+ }
35
+ else
36
+ throw new Error(`Invalid Algorand address or ASA ID: ${address}`);
37
+ }
38
+ unwrap() {
39
+ return this.toString();
40
+ }
41
+ toString() {
42
+ return encodeAddress(this.address);
43
+ }
44
+ toNative() {
45
+ return this;
46
+ }
47
+ toUint8Array() {
48
+ return this.address;
49
+ }
50
+ toUniversalAddress() {
51
+ return new UniversalAddress(this.toUint8Array());
52
+ }
53
+ toBigInt() {
54
+ return encoding.bignum.decode(this.toUint8Array().slice(24, 32));
55
+ }
56
+ toInt() {
57
+ return safeBigIntToNumber(this.toBigInt());
58
+ }
59
+ equals(other) {
60
+ if (AlgorandAddress.instanceof(other)) {
61
+ return other.address === this.address;
62
+ }
63
+ else {
64
+ return this.toUniversalAddress().equals(other);
65
+ }
66
+ }
67
+ static instanceof(address) {
68
+ return address.constructor.platform === AlgorandPlatform._platform;
69
+ }
70
+ }
71
+ registerNative(_platform, AlgorandAddress);
72
+ //# sourceMappingURL=address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { ChainContext, Network } from "@wormhole-foundation/sdk-connect";
2
+ import { AlgorandChains } from "./types";
3
+ export declare class AlgorandChain<N extends Network = Network, C extends AlgorandChains = AlgorandChains> extends ChainContext<N, C> {
4
+ }
5
+ //# sourceMappingURL=chain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,qBAAa,aAAa,CACxB,CAAC,SAAS,OAAO,GAAG,OAAO,EAC3B,CAAC,SAAS,cAAc,GAAG,cAAc,CACzC,SAAQ,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;CAAG"}
@@ -0,0 +1,4 @@
1
+ import { ChainContext } from "@wormhole-foundation/sdk-connect";
2
+ export class AlgorandChain extends ChainContext {
3
+ }
4
+ //# sourceMappingURL=chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAW,MAAM,kCAAkC,CAAC;AAGzE,MAAM,OAAO,aAGX,SAAQ,YAAkB;CAAG"}
@@ -0,0 +1,7 @@
1
+ export * from "./address";
2
+ export * from "./chain";
3
+ export * from "./platform";
4
+ export * from "./types";
5
+ export * from "./unsignedTransaction";
6
+ export * from "./signer";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from "./address";
2
+ export * from "./chain";
3
+ export * from "./platform";
4
+ export * from "./types";
5
+ export * from "./unsignedTransaction";
6
+ export * from "./signer";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { Balances, Chain, ChainsConfig, Network, PlatformContext, SignedTx, StaticPlatformMethods, TokenId, TxHash } from "@wormhole-foundation/sdk-connect";
2
+ import { Algodv2 } from "algosdk";
3
+ import { AlgorandChain } from "./chain";
4
+ import { AlgorandChains, AlgorandPlatformType, AnyAlgorandAddress } from "./types";
5
+ /**
6
+ * @category Algorand
7
+ */
8
+ export declare class AlgorandPlatform<N extends Network> extends PlatformContext<N, AlgorandPlatformType> implements StaticPlatformMethods<AlgorandPlatformType, typeof AlgorandPlatform> {
9
+ static _platform: "Algorand";
10
+ constructor(network: N, _config?: ChainsConfig<N, AlgorandPlatformType>);
11
+ getRpc<C extends AlgorandChains>(chain: C): Algodv2;
12
+ getChain<C extends AlgorandChains>(chain: C): AlgorandChain<N, C>;
13
+ static nativeTokenId<N extends Network, C extends AlgorandChains>(network: N, chain: C): TokenId<C>;
14
+ static isNativeTokenId<N extends Network, C extends AlgorandChains>(network: N, chain: C, tokenId: TokenId): boolean;
15
+ static isSupportedChain(chain: Chain): boolean;
16
+ static getDecimals(chain: Chain, rpc: Algodv2, token: AnyAlgorandAddress): Promise<number>;
17
+ static getBalance(chain: Chain, rpc: Algodv2, walletAddr: string, token: AnyAlgorandAddress): Promise<bigint | null>;
18
+ static getBalances(chain: Chain, rpc: Algodv2, walletAddr: string, tokens: AnyAlgorandAddress[]): Promise<Balances>;
19
+ static sendWait(chain: Chain, rpc: Algodv2, stxns: SignedTx[]): Promise<TxHash[]>;
20
+ static getLatestBlock(rpc: Algodv2): Promise<number>;
21
+ static getLatestFinalizedBlock(rpc: Algodv2): Promise<number>;
22
+ static chainFromChainId(genesisId: string): [Network, AlgorandChains];
23
+ static chainFromRpc(rpc: Algodv2): Promise<[Network, AlgorandChains]>;
24
+ }
25
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,OAAO,EACP,eAAe,EACf,QAAQ,EACR,qBAAqB,EACrB,OAAO,EACP,MAAM,EAOP,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,OAAO,EAKR,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAa,MAAM,SAAS,CAAC;AAE9F;;GAEG;AACH,qBAAa,gBAAgB,CAAC,CAAC,SAAS,OAAO,CAC7C,SAAQ,eAAe,CAAC,CAAC,EAAE,oBAAoB,CAC/C,YAAW,qBAAqB,CAAC,oBAAoB,EAAE,OAAO,gBAAgB,CAAC;IAE/E,MAAM,CAAC,SAAS,aAAa;gBAEjB,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,oBAAoB,CAAC;IAIvE,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO;IAKnD,QAAQ,CAAC,CAAC,SAAS,cAAc,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAKjE,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,cAAc,EAC9D,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,GACP,OAAO,CAAC,CAAC,CAAC;IAMb,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,cAAc,EAChE,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,OAAO,GACf,OAAO;IAOV,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;WAKjC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;WAYnF,UAAU,CACrB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;WAaZ,WAAW,CACtB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,kBAAkB,EAAE,GAC3B,OAAO,CAAC,QAAQ,CAAC;WAoBP,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;WA0B1E,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;WAS7C,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IASnE,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC;WAYxD,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;CAK5E"}
@@ -0,0 +1,131 @@
1
+ import { PlatformContext, Wormhole, chainToPlatform, decimals, isNative, nativeChainIds, networkPlatformConfigs, } from "@wormhole-foundation/sdk-connect";
2
+ import { Algodv2, decodeSignedTransaction, modelsv2, waitForConfirmation, } from "algosdk";
3
+ import { AlgorandAddress, AlgorandZeroAddress } from "./address";
4
+ import { AlgorandChain } from "./chain";
5
+ import { _platform } from "./types";
6
+ /**
7
+ * @category Algorand
8
+ */
9
+ export class AlgorandPlatform extends PlatformContext {
10
+ static _platform = _platform;
11
+ constructor(network, _config) {
12
+ super(network, _config ?? networkPlatformConfigs(network, AlgorandPlatform._platform));
13
+ }
14
+ getRpc(chain) {
15
+ if (chain in this.config)
16
+ return new Algodv2("", this.config[chain].rpc);
17
+ throw new Error("No configuration available for chain: " + chain);
18
+ }
19
+ getChain(chain) {
20
+ if (chain in this.config)
21
+ return new AlgorandChain(chain, this);
22
+ throw new Error("No configuration available for chain: " + chain);
23
+ }
24
+ static nativeTokenId(network, chain) {
25
+ if (!AlgorandPlatform.isSupportedChain(chain))
26
+ throw new Error(`invalid chain for Algorand: ${chain}`);
27
+ return Wormhole.chainAddress(chain, AlgorandZeroAddress);
28
+ }
29
+ static isNativeTokenId(network, chain, tokenId) {
30
+ if (!AlgorandPlatform.isSupportedChain(chain))
31
+ return false;
32
+ if (tokenId.chain !== chain)
33
+ return false;
34
+ const native = this.nativeTokenId(network, chain);
35
+ return native == tokenId;
36
+ }
37
+ static isSupportedChain(chain) {
38
+ const platform = chainToPlatform(chain);
39
+ return platform === AlgorandPlatform._platform;
40
+ }
41
+ static async getDecimals(chain, rpc, token) {
42
+ // It may come in as a universal address
43
+ const assetId = isNative(token) ? 0 : new AlgorandAddress(token).toInt();
44
+ if (assetId === 0)
45
+ return decimals.nativeDecimals(AlgorandPlatform._platform);
46
+ const assetResp = await rpc.getAssetByID(assetId).do();
47
+ const asset = modelsv2.Asset.from_obj_for_encoding(assetResp);
48
+ if (!asset.params || !asset.params.decimals)
49
+ throw new Error("Could not fetch token details");
50
+ return Number(asset.params.decimals);
51
+ }
52
+ static async getBalance(chain, rpc, walletAddr, token) {
53
+ const assetId = isNative(token) ? 0 : new AlgorandAddress(token).toInt();
54
+ if (assetId === 0) {
55
+ const resp = await rpc.accountInformation(walletAddr).do();
56
+ const accountInfo = modelsv2.Account.from_obj_for_encoding(resp);
57
+ return BigInt(accountInfo.amount);
58
+ }
59
+ const acctAssetInfoResp = await rpc.accountAssetInformation(walletAddr, assetId).do();
60
+ const accountAssetInfo = modelsv2.AssetHolding.from_obj_for_encoding(acctAssetInfoResp);
61
+ return BigInt(accountAssetInfo.amount);
62
+ }
63
+ static async getBalances(chain, rpc, walletAddr, tokens) {
64
+ let native;
65
+ if (tokens.includes("native")) {
66
+ const acctInfoResp = await rpc.accountInformation(walletAddr).do();
67
+ const accountInfo = modelsv2.Account.from_obj_for_encoding(acctInfoResp);
68
+ native = BigInt(accountInfo.amount);
69
+ }
70
+ const balancesArr = tokens.map(async (token) => {
71
+ if (isNative(token)) {
72
+ return { ["native"]: native };
73
+ }
74
+ const asaId = new AlgorandAddress(token).toInt();
75
+ const acctAssetInfoResp = await rpc.accountAssetInformation(walletAddr, asaId).do();
76
+ const accountAssetInfo = modelsv2.AssetHolding.from_obj_for_encoding(acctAssetInfoResp);
77
+ return BigInt(accountAssetInfo.amount);
78
+ });
79
+ return balancesArr.reduce((obj, item) => Object.assign(obj, item), {});
80
+ }
81
+ static async sendWait(chain, rpc, stxns) {
82
+ const rounds = 4;
83
+ const decodedStxns = stxns.map((val, idx) => {
84
+ const decodedStxn = decodeSignedTransaction(val);
85
+ return decodedStxn;
86
+ });
87
+ const txIds = decodedStxns.map((val, idx) => {
88
+ const id = val.txn.txID();
89
+ return id;
90
+ });
91
+ const { txId } = await rpc.sendRawTransaction(stxns).do();
92
+ if (!txId) {
93
+ throw new Error("Transaction(s) failed to send");
94
+ }
95
+ const confirmResp = await waitForConfirmation(rpc, txId, rounds);
96
+ const ptr = modelsv2.PendingTransactionResponse.from_obj_for_encoding(confirmResp);
97
+ if (!ptr.confirmedRound) {
98
+ throw new Error(`Transaction(s) could not be confirmed in ${rounds} rounds`);
99
+ }
100
+ return txIds;
101
+ }
102
+ static async getLatestBlock(rpc) {
103
+ const statusResp = await rpc.status().do();
104
+ const status = modelsv2.NodeStatusResponse.from_obj_for_encoding(statusResp);
105
+ if (!status.lastRound) {
106
+ throw new Error("Error getting status from node");
107
+ }
108
+ return Number(status.lastRound);
109
+ }
110
+ static async getLatestFinalizedBlock(rpc) {
111
+ const statusResp = await rpc.status().do();
112
+ const status = modelsv2.NodeStatusResponse.from_obj_for_encoding(statusResp);
113
+ if (!status.lastRound) {
114
+ throw new Error("Error getting status from node");
115
+ }
116
+ return Number(status.lastRound);
117
+ }
118
+ static chainFromChainId(genesisId) {
119
+ const networkChainPair = nativeChainIds.platformNativeChainIdToNetworkChain(AlgorandPlatform._platform, genesisId);
120
+ if (networkChainPair === undefined)
121
+ throw new Error(`Unknown native chain id ${genesisId}`);
122
+ const [network, chain] = networkChainPair;
123
+ return [network, chain];
124
+ }
125
+ static async chainFromRpc(rpc) {
126
+ const versionResp = await rpc.versionsCheck().do();
127
+ const version = modelsv2.Version.from_obj_for_encoding(versionResp);
128
+ return this.chainFromChainId(version.genesisId);
129
+ }
130
+ }
131
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { Network, SignOnlySigner, SignedTx, Signer, UnsignedTransaction } from "@wormhole-foundation/sdk-connect";
2
+ import { Account, Algodv2 } from "algosdk";
3
+ import { AlgorandChains } from "./types";
4
+ export declare function getAlgorandSigner(rpc: Algodv2, mnemonic: string): Promise<Signer>;
5
+ export declare class AlgorandSigner<N extends Network, C extends AlgorandChains> implements SignOnlySigner<N, C> {
6
+ private _chain;
7
+ private _debug;
8
+ _account: Account;
9
+ constructor(_chain: C, _rpc: Algodv2, mnemonic: string, _debug?: boolean);
10
+ chain(): C;
11
+ address(): string;
12
+ sign(unsignedTxns: UnsignedTransaction[]): Promise<SignedTx[]>;
13
+ }
14
+ //# sourceMappingURL=signer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,cAAc,EACd,QAAQ,EACR,MAAM,EACN,mBAAmB,EACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAsC,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAyB,MAAM,SAAS,CAAC;AAGhE,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAGjB;AAGD,qBAAa,cAAc,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,cAAc,CACrE,YAAW,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IAI7B,OAAO,CAAC,MAAM;IAGd,OAAO,CAAC,MAAM;IALhB,QAAQ,EAAE,OAAO,CAAC;gBAER,MAAM,EAAE,CAAC,EACjB,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,EACR,MAAM,GAAE,OAAe;IAKjC,KAAK,IAAI,CAAC;IAIV,OAAO,IAAI,MAAM;IAIX,IAAI,CAAC,YAAY,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAmCrE"}
@@ -0,0 +1,53 @@
1
+ import { assignGroupID, mnemonicToSecretKey } from "algosdk";
2
+ import { AlgorandPlatform } from "./platform";
3
+ export async function getAlgorandSigner(rpc, mnemonic) {
4
+ const [network, chain] = await AlgorandPlatform.chainFromRpc(rpc);
5
+ return new AlgorandSigner(chain, rpc, mnemonic);
6
+ }
7
+ // AlgorandSigner implements SignOnlySender
8
+ export class AlgorandSigner {
9
+ _chain;
10
+ _debug;
11
+ _account;
12
+ constructor(_chain, _rpc, mnemonic, _debug = false) {
13
+ this._chain = _chain;
14
+ this._debug = _debug;
15
+ this._account = mnemonicToSecretKey(mnemonic);
16
+ }
17
+ chain() {
18
+ return this._chain;
19
+ }
20
+ address() {
21
+ return this._account.addr;
22
+ }
23
+ async sign(unsignedTxns) {
24
+ const signed = [];
25
+ const ungrouped = unsignedTxns.map((val, idx) => {
26
+ return val.transaction.tx;
27
+ });
28
+ const grouped = assignGroupID(ungrouped);
29
+ // Replace the ungrouped Transactions with grouped Transactions
30
+ const groupedAlgoUnsignedTxns = unsignedTxns.map((val, idx) => {
31
+ val.transaction.tx = grouped[idx];
32
+ return val;
33
+ });
34
+ for (const algoUnsignedTxn of groupedAlgoUnsignedTxns) {
35
+ const { description, transaction: tsp } = algoUnsignedTxn;
36
+ const { tx, signer } = tsp;
37
+ if (this._debug) {
38
+ console.log(tx._getDictForDisplay());
39
+ console.log(tx.txID());
40
+ }
41
+ if (signer) {
42
+ console.log(`Signing: ${description} with signer ${signer.address} for address ${this.address()}`);
43
+ signed.push(await signer.signTxn(tx));
44
+ }
45
+ else {
46
+ console.log(`Signing: ${description} without signer for address ${this.address()}`);
47
+ signed.push(tx.signTxn(this._account.sk));
48
+ }
49
+ }
50
+ return signed;
51
+ }
52
+ }
53
+ //# sourceMappingURL=signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAoB,aAAa,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAY,EACZ,QAAgB;IAEhB,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAClE,OAAO,IAAI,cAAc,CAA+B,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AAChF,CAAC;AAED,2CAA2C;AAC3C,MAAM,OAAO,cAAc;IAKf;IAGA;IALV,QAAQ,CAAU;IAClB,YACU,MAAS,EACjB,IAAa,EACb,QAAgB,EACR,SAAkB,KAAK;QAHvB,WAAM,GAAN,MAAM,CAAG;QAGT,WAAM,GAAN,MAAM,CAAiB;QAE/B,IAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,YAAmC;QAC5C,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC9C,OAAO,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QAEzC,+DAA+D;QAC/D,MAAM,uBAAuB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC5D,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,eAAe,IAAI,uBAAuB,EAAE;YACrD,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC;YAC1D,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,GAA4B,CAAC;YAEpD,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;aACxB;YAED,IAAI,MAAM,EAAE;gBACV,OAAO,CAAC,GAAG,CACT,YAAY,WAAW,gBAAgB,MAAM,CAAC,OAAO,gBAAgB,IAAI,CAAC,OAAO,EAAE,EAAE,CACtF,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;aACvC;iBAAM;gBACL,OAAO,CAAC,GAAG,CAAC,YAAY,WAAW,+BAA+B,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACpF,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;aAC3C;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export * from "./signer";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/testing/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./signer";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/testing/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Network, SignOnlySigner, SignedTx, Signer, UnsignedTransaction } from "@wormhole-foundation/connect-sdk";
2
+ import { Account, Algodv2 } from "algosdk";
3
+ import { AlgorandChains } from "../types";
4
+ export declare function getAlgorandSigner(rpc: Algodv2, mnemonic: string): Promise<Signer>;
5
+ export declare class AlgorandSigner<N extends Network, C extends AlgorandChains = "Algorand"> implements SignOnlySigner<N, C> {
6
+ private _chain;
7
+ private _debug;
8
+ _account: Account;
9
+ constructor(_chain: C, _rpc: Algodv2, mnemonic: string, _debug?: boolean);
10
+ chain(): C;
11
+ address(): string;
12
+ sign(unsignedTxns: UnsignedTransaction[]): Promise<SignedTx[]>;
13
+ }
14
+ //# sourceMappingURL=signer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../src/testing/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,cAAc,EACd,QAAQ,EACR,MAAM,EACN,mBAAmB,EACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAsC,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAyB,MAAM,UAAU,CAAC;AAGjE,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAGjB;AAGD,qBAAa,cAAc,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,cAAc,GAAG,UAAU,CAClF,YAAW,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IAI7B,OAAO,CAAC,MAAM;IAGd,OAAO,CAAC,MAAM;IALhB,QAAQ,EAAE,OAAO,CAAC;gBAER,MAAM,EAAE,CAAC,EACjB,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,EACR,MAAM,GAAE,OAAe;IAKjC,KAAK,IAAI,CAAC;IAIV,OAAO,IAAI,MAAM;IAIX,IAAI,CAAC,YAAY,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAmCrE"}
@@ -0,0 +1,53 @@
1
+ import { assignGroupID, mnemonicToSecretKey } from "algosdk";
2
+ import { AlgorandPlatform } from "../platform";
3
+ export async function getAlgorandSigner(rpc, mnemonic) {
4
+ const [network, chain] = await AlgorandPlatform.chainFromRpc(rpc);
5
+ return new AlgorandSigner(chain, rpc, mnemonic);
6
+ }
7
+ // AlgorandSigner implements SignOnlySender
8
+ export class AlgorandSigner {
9
+ _chain;
10
+ _debug;
11
+ _account;
12
+ constructor(_chain, _rpc, mnemonic, _debug = false) {
13
+ this._chain = _chain;
14
+ this._debug = _debug;
15
+ this._account = mnemonicToSecretKey(mnemonic);
16
+ }
17
+ chain() {
18
+ return this._chain;
19
+ }
20
+ address() {
21
+ return this._account.addr;
22
+ }
23
+ async sign(unsignedTxns) {
24
+ const signed = [];
25
+ const ungrouped = unsignedTxns.map((val, idx) => {
26
+ return val.transaction.tx;
27
+ });
28
+ const grouped = assignGroupID(ungrouped);
29
+ // Replace the ungrouped Transactions with grouped Transactions
30
+ const groupedAlgoUnsignedTxns = unsignedTxns.map((val, idx) => {
31
+ val.transaction.tx = grouped[idx];
32
+ return val;
33
+ });
34
+ for (const algoUnsignedTxn of groupedAlgoUnsignedTxns) {
35
+ const { description, transaction: tsp } = algoUnsignedTxn;
36
+ const { tx, signer } = tsp;
37
+ if (this._debug) {
38
+ console.log(tx._getDictForDisplay());
39
+ console.log(tx.txID());
40
+ }
41
+ if (signer) {
42
+ console.log(`Signing: ${description} with signer ${signer.address} for address ${this.address()}`);
43
+ signed.push(await signer.signTxn(tx));
44
+ }
45
+ else {
46
+ console.log(`Signing: ${description} without signer for address ${this.address()}`);
47
+ signed.push(tx.signTxn(this._account.sk));
48
+ }
49
+ }
50
+ return signed;
51
+ }
52
+ }
53
+ //# sourceMappingURL=signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/testing/signer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAoB,aAAa,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAY,EACZ,QAAgB;IAEhB,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAClE,OAAO,IAAI,cAAc,CAA+B,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AAChF,CAAC;AAED,2CAA2C;AAC3C,MAAM,OAAO,cAAc;IAKf;IAGA;IALV,QAAQ,CAAU;IAClB,YACU,MAAS,EACjB,IAAa,EACb,QAAgB,EACR,SAAkB,KAAK;QAHvB,WAAM,GAAN,MAAM,CAAG;QAGT,WAAM,GAAN,MAAM,CAAiB;QAE/B,IAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,YAAmC;QAC5C,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC9C,OAAO,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QAEzC,+DAA+D;QAC/D,MAAM,uBAAuB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC5D,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,eAAe,IAAI,uBAAuB,EAAE;YACrD,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC;YAC1D,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,GAA4B,CAAC;YAEpD,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;aACxB;YAED,IAAI,MAAM,EAAE;gBACV,OAAO,CAAC,GAAG,CACT,YAAY,WAAW,gBAAgB,MAAM,CAAC,OAAO,gBAAgB,IAAI,CAAC,OAAO,EAAE,EAAE,CACtF,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;aACvC;iBAAM;gBACL,OAAO,CAAC,GAAG,CAAC,YAAY,WAAW,+BAA+B,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACpF,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;aAC3C;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -0,0 +1,27 @@
1
+ import { PlatformToChains, UniversalOrNative } from "@wormhole-foundation/sdk-connect";
2
+ import { Transaction } from "algosdk";
3
+ /**
4
+ * Runtime value for the Algorand Platform
5
+ */
6
+ export declare const _platform: "Algorand";
7
+ /**
8
+ * Compile time Type for the Algorand Platform
9
+ */
10
+ export type AlgorandPlatformType = typeof _platform;
11
+ export type AlgorandChains = PlatformToChains<AlgorandPlatformType>;
12
+ export type UniversalOrAlgorand = UniversalOrNative<AlgorandChains>;
13
+ export type AnyAlgorandAddress = UniversalOrAlgorand | string | Uint8Array | bigint;
14
+ export type LsigSigner = {
15
+ address: string;
16
+ signTxn(txn: Transaction): Promise<Uint8Array>;
17
+ };
18
+ export type TransactionSignerPair = {
19
+ tx: Transaction;
20
+ signer?: LsigSigner;
21
+ };
22
+ export type TransactionSet = {
23
+ accounts: string[];
24
+ txs: TransactionSignerPair[];
25
+ };
26
+ export declare function safeBigIntToNumber(b: bigint): number;
27
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,UAAuB,CAAC;AAChD;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,SAAS,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;AAEpF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,WAAW,CAAC;IAChB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,EAAE,qBAAqB,EAAE,CAAC;CAC9B,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKpD"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Runtime value for the Algorand Platform
3
+ */
4
+ export const _platform = "Algorand";
5
+ export function safeBigIntToNumber(b) {
6
+ if (b < BigInt(Number.MIN_SAFE_INTEGER) || b > BigInt(Number.MAX_SAFE_INTEGER)) {
7
+ throw new Error("Integer is unsafe");
8
+ }
9
+ return Number(b);
10
+ }
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAe,UAAU,CAAC;AAyBhD,MAAM,UAAU,kBAAkB,CAAC,CAAS;IAC1C,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;QAC9E,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;KACtC;IACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Network, UnsignedTransaction } from "@wormhole-foundation/sdk-connect";
2
+ import { AlgorandChains, TransactionSignerPair } from "./types";
3
+ export declare class AlgorandUnsignedTransaction<N extends Network, C extends AlgorandChains> implements UnsignedTransaction<N, C> {
4
+ readonly transaction: TransactionSignerPair;
5
+ readonly network: N;
6
+ readonly chain: C;
7
+ readonly description: string;
8
+ readonly parallelizable: boolean;
9
+ constructor(transaction: TransactionSignerPair, network: N, chain: C, description: string, parallelizable?: boolean);
10
+ }
11
+ //# sourceMappingURL=unsignedTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsignedTransaction.d.ts","sourceRoot":"","sources":["../../src/unsignedTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhE,qBAAa,2BAA2B,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,cAAc,CAClF,YAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;IAGlC,QAAQ,CAAC,WAAW,EAAE,qBAAqB;IAC3C,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO;gBAJvB,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,OAAe;CAE3C"}
@@ -0,0 +1,15 @@
1
+ export class AlgorandUnsignedTransaction {
2
+ transaction;
3
+ network;
4
+ chain;
5
+ description;
6
+ parallelizable;
7
+ constructor(transaction, network, chain, description, parallelizable = false) {
8
+ this.transaction = transaction;
9
+ this.network = network;
10
+ this.chain = chain;
11
+ this.description = description;
12
+ this.parallelizable = parallelizable;
13
+ }
14
+ }
15
+ //# sourceMappingURL=unsignedTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsignedTransaction.js","sourceRoot":"","sources":["../../src/unsignedTransaction.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,2BAA2B;IAI3B;IACA;IACA;IACA;IACA;IALX,YACW,WAAkC,EAClC,OAAU,EACV,KAAQ,EACR,WAAmB,EACnB,iBAA0B,KAAK;QAJ/B,gBAAW,GAAX,WAAW,CAAuB;QAClC,YAAO,GAAP,OAAO,CAAG;QACV,UAAK,GAAL,KAAK,CAAG;QACR,gBAAW,GAAX,WAAW,CAAQ;QACnB,mBAAc,GAAd,cAAc,CAAiB;IACvC,CAAC;CACL"}