@algorandfoundation/algokit-utils 1.0.0-beta.4 → 1.0.0-beta.40

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 (188) hide show
  1. package/README.md +9 -2
  2. package/{dist/account.d.ts → account.d.ts} +41 -36
  3. package/account.d.ts.map +1 -0
  4. package/{dist/account.js → account.js} +59 -44
  5. package/account.js.map +1 -0
  6. package/amount.d.ts +20 -0
  7. package/amount.d.ts.map +1 -0
  8. package/amount.js +36 -0
  9. package/amount.js.map +1 -0
  10. package/app-client.d.ts +14 -0
  11. package/app-client.d.ts.map +1 -0
  12. package/app-client.js +19 -0
  13. package/app-client.js.map +1 -0
  14. package/app-deploy.d.ts +95 -0
  15. package/app-deploy.d.ts.map +1 -0
  16. package/{dist/deploy-app.js → app-deploy.js} +158 -121
  17. package/app-deploy.js.map +1 -0
  18. package/app.d.ts +153 -0
  19. package/app.d.ts.map +1 -0
  20. package/app.js +582 -0
  21. package/app.js.map +1 -0
  22. package/index.d.ts +14 -0
  23. package/index.d.ts.map +1 -0
  24. package/{dist/index.js → index.js} +7 -3
  25. package/index.js.map +1 -0
  26. package/{dist/indexer-lookup.d.ts → indexer-lookup.d.ts} +11 -4
  27. package/indexer-lookup.d.ts.map +1 -0
  28. package/{dist/indexer-lookup.js → indexer-lookup.js} +19 -9
  29. package/indexer-lookup.js.map +1 -0
  30. package/{dist/localnet.d.ts → localnet.d.ts} +10 -10
  31. package/localnet.d.ts.map +1 -0
  32. package/{dist/localnet.js → localnet.js} +16 -16
  33. package/localnet.js.map +1 -0
  34. package/{dist/network-client.d.ts → network-client.d.ts} +15 -24
  35. package/network-client.d.ts.map +1 -0
  36. package/{dist/network-client.js → network-client.js} +16 -16
  37. package/{dist/network-client.js.map → network-client.js.map} +1 -1
  38. package/package.json +5 -93
  39. package/testing/account.d.ts +14 -0
  40. package/testing/account.d.ts.map +1 -0
  41. package/testing/account.js +31 -0
  42. package/testing/account.js.map +1 -0
  43. package/testing/fixtures/algokit-log-capture-fixture.d.ts +19 -0
  44. package/testing/fixtures/algokit-log-capture-fixture.d.ts.map +1 -0
  45. package/testing/fixtures/algokit-log-capture-fixture.js +43 -0
  46. package/testing/fixtures/algokit-log-capture-fixture.js.map +1 -0
  47. package/testing/fixtures/algorand-fixture.d.ts +24 -0
  48. package/testing/fixtures/algorand-fixture.d.ts.map +1 -0
  49. package/testing/fixtures/algorand-fixture.js +60 -0
  50. package/testing/fixtures/algorand-fixture.js.map +1 -0
  51. package/testing/fixtures/index.d.ts +3 -0
  52. package/testing/fixtures/index.d.ts.map +1 -0
  53. package/testing/fixtures/index.js +19 -0
  54. package/testing/fixtures/index.js.map +1 -0
  55. package/testing/index.d.ts +6 -0
  56. package/testing/index.d.ts.map +1 -0
  57. package/testing/index.js +22 -0
  58. package/testing/index.js.map +1 -0
  59. package/testing/indexer.d.ts +12 -0
  60. package/testing/indexer.d.ts.map +1 -0
  61. package/testing/indexer.js +40 -0
  62. package/testing/indexer.js.map +1 -0
  63. package/testing/test-logger.d.ts +41 -0
  64. package/testing/test-logger.d.ts.map +1 -0
  65. package/testing/test-logger.js +71 -0
  66. package/testing/test-logger.js.map +1 -0
  67. package/testing/transaction-logger.d.ts +29 -0
  68. package/testing/transaction-logger.d.ts.map +1 -0
  69. package/testing/transaction-logger.js +71 -0
  70. package/testing/transaction-logger.js.map +1 -0
  71. package/transaction.d.ts +121 -0
  72. package/transaction.d.ts.map +1 -0
  73. package/transaction.js +364 -0
  74. package/transaction.js.map +1 -0
  75. package/transfer.d.ts +22 -0
  76. package/transfer.d.ts.map +1 -0
  77. package/transfer.js +67 -0
  78. package/transfer.js.map +1 -0
  79. package/types/account.d.ts +55 -0
  80. package/types/account.d.ts.map +1 -0
  81. package/types/account.js +91 -0
  82. package/types/account.js.map +1 -0
  83. package/types/algo-http-client-with-retry.d.ts.map +1 -0
  84. package/{dist → types}/algo-http-client-with-retry.js +2 -2
  85. package/types/algo-http-client-with-retry.js.map +1 -0
  86. package/{dist/types → types}/algod.d.ts +28 -15
  87. package/types/algod.d.ts.map +1 -0
  88. package/{dist/algo-amount.d.ts → types/amount.d.ts} +9 -3
  89. package/types/amount.d.ts.map +1 -0
  90. package/{dist/algo-amount.js → types/amount.js} +13 -3
  91. package/types/amount.js.map +1 -0
  92. package/types/app-client.d.ts +282 -0
  93. package/types/app-client.d.ts.map +1 -0
  94. package/types/app-client.js +529 -0
  95. package/types/app-client.js.map +1 -0
  96. package/types/app-spec.d.ts +141 -0
  97. package/types/app-spec.d.ts.map +1 -0
  98. package/{dist/types/appspec.js → types/app-spec.js} +5 -7
  99. package/types/app-spec.js.map +1 -0
  100. package/types/app.d.ts +285 -0
  101. package/types/app.d.ts.map +1 -0
  102. package/types/app.js +32 -0
  103. package/types/app.js.map +1 -0
  104. package/types/config.d.ts +32 -0
  105. package/types/config.d.ts.map +1 -0
  106. package/types/config.js +53 -0
  107. package/types/config.js.map +1 -0
  108. package/types/indexer.d.ts +624 -0
  109. package/types/indexer.d.ts.map +1 -0
  110. package/{dist/types → types}/indexer.js +9 -0
  111. package/types/indexer.js.map +1 -0
  112. package/{dist/config.d.ts → types/logging.d.ts} +2 -16
  113. package/types/logging.d.ts.map +1 -0
  114. package/{dist/config.js → types/logging.js} +5 -24
  115. package/types/logging.js.map +1 -0
  116. package/types/logic-error.d.ts +37 -0
  117. package/types/logic-error.d.ts.map +1 -0
  118. package/types/logic-error.js +50 -0
  119. package/types/logic-error.js.map +1 -0
  120. package/types/network-client.d.ts +11 -0
  121. package/types/network-client.d.ts.map +1 -0
  122. package/types/network-client.js +3 -0
  123. package/types/network-client.js.map +1 -0
  124. package/types/testing.d.ts +89 -0
  125. package/types/testing.d.ts.map +1 -0
  126. package/types/testing.js +3 -0
  127. package/types/testing.js.map +1 -0
  128. package/types/transaction.d.ts +112 -0
  129. package/types/transaction.d.ts.map +1 -0
  130. package/types/transaction.js +3 -0
  131. package/types/transaction.js.map +1 -0
  132. package/types/transfer.d.ts +32 -0
  133. package/types/transfer.d.ts.map +1 -0
  134. package/types/transfer.js +3 -0
  135. package/types/transfer.js.map +1 -0
  136. package/types/urlTokenBaseHTTPClient.d.ts.map +1 -0
  137. package/types/urlTokenBaseHTTPClient.js.map +1 -0
  138. package/LICENSE +0 -21
  139. package/dist/account.d.ts.map +0 -1
  140. package/dist/account.js.map +0 -1
  141. package/dist/algo-amount.d.ts.map +0 -1
  142. package/dist/algo-amount.js.map +0 -1
  143. package/dist/algo-http-client-with-retry.d.ts.map +0 -1
  144. package/dist/algo-http-client-with-retry.js.map +0 -1
  145. package/dist/app.d.ts +0 -150
  146. package/dist/app.d.ts.map +0 -1
  147. package/dist/app.js +0 -156
  148. package/dist/app.js.map +0 -1
  149. package/dist/application-client.d.ts +0 -71
  150. package/dist/application-client.d.ts.map +0 -1
  151. package/dist/application-client.js +0 -145
  152. package/dist/application-client.js.map +0 -1
  153. package/dist/config.d.ts.map +0 -1
  154. package/dist/config.js.map +0 -1
  155. package/dist/deploy-app.d.ts +0 -149
  156. package/dist/deploy-app.d.ts.map +0 -1
  157. package/dist/deploy-app.js.map +0 -1
  158. package/dist/index.d.ts +0 -11
  159. package/dist/index.d.ts.map +0 -1
  160. package/dist/index.js.map +0 -1
  161. package/dist/indexer-lookup.d.ts.map +0 -1
  162. package/dist/indexer-lookup.js.map +0 -1
  163. package/dist/localnet.d.ts.map +0 -1
  164. package/dist/localnet.js.map +0 -1
  165. package/dist/network-client.d.ts.map +0 -1
  166. package/dist/package.json +0 -20
  167. package/dist/transaction.d.ts +0 -152
  168. package/dist/transaction.d.ts.map +0 -1
  169. package/dist/transaction.js +0 -268
  170. package/dist/transaction.js.map +0 -1
  171. package/dist/transfer.d.ts +0 -24
  172. package/dist/transfer.d.ts.map +0 -1
  173. package/dist/transfer.js +0 -33
  174. package/dist/transfer.js.map +0 -1
  175. package/dist/types/algod.d.ts.map +0 -1
  176. package/dist/types/appspec.d.ts +0 -79
  177. package/dist/types/appspec.d.ts.map +0 -1
  178. package/dist/types/appspec.js.map +0 -1
  179. package/dist/types/indexer.d.ts +0 -314
  180. package/dist/types/indexer.d.ts.map +0 -1
  181. package/dist/types/indexer.js.map +0 -1
  182. package/dist/urlTokenBaseHTTPClient.d.ts.map +0 -1
  183. package/dist/urlTokenBaseHTTPClient.js.map +0 -1
  184. /package/{dist → types}/algo-http-client-with-retry.d.ts +0 -0
  185. /package/{dist/types → types}/algod.js +0 -0
  186. /package/{dist/types → types}/algod.js.map +0 -0
  187. /package/{dist → types}/urlTokenBaseHTTPClient.d.ts +0 -0
  188. /package/{dist → types}/urlTokenBaseHTTPClient.js +0 -0
package/app.d.ts ADDED
@@ -0,0 +1,153 @@
1
+ import algosdk, { ABIMethod, ABIMethodParams, ABIValue, Algodv2 } from 'algosdk';
2
+ import { ApplicationResponse, EvalDelta, PendingTransactionResponse, TealValue } from './types/algod';
3
+ import { ABIAppCallArgs, ABIReturn, AppCallArgs, AppCallParams, AppCallTransactionResult, AppCompilationResult, AppReference, AppState, BoxIdentifier, BoxName, BoxReference, BoxValueRequestParams, BoxValuesRequestParams, CompiledTeal, CreateAppParams, RawAppCallArgs, UpdateAppParams } from './types/app';
4
+ import { SendTransactionFrom } from './types/transaction';
5
+ /**
6
+ * Creates a smart contract app, returns the details of the created app.
7
+ * @param create The parameters to create the app with
8
+ * @param algod An algod client
9
+ * @returns The details of the created app, or the transaction to create it if `skipSending`
10
+ */
11
+ export declare function createApp(create: CreateAppParams, algod: Algodv2): Promise<Partial<AppCompilationResult> & AppCallTransactionResult & AppReference>;
12
+ /**
13
+ * Updates a smart contract app.
14
+ * @param update The parameters to update the app with
15
+ * @param algod An algod client
16
+ * @returns The transaction
17
+ */
18
+ export declare function updateApp(update: UpdateAppParams, algod: Algodv2): Promise<Partial<AppCompilationResult> & AppCallTransactionResult>;
19
+ /**
20
+ * Issues a call to a given app.
21
+ * @param call The call details.
22
+ * @param algod An algod client
23
+ * @returns The result of the call
24
+ */
25
+ export declare function callApp(call: AppCallParams, algod: Algodv2): Promise<AppCallTransactionResult>;
26
+ /**
27
+ * Returns any ABI return values for the given app call arguments and transaction confirmation.
28
+ * @param args The arguments that were used for the call
29
+ * @param confirmation The transaction confirmation from algod
30
+ * @returns The return value for the method call
31
+ */
32
+ export declare function getABIReturn(args?: AppCallArgs, confirmation?: PendingTransactionResponse): ABIReturn | undefined;
33
+ /**
34
+ * Returns the current global state values for the given app ID
35
+ * @param appId The ID of the app return global state for
36
+ * @param algod An algod client instance
37
+ * @returns The current global state
38
+ */
39
+ export declare function getAppGlobalState(appId: number, algod: Algodv2): Promise<AppState>;
40
+ /**
41
+ * Returns the current global state values for the given app ID and account
42
+ * @param appId The ID of the app return global state for
43
+ * @param account Either the string address of an account or an account object for the account to get local state for the given app
44
+ * @param algod An algod client instance
45
+ * @returns The current local state for the given (app, account) combination
46
+ */
47
+ export declare function getAppLocalState(appId: number, account: string | SendTransactionFrom, algod: Algodv2): Promise<AppState>;
48
+ /**
49
+ * Returns the names of the boxes for the given app.
50
+ * @param appId The ID of the app return box names for
51
+ * @param algod An algod client instance
52
+ * @returns The current box names
53
+ */
54
+ export declare function getAppBoxNames(appId: number, algod: Algodv2): Promise<BoxName[]>;
55
+ /**
56
+ * Returns the value of the given box name for the given app.
57
+ * @param appId The ID of the app return box names for
58
+ * @param boxName The name of the box to return either as a string, binary array or `BoxName`
59
+ * @param algod An algod client instance
60
+ * @returns The current box value as a byte array
61
+ */
62
+ export declare function getAppBoxValue(appId: number, boxName: string | Uint8Array | BoxName, algod: Algodv2): Promise<Uint8Array>;
63
+ /**
64
+ * Returns the value of the given box names for the given app.
65
+ * @param appId The ID of the app return box names for
66
+ * @param boxNames The names of the boxes to return either as a string, binary array or `BoxName`
67
+ * @param algod An algod client instance
68
+ * @returns The current box values as a byte array in the same order as the passed in box names
69
+ */
70
+ export declare function getAppBoxValues(appId: number, boxNames: (string | Uint8Array | BoxName)[], algod: Algodv2): Promise<Uint8Array[]>;
71
+ /**
72
+ * Returns the value of the given box name for the given app decoded based on the given ABI type.
73
+ * @param request The parameters for the box value request
74
+ * @param algod An algod client instance
75
+ * @returns The current box value as an ABI value
76
+ */
77
+ export declare function getAppBoxValueFromABIType(request: BoxValueRequestParams, algod: Algodv2): Promise<ABIValue>;
78
+ /**
79
+ * Returns the value of the given box names for the given app decoded based on the given ABI type.
80
+ * @param request The parameters for the box value request
81
+ * @param algod An algod client instance
82
+ * @returns The current box values as an ABI value in the same order as the passed in box names
83
+ */
84
+ export declare function getAppBoxValuesFromABIType(request: BoxValuesRequestParams, algod: Algodv2): Promise<ABIValue[]>;
85
+ /**
86
+ * Converts an array of global/local state values from the algod api to a more friendly
87
+ * generic object keyed by the UTF-8 value of the key.
88
+ * @param state A `global-state`, `local-state`, `global-state-deltas` or `local-state-deltas`
89
+ * @returns An object keyeed by the UTF-8 representation of the key with various parsings of the values
90
+ */
91
+ export declare function decodeAppState(state: {
92
+ key: string;
93
+ value: TealValue | EvalDelta;
94
+ }[]): AppState;
95
+ /**
96
+ * Returns the app args ready to load onto an app `Transaction` object
97
+ * @param args The app call args
98
+ * @returns The args ready to load into a `Transaction`
99
+ */
100
+ export declare function getAppArgsForTransaction(args?: RawAppCallArgs): {
101
+ accounts: string[] | undefined;
102
+ appArgs: Uint8Array[] | undefined;
103
+ boxes: algosdk.BoxReference[] | undefined;
104
+ foreignApps: number[] | undefined;
105
+ foreignAssets: number[] | undefined;
106
+ lease: Uint8Array | undefined;
107
+ } | undefined;
108
+ /**
109
+ * Returns the app args ready to load onto an ABI method call in `AtomicTransactionComposer`
110
+ * @param args The ABI app call args
111
+ * @param from The transaction signer
112
+ * @returns The parameters ready to pass into `addMethodCall` within AtomicTransactionComposer
113
+ */
114
+ export declare function getAppArgsForABICall(args: ABIAppCallArgs, from: SendTransactionFrom): Promise<{
115
+ method: algosdk.ABIMethod;
116
+ sender: string;
117
+ signer: algosdk.TransactionSigner;
118
+ boxes: algosdk.BoxReference[] | undefined;
119
+ lease: Uint8Array | undefined;
120
+ methodArgs: (string | number | bigint | boolean | Uint8Array | algosdk.ABIValue[] | algosdk.TransactionWithSigner)[];
121
+ rekeyTo: undefined;
122
+ }>;
123
+ /**
124
+ * Returns a `algosdk.BoxReference` given a `BoxIdentifier` or `BoxReference`.
125
+ * @param box The box to return a reference for
126
+ * @returns The box reference ready to pass into a `Transaction`
127
+ */
128
+ export declare function getBoxReference(box: BoxIdentifier | BoxReference | algosdk.BoxReference): algosdk.BoxReference;
129
+ /**
130
+ * Gets the current data for the given app from algod.
131
+ *
132
+ * @param appId The id of the app
133
+ * @param algod An algod client
134
+ * @returns The data about the app
135
+ */
136
+ export declare function getAppById(appId: number, algod: Algodv2): Promise<ApplicationResponse>;
137
+ /** @deprecated Use `algokit.getAppById` instead. */
138
+ export declare const getAppByIndex: typeof getAppById;
139
+ /**
140
+ * Compiles the given TEAL using algod and returns the result, including source map.
141
+ *
142
+ * @param algod An algod client
143
+ * @param tealCode The TEAL code
144
+ * @returns The information about the compiled file
145
+ */
146
+ export declare function compileTeal(tealCode: string, algod: Algodv2): Promise<CompiledTeal>;
147
+ /**
148
+ * Returns the encoded ABI spec for a given ABI Method
149
+ * @param method The method to return a signature for
150
+ * @returns The encoded ABI method spec e.g. `method_name(uint64,string)string`
151
+ */
152
+ export declare const getABIMethodSignature: (method: ABIMethodParams | ABIMethod) => string;
153
+ //# sourceMappingURL=app.d.ts.map
package/app.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}