@fuel-ts/account 0.93.0 → 0.94.1
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/README.md +9 -29
- package/dist/account.d.ts +2 -2
- package/dist/account.d.ts.map +1 -1
- package/dist/configs.d.ts +0 -2
- package/dist/configs.d.ts.map +1 -1
- package/dist/configs.global.js +0 -2
- package/dist/configs.global.js.map +1 -1
- package/dist/configs.js +0 -6
- package/dist/configs.js.map +1 -1
- package/dist/configs.mjs +0 -4
- package/dist/configs.mjs.map +1 -1
- package/dist/connectors/fuel-connector.d.ts.map +1 -1
- package/dist/connectors/fuel.d.ts.map +1 -1
- package/dist/connectors/utils/promises.d.ts.map +1 -1
- package/dist/index.global.js +1628 -930
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +978 -603
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +706 -343
- package/dist/index.mjs.map +1 -1
- package/dist/predicate/predicate.d.ts +15 -9
- package/dist/predicate/predicate.d.ts.map +1 -1
- package/dist/providers/__generated__/operations.d.ts +614 -1
- package/dist/providers/__generated__/operations.d.ts.map +1 -1
- package/dist/providers/fuel-graphql-subscriber.d.ts +2 -3
- package/dist/providers/fuel-graphql-subscriber.d.ts.map +1 -1
- package/dist/providers/provider.d.ts +12 -6
- package/dist/providers/provider.d.ts.map +1 -1
- package/dist/providers/resource-cache.d.ts +14 -0
- package/dist/providers/resource-cache.d.ts.map +1 -0
- package/dist/providers/transaction-request/blob-transaction-request.d.ts +48 -0
- package/dist/providers/transaction-request/blob-transaction-request.d.ts.map +1 -0
- package/dist/providers/transaction-request/index.d.ts +1 -0
- package/dist/providers/transaction-request/index.d.ts.map +1 -1
- package/dist/providers/transaction-request/transaction-request.d.ts +4 -3
- package/dist/providers/transaction-request/transaction-request.d.ts.map +1 -1
- package/dist/providers/transaction-request/types.d.ts +5 -2
- package/dist/providers/transaction-request/types.d.ts.map +1 -1
- package/dist/providers/transaction-request/utils.d.ts +9 -0
- package/dist/providers/transaction-request/utils.d.ts.map +1 -1
- package/dist/providers/transaction-response/transaction-response.d.ts +10 -5
- package/dist/providers/transaction-response/transaction-response.d.ts.map +1 -1
- package/dist/providers/transaction-summary/assemble-transaction-summary.d.ts +1 -1
- package/dist/providers/transaction-summary/assemble-transaction-summary.d.ts.map +1 -1
- package/dist/providers/transaction-summary/call.d.ts +4 -3
- package/dist/providers/transaction-summary/call.d.ts.map +1 -1
- package/dist/providers/transaction-summary/get-transaction-summary.d.ts.map +1 -1
- package/dist/providers/transaction-summary/input.d.ts +6 -1
- package/dist/providers/transaction-summary/input.d.ts.map +1 -1
- package/dist/providers/transaction-summary/operations.d.ts +4 -2
- package/dist/providers/transaction-summary/operations.d.ts.map +1 -1
- package/dist/providers/transaction-summary/types.d.ts +5 -2
- package/dist/providers/transaction-summary/types.d.ts.map +1 -1
- package/dist/providers/utils/gas.d.ts +6 -0
- package/dist/providers/utils/gas.d.ts.map +1 -1
- package/dist/test-utils/launchNode.d.ts +0 -18
- package/dist/test-utils/launchNode.d.ts.map +1 -1
- package/dist/test-utils/setup-test-provider-and-wallets.d.ts.map +1 -1
- package/dist/test-utils/test-asset-id.d.ts +8 -0
- package/dist/test-utils/test-asset-id.d.ts.map +1 -0
- package/dist/test-utils/test-message.d.ts +4 -2
- package/dist/test-utils/test-message.d.ts.map +1 -1
- package/dist/test-utils/wallet-config.d.ts +3 -3
- package/dist/test-utils/wallet-config.d.ts.map +1 -1
- package/dist/test-utils.d.ts +1 -3
- package/dist/test-utils.d.ts.map +1 -1
- package/dist/test-utils.global.js +40829 -40167
- package/dist/test-utils.global.js.map +1 -1
- package/dist/test-utils.js +1500 -1200
- package/dist/test-utils.js.map +1 -1
- package/dist/test-utils.mjs +1209 -910
- package/dist/test-utils.mjs.map +1 -1
- package/dist/wallet/keystore-wallet.d.ts.map +1 -1
- package/package.json +17 -19
- package/dist/providers/memory-cache.d.ts +0 -11
- package/dist/providers/memory-cache.d.ts.map +0 -1
- package/dist/test-utils/asset-id.d.ts +0 -8
- package/dist/test-utils/asset-id.d.ts.map +0 -1
- package/dist/test-utils/generateTestWallet.d.ts +0 -4
- package/dist/test-utils/generateTestWallet.d.ts.map +0 -1
- package/dist/test-utils/seedTestWallet.d.ts +0 -4
- package/dist/test-utils/seedTestWallet.d.ts.map +0 -1
package/dist/index.global.js
CHANGED
@@ -20390,9 +20390,9 @@ spurious results.`);
|
|
20390
20390
|
}
|
20391
20391
|
});
|
20392
20392
|
|
20393
|
-
// ../../node_modules/.pnpm/@fuels+vm-asm@0.
|
20393
|
+
// ../../node_modules/.pnpm/@fuels+vm-asm@0.56.0/node_modules/@fuels/vm-asm/dist/node/index.cjs
|
20394
20394
|
var require_node = __commonJS({
|
20395
|
-
"../../node_modules/.pnpm/@fuels+vm-asm@0.
|
20395
|
+
"../../node_modules/.pnpm/@fuels+vm-asm@0.56.0/node_modules/@fuels/vm-asm/dist/node/index.cjs"(exports) {
|
20396
20396
|
"use strict";
|
20397
20397
|
var wasm$1;
|
20398
20398
|
var cachedTextDecoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
|
@@ -20606,8 +20606,8 @@ spurious results.`);
|
|
20606
20606
|
const ret3 = wasm$1.cb(dst);
|
20607
20607
|
return Instruction.__wrap(ret3);
|
20608
20608
|
}
|
20609
|
-
function ldc(contract_id_addr, offset, len) {
|
20610
|
-
const ret3 = wasm$1.ldc(contract_id_addr, offset, len);
|
20609
|
+
function ldc(contract_id_addr, offset, len, mode) {
|
20610
|
+
const ret3 = wasm$1.ldc(contract_id_addr, offset, len, mode);
|
20611
20611
|
return Instruction.__wrap(ret3);
|
20612
20612
|
}
|
20613
20613
|
function log(a, b, c, d) {
|
@@ -20662,8 +20662,8 @@ spurious results.`);
|
|
20662
20662
|
const ret3 = wasm$1.ecr1(dst_addr, sig_addr, msg_hash_addr);
|
20663
20663
|
return Instruction.__wrap(ret3);
|
20664
20664
|
}
|
20665
|
-
function ed19(pub_key_addr, sig_addr,
|
20666
|
-
const ret3 = wasm$1.ed19(pub_key_addr, sig_addr,
|
20665
|
+
function ed19(pub_key_addr, sig_addr, msg_addr, msg_len) {
|
20666
|
+
const ret3 = wasm$1.ed19(pub_key_addr, sig_addr, msg_addr, msg_len);
|
20667
20667
|
return Instruction.__wrap(ret3);
|
20668
20668
|
}
|
20669
20669
|
function k256(dst_addr, src_addr, len) {
|
@@ -20910,6 +20910,14 @@ spurious results.`);
|
|
20910
20910
|
const ret3 = wasm$1.ecal(a, b, c, d);
|
20911
20911
|
return Instruction.__wrap(ret3);
|
20912
20912
|
}
|
20913
|
+
function bsiz(dst, blob_id_ptr) {
|
20914
|
+
const ret3 = wasm$1.bsiz(dst, blob_id_ptr);
|
20915
|
+
return Instruction.__wrap(ret3);
|
20916
|
+
}
|
20917
|
+
function bldd(dst_ptr, blob_id_ptr, offset, len) {
|
20918
|
+
const ret3 = wasm$1.bldd(dst_ptr, blob_id_ptr, offset, len);
|
20919
|
+
return Instruction.__wrap(ret3);
|
20920
|
+
}
|
20913
20921
|
var cachedInt32Memory0 = null;
|
20914
20922
|
function getInt32Memory0() {
|
20915
20923
|
if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) {
|
@@ -20921,643 +20929,695 @@ spurious results.`);
|
|
20921
20929
|
ptr = ptr >>> 0;
|
20922
20930
|
return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);
|
20923
20931
|
}
|
20924
|
-
var
|
20932
|
+
var GMArgs = Object.freeze({
|
20925
20933
|
/**
|
20926
|
-
*r"
|
20934
|
+
*r" Get if caller is external.
|
20927
20935
|
*/
|
20928
|
-
|
20929
|
-
"1": "
|
20936
|
+
IsCallerExternal: 1,
|
20937
|
+
"1": "IsCallerExternal",
|
20930
20938
|
/**
|
20931
|
-
*r"
|
20939
|
+
*r" Get caller's contract ID.
|
20932
20940
|
*/
|
20933
|
-
|
20934
|
-
"2": "
|
20941
|
+
GetCaller: 2,
|
20942
|
+
"2": "GetCaller",
|
20935
20943
|
/**
|
20936
|
-
*r"
|
20944
|
+
*r" Get index of current predicate.
|
20937
20945
|
*/
|
20938
|
-
|
20939
|
-
"3": "
|
20946
|
+
GetVerifyingPredicate: 3,
|
20947
|
+
"3": "GetVerifyingPredicate",
|
20940
20948
|
/**
|
20941
|
-
*r"
|
20949
|
+
*r" Get the Chain ID this VM is operating within
|
20942
20950
|
*/
|
20943
|
-
|
20944
|
-
"4": "
|
20951
|
+
GetChainId: 4,
|
20952
|
+
"4": "GetChainId",
|
20945
20953
|
/**
|
20946
|
-
*r"
|
20954
|
+
*r" Get memory address where the transaction is located
|
20947
20955
|
*/
|
20948
|
-
|
20949
|
-
"5": "
|
20956
|
+
TxStart: 5,
|
20957
|
+
"5": "TxStart",
|
20950
20958
|
/**
|
20951
|
-
*r"
|
20959
|
+
*r" Get memory address of base asset ID
|
20952
20960
|
*/
|
20953
|
-
|
20954
|
-
"6": "
|
20961
|
+
BaseAssetId: 6,
|
20962
|
+
"6": "BaseAssetId"
|
20963
|
+
});
|
20964
|
+
var CompareMode = Object.freeze({
|
20955
20965
|
/**
|
20956
|
-
*
|
20966
|
+
* Equality (`==`)
|
20957
20967
|
*/
|
20958
|
-
|
20959
|
-
"
|
20968
|
+
EQ: 0,
|
20969
|
+
"0": "EQ",
|
20960
20970
|
/**
|
20961
|
-
*
|
20971
|
+
* Inequality (`!=`)
|
20962
20972
|
*/
|
20963
|
-
|
20964
|
-
"
|
20973
|
+
NE: 1,
|
20974
|
+
"1": "NE",
|
20965
20975
|
/**
|
20966
|
-
*
|
20976
|
+
* Less than (`<`)
|
20967
20977
|
*/
|
20968
|
-
|
20969
|
-
"
|
20978
|
+
LT: 2,
|
20979
|
+
"2": "LT",
|
20970
20980
|
/**
|
20971
|
-
*
|
20981
|
+
* Greater than (`>`)
|
20972
20982
|
*/
|
20973
|
-
|
20974
|
-
"
|
20983
|
+
GT: 3,
|
20984
|
+
"3": "GT",
|
20975
20985
|
/**
|
20976
|
-
*
|
20986
|
+
* Less than or equals (`>=`)
|
20977
20987
|
*/
|
20978
|
-
|
20979
|
-
"
|
20988
|
+
LTE: 4,
|
20989
|
+
"4": "LTE",
|
20980
20990
|
/**
|
20981
|
-
*
|
20991
|
+
* Greater than or equals (`>=`)
|
20982
20992
|
*/
|
20983
|
-
|
20984
|
-
"
|
20993
|
+
GTE: 5,
|
20994
|
+
"5": "GTE",
|
20985
20995
|
/**
|
20986
|
-
*
|
20996
|
+
* Number of leading zeroes in lhs (`lzcnt`) (discards rhs)
|
20987
20997
|
*/
|
20988
|
-
|
20989
|
-
"
|
20998
|
+
LZC: 6,
|
20999
|
+
"6": "LZC"
|
21000
|
+
});
|
21001
|
+
var PanicReason = Object.freeze({
|
20990
21002
|
/**
|
20991
|
-
*r"
|
21003
|
+
*r" The byte can't be mapped to any known `PanicReason`.
|
20992
21004
|
*/
|
20993
|
-
|
20994
|
-
"
|
21005
|
+
UnknownPanicReason: 0,
|
21006
|
+
"0": "UnknownPanicReason",
|
20995
21007
|
/**
|
20996
|
-
*r"
|
21008
|
+
*r" Found `RVRT` instruction.
|
20997
21009
|
*/
|
20998
|
-
|
20999
|
-
"
|
21010
|
+
Revert: 1,
|
21011
|
+
"1": "Revert",
|
21000
21012
|
/**
|
21001
|
-
*r"
|
21013
|
+
*r" Execution ran out of gas.
|
21002
21014
|
*/
|
21003
|
-
|
21004
|
-
"
|
21015
|
+
OutOfGas: 2,
|
21016
|
+
"2": "OutOfGas",
|
21005
21017
|
/**
|
21006
|
-
*r"
|
21018
|
+
*r" The transaction validity is violated.
|
21007
21019
|
*/
|
21008
|
-
|
21009
|
-
"
|
21020
|
+
TransactionValidity: 3,
|
21021
|
+
"3": "TransactionValidity",
|
21010
21022
|
/**
|
21011
|
-
*r"
|
21023
|
+
*r" Attempt to write outside interpreter memory boundaries.
|
21012
21024
|
*/
|
21013
|
-
|
21014
|
-
"
|
21025
|
+
MemoryOverflow: 4,
|
21026
|
+
"4": "MemoryOverflow",
|
21015
21027
|
/**
|
21016
|
-
*r"
|
21028
|
+
*r" Overflow while executing arithmetic operation.
|
21029
|
+
*r" These errors are ignored using the WRAPPING flag.
|
21017
21030
|
*/
|
21018
|
-
|
21019
|
-
"
|
21031
|
+
ArithmeticOverflow: 5,
|
21032
|
+
"5": "ArithmeticOverflow",
|
21020
21033
|
/**
|
21021
|
-
*r"
|
21034
|
+
*r" Designed contract was not found in the storage.
|
21022
21035
|
*/
|
21023
|
-
|
21024
|
-
"
|
21036
|
+
ContractNotFound: 6,
|
21037
|
+
"6": "ContractNotFound",
|
21025
21038
|
/**
|
21026
|
-
*r"
|
21039
|
+
*r" Memory ownership rules are violated.
|
21027
21040
|
*/
|
21028
|
-
|
21029
|
-
"
|
21041
|
+
MemoryOwnership: 7,
|
21042
|
+
"7": "MemoryOwnership",
|
21030
21043
|
/**
|
21031
|
-
*r"
|
21044
|
+
*r" The asset ID balance isn't enough for the instruction.
|
21032
21045
|
*/
|
21033
|
-
|
21034
|
-
"
|
21046
|
+
NotEnoughBalance: 8,
|
21047
|
+
"8": "NotEnoughBalance",
|
21035
21048
|
/**
|
21036
|
-
*r"
|
21049
|
+
*r" The interpreter is expected to be in internal context.
|
21037
21050
|
*/
|
21038
|
-
|
21039
|
-
"
|
21051
|
+
ExpectedInternalContext: 9,
|
21052
|
+
"9": "ExpectedInternalContext",
|
21040
21053
|
/**
|
21041
|
-
*r"
|
21054
|
+
*r" The queried asset ID was not found in the state.
|
21042
21055
|
*/
|
21043
|
-
|
21044
|
-
"
|
21056
|
+
AssetIdNotFound: 10,
|
21057
|
+
"10": "AssetIdNotFound",
|
21045
21058
|
/**
|
21046
|
-
*r"
|
21059
|
+
*r" The provided input is not found in the transaction.
|
21047
21060
|
*/
|
21048
|
-
|
21049
|
-
"
|
21061
|
+
InputNotFound: 11,
|
21062
|
+
"11": "InputNotFound",
|
21050
21063
|
/**
|
21051
|
-
*r"
|
21064
|
+
*r" The provided output is not found in the transaction.
|
21052
21065
|
*/
|
21053
|
-
|
21054
|
-
"
|
21066
|
+
OutputNotFound: 12,
|
21067
|
+
"12": "OutputNotFound",
|
21055
21068
|
/**
|
21056
|
-
*r"
|
21069
|
+
*r" The provided witness is not found in the transaction.
|
21057
21070
|
*/
|
21058
|
-
|
21059
|
-
"
|
21071
|
+
WitnessNotFound: 13,
|
21072
|
+
"13": "WitnessNotFound",
|
21060
21073
|
/**
|
21061
|
-
*r"
|
21074
|
+
*r" The transaction maturity is not valid for this request.
|
21062
21075
|
*/
|
21063
|
-
|
21064
|
-
"
|
21076
|
+
TransactionMaturity: 14,
|
21077
|
+
"14": "TransactionMaturity",
|
21065
21078
|
/**
|
21066
|
-
*r"
|
21079
|
+
*r" The metadata identifier is invalid.
|
21067
21080
|
*/
|
21068
|
-
|
21069
|
-
"
|
21081
|
+
InvalidMetadataIdentifier: 15,
|
21082
|
+
"15": "InvalidMetadataIdentifier",
|
21070
21083
|
/**
|
21071
|
-
*r"
|
21084
|
+
*r" The call structure is not valid.
|
21072
21085
|
*/
|
21073
|
-
|
21074
|
-
"
|
21086
|
+
MalformedCallStructure: 16,
|
21087
|
+
"16": "MalformedCallStructure",
|
21075
21088
|
/**
|
21076
|
-
*r"
|
21089
|
+
*r" The provided register does not allow write operations.
|
21077
21090
|
*/
|
21078
|
-
|
21079
|
-
"
|
21091
|
+
ReservedRegisterNotWritable: 17,
|
21092
|
+
"17": "ReservedRegisterNotWritable",
|
21080
21093
|
/**
|
21081
|
-
*r"
|
21094
|
+
*r" The execution resulted in an erroneous state of the interpreter.
|
21082
21095
|
*/
|
21083
|
-
|
21084
|
-
"
|
21096
|
+
InvalidFlags: 18,
|
21097
|
+
"18": "InvalidFlags",
|
21085
21098
|
/**
|
21086
|
-
*r"
|
21099
|
+
*r" The provided immediate value is not valid for this instruction.
|
21087
21100
|
*/
|
21088
|
-
|
21089
|
-
"
|
21101
|
+
InvalidImmediateValue: 19,
|
21102
|
+
"19": "InvalidImmediateValue",
|
21090
21103
|
/**
|
21091
|
-
*r"
|
21104
|
+
*r" The provided transaction input is not of type `Coin`.
|
21092
21105
|
*/
|
21093
|
-
|
21094
|
-
"
|
21106
|
+
ExpectedCoinInput: 20,
|
21107
|
+
"20": "ExpectedCoinInput",
|
21095
21108
|
/**
|
21096
|
-
*r"
|
21109
|
+
*r" `ECAL` instruction failed.
|
21097
21110
|
*/
|
21098
|
-
|
21099
|
-
"
|
21111
|
+
EcalError: 21,
|
21112
|
+
"21": "EcalError",
|
21100
21113
|
/**
|
21101
|
-
*r"
|
21114
|
+
*r" Two segments of the interpreter memory should not intersect for write operations.
|
21102
21115
|
*/
|
21103
|
-
|
21104
|
-
"
|
21116
|
+
MemoryWriteOverlap: 22,
|
21117
|
+
"22": "MemoryWriteOverlap",
|
21105
21118
|
/**
|
21106
|
-
*r"
|
21119
|
+
*r" The requested contract is not listed in the transaction inputs.
|
21107
21120
|
*/
|
21108
|
-
|
21109
|
-
"
|
21121
|
+
ContractNotInInputs: 23,
|
21122
|
+
"23": "ContractNotInInputs",
|
21110
21123
|
/**
|
21111
|
-
*r"
|
21124
|
+
*r" The internal asset ID balance overflowed with the provided instruction.
|
21112
21125
|
*/
|
21113
|
-
|
21114
|
-
"
|
21126
|
+
InternalBalanceOverflow: 24,
|
21127
|
+
"24": "InternalBalanceOverflow",
|
21115
21128
|
/**
|
21116
|
-
*r"
|
21129
|
+
*r" The maximum allowed contract size is violated.
|
21117
21130
|
*/
|
21118
|
-
|
21119
|
-
"
|
21131
|
+
ContractMaxSize: 25,
|
21132
|
+
"25": "ContractMaxSize",
|
21120
21133
|
/**
|
21121
|
-
*r"
|
21134
|
+
*r" This instruction expects the stack area to be unallocated for this call.
|
21122
21135
|
*/
|
21123
|
-
|
21124
|
-
"
|
21136
|
+
ExpectedUnallocatedStack: 26,
|
21137
|
+
"26": "ExpectedUnallocatedStack",
|
21125
21138
|
/**
|
21126
|
-
*r"
|
21139
|
+
*r" The maximum allowed number of static contracts was reached for this transaction.
|
21127
21140
|
*/
|
21128
|
-
|
21129
|
-
"
|
21130
|
-
/**
|
21131
|
-
*r"
|
21141
|
+
MaxStaticContractsReached: 27,
|
21142
|
+
"27": "MaxStaticContractsReached",
|
21143
|
+
/**
|
21144
|
+
*r" The requested transfer amount cannot be zero.
|
21132
21145
|
*/
|
21133
|
-
|
21134
|
-
"
|
21146
|
+
TransferAmountCannotBeZero: 28,
|
21147
|
+
"28": "TransferAmountCannotBeZero",
|
21135
21148
|
/**
|
21136
|
-
*r"
|
21149
|
+
*r" The provided transaction output should be of type `Variable`.
|
21137
21150
|
*/
|
21138
|
-
|
21139
|
-
"
|
21151
|
+
ExpectedOutputVariable: 29,
|
21152
|
+
"29": "ExpectedOutputVariable",
|
21140
21153
|
/**
|
21141
|
-
*r"
|
21154
|
+
*r" The expected context of the stack parent is internal.
|
21142
21155
|
*/
|
21143
|
-
|
21144
|
-
"
|
21156
|
+
ExpectedParentInternalContext: 30,
|
21157
|
+
"30": "ExpectedParentInternalContext",
|
21145
21158
|
/**
|
21146
|
-
*r"
|
21159
|
+
*r" The predicate returned non `1`. The `1` means successful verification
|
21160
|
+
*r" of the predicate, all other values means unsuccessful.
|
21147
21161
|
*/
|
21148
|
-
|
21149
|
-
"
|
21162
|
+
PredicateReturnedNonOne: 31,
|
21163
|
+
"31": "PredicateReturnedNonOne",
|
21150
21164
|
/**
|
21151
|
-
*r"
|
21165
|
+
*r" The contract ID is already deployed and can't be overwritten.
|
21152
21166
|
*/
|
21153
|
-
|
21154
|
-
"
|
21167
|
+
ContractIdAlreadyDeployed: 32,
|
21168
|
+
"32": "ContractIdAlreadyDeployed",
|
21155
21169
|
/**
|
21156
|
-
*r"
|
21170
|
+
*r" The loaded contract mismatch expectations.
|
21157
21171
|
*/
|
21158
|
-
|
21159
|
-
"
|
21172
|
+
ContractMismatch: 33,
|
21173
|
+
"33": "ContractMismatch",
|
21160
21174
|
/**
|
21161
|
-
*r"
|
21175
|
+
*r" Attempting to send message data longer than `MAX_MESSAGE_DATA_LENGTH`
|
21162
21176
|
*/
|
21163
|
-
|
21164
|
-
"
|
21177
|
+
MessageDataTooLong: 34,
|
21178
|
+
"34": "MessageDataTooLong",
|
21165
21179
|
/**
|
21166
|
-
*r"
|
21180
|
+
*r" Mathematically invalid arguments where given to an arithmetic instruction.
|
21181
|
+
*r" For instance, division by zero produces this.
|
21182
|
+
*r" These errors are ignored using the UNSAFEMATH flag.
|
21167
21183
|
*/
|
21168
|
-
|
21169
|
-
"
|
21184
|
+
ArithmeticError: 35,
|
21185
|
+
"35": "ArithmeticError",
|
21170
21186
|
/**
|
21171
|
-
*r"
|
21187
|
+
*r" The contract instruction is not allowed in predicates.
|
21172
21188
|
*/
|
21173
|
-
|
21174
|
-
"
|
21189
|
+
ContractInstructionNotAllowed: 36,
|
21190
|
+
"36": "ContractInstructionNotAllowed",
|
21175
21191
|
/**
|
21176
|
-
*r"
|
21192
|
+
*r" Transfer of zero coins is not allowed.
|
21177
21193
|
*/
|
21178
|
-
|
21179
|
-
"
|
21194
|
+
TransferZeroCoins: 37,
|
21195
|
+
"37": "TransferZeroCoins",
|
21180
21196
|
/**
|
21181
|
-
*r"
|
21197
|
+
*r" Attempted to execute an invalid instruction
|
21182
21198
|
*/
|
21183
|
-
|
21184
|
-
"
|
21199
|
+
InvalidInstruction: 38,
|
21200
|
+
"38": "InvalidInstruction",
|
21185
21201
|
/**
|
21186
|
-
*r"
|
21202
|
+
*r" Memory outside $is..$ssp range is not executable
|
21187
21203
|
*/
|
21188
|
-
|
21189
|
-
"
|
21204
|
+
MemoryNotExecutable: 39,
|
21205
|
+
"39": "MemoryNotExecutable",
|
21190
21206
|
/**
|
21191
|
-
*r"
|
21207
|
+
*r" The policy is not set.
|
21192
21208
|
*/
|
21193
|
-
|
21194
|
-
"
|
21209
|
+
PolicyIsNotSet: 40,
|
21210
|
+
"40": "PolicyIsNotSet",
|
21195
21211
|
/**
|
21196
|
-
*r"
|
21212
|
+
*r" The policy is not found across policies.
|
21197
21213
|
*/
|
21198
|
-
|
21199
|
-
"
|
21214
|
+
PolicyNotFound: 41,
|
21215
|
+
"41": "PolicyNotFound",
|
21200
21216
|
/**
|
21201
|
-
*r"
|
21217
|
+
*r" Receipt context is full
|
21202
21218
|
*/
|
21203
|
-
|
21204
|
-
"
|
21219
|
+
TooManyReceipts: 42,
|
21220
|
+
"42": "TooManyReceipts",
|
21205
21221
|
/**
|
21206
|
-
*r"
|
21222
|
+
*r" Balance of a contract overflowed
|
21207
21223
|
*/
|
21208
|
-
|
21209
|
-
"
|
21224
|
+
BalanceOverflow: 43,
|
21225
|
+
"43": "BalanceOverflow",
|
21210
21226
|
/**
|
21211
|
-
*r"
|
21227
|
+
*r" Block height value is invalid, typically because it is too large
|
21212
21228
|
*/
|
21213
|
-
|
21214
|
-
"
|
21229
|
+
InvalidBlockHeight: 44,
|
21230
|
+
"44": "InvalidBlockHeight",
|
21215
21231
|
/**
|
21216
|
-
*r"
|
21232
|
+
*r" Attempt to use sequential memory instructions with too large slot count,
|
21233
|
+
*r" typically because it cannot fit into usize
|
21217
21234
|
*/
|
21218
|
-
|
21219
|
-
"
|
21235
|
+
TooManySlots: 45,
|
21236
|
+
"45": "TooManySlots",
|
21220
21237
|
/**
|
21221
|
-
*r"
|
21238
|
+
*r" Caller of this internal context is also expected to be internal,
|
21239
|
+
*r" i.e. $fp->$fp must be non-zero.
|
21222
21240
|
*/
|
21223
|
-
|
21224
|
-
"
|
21241
|
+
ExpectedNestedCaller: 46,
|
21242
|
+
"46": "ExpectedNestedCaller",
|
21225
21243
|
/**
|
21226
|
-
*r"
|
21244
|
+
*r" During memory growth, the stack overlapped with the heap
|
21227
21245
|
*/
|
21228
|
-
|
21229
|
-
"
|
21246
|
+
MemoryGrowthOverlap: 47,
|
21247
|
+
"47": "MemoryGrowthOverlap",
|
21230
21248
|
/**
|
21231
|
-
*r"
|
21249
|
+
*r" Attempting to read or write uninitialized memory.
|
21250
|
+
*r" Also occurs when boundary crosses from stack to heap.
|
21232
21251
|
*/
|
21233
|
-
|
21234
|
-
"
|
21252
|
+
UninitalizedMemoryAccess: 48,
|
21253
|
+
"48": "UninitalizedMemoryAccess",
|
21235
21254
|
/**
|
21236
|
-
*r"
|
21255
|
+
*r" Overriding consensus parameters is not allowed.
|
21237
21256
|
*/
|
21238
|
-
|
21239
|
-
"
|
21257
|
+
OverridingConsensusParameters: 49,
|
21258
|
+
"49": "OverridingConsensusParameters",
|
21240
21259
|
/**
|
21241
|
-
*r"
|
21260
|
+
*r" The storage doesn't know about the hash of the state transition bytecode.
|
21242
21261
|
*/
|
21243
|
-
|
21244
|
-
"
|
21262
|
+
UnknownStateTransactionBytecodeRoot: 50,
|
21263
|
+
"50": "UnknownStateTransactionBytecodeRoot",
|
21245
21264
|
/**
|
21246
|
-
*r"
|
21265
|
+
*r" Overriding the state transition bytecode is not allowed.
|
21247
21266
|
*/
|
21248
|
-
|
21249
|
-
"
|
21267
|
+
OverridingStateTransactionBytecode: 51,
|
21268
|
+
"51": "OverridingStateTransactionBytecode",
|
21269
|
+
/**
|
21270
|
+
*r" The bytecode is already uploaded and cannot be uploaded again.
|
21271
|
+
*/
|
21272
|
+
BytecodeAlreadyUploaded: 52,
|
21273
|
+
"52": "BytecodeAlreadyUploaded",
|
21274
|
+
/**
|
21275
|
+
*r" The part of the bytecode is not sequentially connected to the previous parts.
|
21276
|
+
*/
|
21277
|
+
ThePartIsNotSequentiallyConnected: 53,
|
21278
|
+
"53": "ThePartIsNotSequentiallyConnected",
|
21279
|
+
/**
|
21280
|
+
*r" The requested blob is not found.
|
21281
|
+
*/
|
21282
|
+
BlobNotFound: 54,
|
21283
|
+
"54": "BlobNotFound",
|
21284
|
+
/**
|
21285
|
+
*r" The blob was already
|
21286
|
+
*/
|
21287
|
+
BlobIdAlreadyUploaded: 55,
|
21288
|
+
"55": "BlobIdAlreadyUploaded",
|
21289
|
+
/**
|
21290
|
+
*r" Active gas costs do not define the cost for this instruction.
|
21291
|
+
*/
|
21292
|
+
GasCostNotDefined: 56,
|
21293
|
+
"56": "GasCostNotDefined"
|
21250
21294
|
});
|
21251
|
-
var
|
21295
|
+
var GTFArgs2 = Object.freeze({
|
21252
21296
|
/**
|
21253
|
-
*r"
|
21297
|
+
*r" Set `$rA` to `tx.type`
|
21254
21298
|
*/
|
21255
|
-
|
21256
|
-
"
|
21299
|
+
Type: 1,
|
21300
|
+
"1": "Type",
|
21257
21301
|
/**
|
21258
|
-
*r"
|
21302
|
+
*r" Set `$rA` to `tx.scriptGasLimit`
|
21259
21303
|
*/
|
21260
|
-
|
21261
|
-
"
|
21304
|
+
ScriptGasLimit: 2,
|
21305
|
+
"2": "ScriptGasLimit",
|
21262
21306
|
/**
|
21263
|
-
*r"
|
21307
|
+
*r" Set `$rA` to `tx.scriptLength`
|
21264
21308
|
*/
|
21265
|
-
|
21266
|
-
"
|
21309
|
+
ScriptLength: 3,
|
21310
|
+
"3": "ScriptLength",
|
21267
21311
|
/**
|
21268
|
-
*r"
|
21312
|
+
*r" Set `$rA` to `tx.scriptDataLength`
|
21269
21313
|
*/
|
21270
|
-
|
21271
|
-
"
|
21314
|
+
ScriptDataLength: 4,
|
21315
|
+
"4": "ScriptDataLength",
|
21272
21316
|
/**
|
21273
|
-
*r"
|
21317
|
+
*r" Set `$rA` to `tx.inputsCount`
|
21274
21318
|
*/
|
21275
|
-
|
21276
|
-
"
|
21319
|
+
ScriptInputsCount: 5,
|
21320
|
+
"5": "ScriptInputsCount",
|
21277
21321
|
/**
|
21278
|
-
*r"
|
21279
|
-
*r" These errors are ignored using the WRAPPING flag.
|
21322
|
+
*r" Set `$rA` to `tx.outputsCount`
|
21280
21323
|
*/
|
21281
|
-
|
21282
|
-
"
|
21324
|
+
ScriptOutputsCount: 6,
|
21325
|
+
"6": "ScriptOutputsCount",
|
21283
21326
|
/**
|
21284
|
-
*r"
|
21327
|
+
*r" Set `$rA` to `tx.witnessesCount`
|
21285
21328
|
*/
|
21286
|
-
|
21287
|
-
"
|
21329
|
+
ScriptWitnessesCount: 7,
|
21330
|
+
"7": "ScriptWitnessesCount",
|
21288
21331
|
/**
|
21289
|
-
*r" Memory
|
21332
|
+
*r" Set `$rA` to `Memory address of tx.script`
|
21290
21333
|
*/
|
21291
|
-
|
21292
|
-
"
|
21334
|
+
Script: 9,
|
21335
|
+
"9": "Script",
|
21293
21336
|
/**
|
21294
|
-
*r"
|
21337
|
+
*r" Set `$rA` to `Memory address of tx.scriptData`
|
21295
21338
|
*/
|
21296
|
-
|
21297
|
-
"
|
21339
|
+
ScriptData: 10,
|
21340
|
+
"10": "ScriptData",
|
21298
21341
|
/**
|
21299
|
-
*r"
|
21342
|
+
*r" Set `$rA` to `Memory address of tx.inputs[$rB]`
|
21300
21343
|
*/
|
21301
|
-
|
21302
|
-
"
|
21344
|
+
ScriptInputAtIndex: 11,
|
21345
|
+
"11": "ScriptInputAtIndex",
|
21303
21346
|
/**
|
21304
|
-
*r"
|
21347
|
+
*r" Set `$rA` to `Memory address of t.outputs[$rB]`
|
21305
21348
|
*/
|
21306
|
-
|
21307
|
-
"
|
21349
|
+
ScriptOutputAtIndex: 12,
|
21350
|
+
"12": "ScriptOutputAtIndex",
|
21308
21351
|
/**
|
21309
|
-
*r"
|
21352
|
+
*r" Set `$rA` to `Memory address of tx.witnesses[$rB]`
|
21310
21353
|
*/
|
21311
|
-
|
21312
|
-
"
|
21354
|
+
ScriptWitnessAtIndex: 13,
|
21355
|
+
"13": "ScriptWitnessAtIndex",
|
21313
21356
|
/**
|
21314
|
-
*r"
|
21357
|
+
*r" Set `$rA` to size of the transaction in memory, in bytes
|
21315
21358
|
*/
|
21316
|
-
|
21317
|
-
"
|
21359
|
+
TxLength: 14,
|
21360
|
+
"14": "TxLength",
|
21318
21361
|
/**
|
21319
|
-
*r"
|
21362
|
+
*r" Set `$rA` to `tx.bytecodeWitnessIndex`
|
21320
21363
|
*/
|
21321
|
-
|
21322
|
-
"
|
21364
|
+
CreateBytecodeWitnessIndex: 257,
|
21365
|
+
"257": "CreateBytecodeWitnessIndex",
|
21323
21366
|
/**
|
21324
|
-
*r"
|
21367
|
+
*r" Set `$rA` to `tx.storageSlotsCount`
|
21325
21368
|
*/
|
21326
|
-
|
21327
|
-
"
|
21369
|
+
CreateStorageSlotsCount: 258,
|
21370
|
+
"258": "CreateStorageSlotsCount",
|
21328
21371
|
/**
|
21329
|
-
*r"
|
21372
|
+
*r" Set `$rA` to `tx.inputsCount`
|
21330
21373
|
*/
|
21331
|
-
|
21332
|
-
"
|
21374
|
+
CreateInputsCount: 259,
|
21375
|
+
"259": "CreateInputsCount",
|
21333
21376
|
/**
|
21334
|
-
*r"
|
21377
|
+
*r" Set `$rA` to `tx.outputsCount`
|
21335
21378
|
*/
|
21336
|
-
|
21337
|
-
"
|
21379
|
+
CreateOutputsCount: 260,
|
21380
|
+
"260": "CreateOutputsCount",
|
21338
21381
|
/**
|
21339
|
-
*r"
|
21382
|
+
*r" Set `$rA` to `tx.witnessesCount`
|
21340
21383
|
*/
|
21341
|
-
|
21342
|
-
"
|
21384
|
+
CreateWitnessesCount: 261,
|
21385
|
+
"261": "CreateWitnessesCount",
|
21343
21386
|
/**
|
21344
|
-
*r"
|
21387
|
+
*r" Set `$rA` to `Memory address of tx.salt`
|
21345
21388
|
*/
|
21346
|
-
|
21347
|
-
"
|
21389
|
+
CreateSalt: 262,
|
21390
|
+
"262": "CreateSalt",
|
21348
21391
|
/**
|
21349
|
-
*r"
|
21392
|
+
*r" Set `$rA` to `Memory address of tx.storageSlots[$rB]`
|
21350
21393
|
*/
|
21351
|
-
|
21352
|
-
"
|
21394
|
+
CreateStorageSlotAtIndex: 263,
|
21395
|
+
"263": "CreateStorageSlotAtIndex",
|
21353
21396
|
/**
|
21354
|
-
*r"
|
21397
|
+
*r" Set `$rA` to `Memory address of tx.inputs[$rB]`
|
21355
21398
|
*/
|
21356
|
-
|
21357
|
-
"
|
21399
|
+
CreateInputAtIndex: 264,
|
21400
|
+
"264": "CreateInputAtIndex",
|
21358
21401
|
/**
|
21359
|
-
*r" `
|
21402
|
+
*r" Set `$rA` to `Memory address of t.outputs[$rB]`
|
21360
21403
|
*/
|
21361
|
-
|
21362
|
-
"
|
21404
|
+
CreateOutputAtIndex: 265,
|
21405
|
+
"265": "CreateOutputAtIndex",
|
21363
21406
|
/**
|
21364
|
-
*r"
|
21407
|
+
*r" Set `$rA` to `Memory address of tx.witnesses[$rB]`
|
21365
21408
|
*/
|
21366
|
-
|
21367
|
-
"
|
21409
|
+
CreateWitnessAtIndex: 266,
|
21410
|
+
"266": "CreateWitnessAtIndex",
|
21368
21411
|
/**
|
21369
|
-
*r"
|
21412
|
+
*r" Set `$rA` to `tx.inputs[$rB].type`
|
21370
21413
|
*/
|
21371
|
-
|
21372
|
-
"
|
21414
|
+
InputType: 512,
|
21415
|
+
"512": "InputType",
|
21373
21416
|
/**
|
21374
|
-
*r"
|
21417
|
+
*r" Set `$rA` to `Memory address of tx.inputs[$rB].txID`
|
21375
21418
|
*/
|
21376
|
-
|
21377
|
-
"
|
21419
|
+
InputCoinTxId: 513,
|
21420
|
+
"513": "InputCoinTxId",
|
21378
21421
|
/**
|
21379
|
-
*r"
|
21422
|
+
*r" Set `$rA` to `tx.inputs[$rB].outputIndex`
|
21380
21423
|
*/
|
21381
|
-
|
21382
|
-
"
|
21424
|
+
InputCoinOutputIndex: 514,
|
21425
|
+
"514": "InputCoinOutputIndex",
|
21383
21426
|
/**
|
21384
|
-
*r"
|
21427
|
+
*r" Set `$rA` to `Memory address of tx.inputs[$rB].owner`
|
21385
21428
|
*/
|
21386
|
-
|
21387
|
-
"
|
21429
|
+
InputCoinOwner: 515,
|
21430
|
+
"515": "InputCoinOwner",
|
21388
21431
|
/**
|
21389
|
-
*r"
|
21432
|
+
*r" Set `$rA` to `tx.inputs[$rB].amount`
|
21390
21433
|
*/
|
21391
|
-
|
21392
|
-
"
|
21434
|
+
InputCoinAmount: 516,
|
21435
|
+
"516": "InputCoinAmount",
|
21393
21436
|
/**
|
21394
|
-
*r"
|
21437
|
+
*r" Set `$rA` to `Memory address of tx.inputs[$rB].asset_id`
|
21395
21438
|
*/
|
21396
|
-
|
21397
|
-
"
|
21439
|
+
InputCoinAssetId: 517,
|
21440
|
+
"517": "InputCoinAssetId",
|
21398
21441
|
/**
|
21399
|
-
*r"
|
21442
|
+
*r" Set `$rA` to `Memory address of tx.inputs[$rB].txPointer`
|
21400
21443
|
*/
|
21401
|
-
|
21402
|
-
"
|
21444
|
+
InputCoinTxPointer: 518,
|
21445
|
+
"518": "InputCoinTxPointer",
|
21403
21446
|
/**
|
21404
|
-
*r"
|
21447
|
+
*r" Set `$rA` to `tx.inputs[$rB].witnessIndex`
|
21405
21448
|
*/
|
21406
|
-
|
21407
|
-
"
|
21449
|
+
InputCoinWitnessIndex: 519,
|
21450
|
+
"519": "InputCoinWitnessIndex",
|
21408
21451
|
/**
|
21409
|
-
*r"
|
21410
|
-
*r" of the predicate, all other values means unsuccessful.
|
21452
|
+
*r" Set `$rA` to `tx.inputs[$rB].predicateLength`
|
21411
21453
|
*/
|
21412
|
-
|
21413
|
-
"
|
21454
|
+
InputCoinPredicateLength: 521,
|
21455
|
+
"521": "InputCoinPredicateLength",
|
21414
21456
|
/**
|
21415
|
-
*r"
|
21457
|
+
*r" Set `$rA` to `tx.inputs[$rB].predicateDataLength`
|
21416
21458
|
*/
|
21417
|
-
|
21418
|
-
"
|
21459
|
+
InputCoinPredicateDataLength: 522,
|
21460
|
+
"522": "InputCoinPredicateDataLength",
|
21419
21461
|
/**
|
21420
|
-
*r"
|
21462
|
+
*r" Set `$rA` to `Memory address of tx.inputs[$rB].predicate`
|
21421
21463
|
*/
|
21422
|
-
|
21423
|
-
"
|
21464
|
+
InputCoinPredicate: 523,
|
21465
|
+
"523": "InputCoinPredicate",
|
21424
21466
|
/**
|
21425
|
-
*r"
|
21467
|
+
*r" Set `$rA` to `Memory address of tx.inputs[$rB].predicateData`
|
21426
21468
|
*/
|
21427
|
-
|
21428
|
-
"
|
21469
|
+
InputCoinPredicateData: 524,
|
21470
|
+
"524": "InputCoinPredicateData",
|
21429
21471
|
/**
|
21430
|
-
*r"
|
21431
|
-
*r" For instance, division by zero produces this.
|
21432
|
-
*r" These errors are ignored using the UNSAFEMATH flag.
|
21472
|
+
*r" Set `$rA` to `Memory address of tx.inputs[$rB].predicateGasUsed`
|
21433
21473
|
*/
|
21434
|
-
|
21435
|
-
"
|
21474
|
+
InputCoinPredicateGasUsed: 525,
|
21475
|
+
"525": "InputCoinPredicateGasUsed",
|
21436
21476
|
/**
|
21437
|
-
*r"
|
21477
|
+
*r" Set `$rA` to `Memory address of tx.inputs[$rB].txID`
|
21438
21478
|
*/
|
21439
|
-
|
21440
|
-
"
|
21479
|
+
InputContractTxId: 544,
|
21480
|
+
"544": "InputContractTxId",
|
21441
21481
|
/**
|
21442
|
-
*r"
|
21482
|
+
*r" Set `$rA` to `tx.inputs[$rB].outputIndex`
|
21443
21483
|
*/
|
21444
|
-
|
21445
|
-
"
|
21484
|
+
InputContractOutputIndex: 545,
|
21485
|
+
"545": "InputContractOutputIndex",
|
21446
21486
|
/**
|
21447
|
-
*r"
|
21487
|
+
*r" Set `$rA` to `Memory address of tx.inputs[$rB].contractID`
|
21448
21488
|
*/
|
21449
|
-
|
21450
|
-
"
|
21489
|
+
InputContractId: 549,
|
21490
|
+
"549": "InputContractId",
|
21451
21491
|
/**
|
21452
|
-
*r"
|
21492
|
+
*r" Set `$rA` to `Memory address of tx.inputs[$rB].sender`
|
21453
21493
|
*/
|
21454
|
-
|
21455
|
-
"
|
21494
|
+
InputMessageSender: 576,
|
21495
|
+
"576": "InputMessageSender",
|
21456
21496
|
/**
|
21457
|
-
*r"
|
21497
|
+
*r" Set `$rA` to `Memory address of tx.inputs[$rB].recipient`
|
21458
21498
|
*/
|
21459
|
-
|
21460
|
-
"
|
21499
|
+
InputMessageRecipient: 577,
|
21500
|
+
"577": "InputMessageRecipient",
|
21461
21501
|
/**
|
21462
|
-
*r"
|
21502
|
+
*r" Set `$rA` to `tx.inputs[$rB].amount`
|
21463
21503
|
*/
|
21464
|
-
|
21465
|
-
"
|
21504
|
+
InputMessageAmount: 578,
|
21505
|
+
"578": "InputMessageAmount",
|
21466
21506
|
/**
|
21467
|
-
*r"
|
21507
|
+
*r" Set `$rA` to `Memory address of tx.inputs[$rB].nonce`
|
21468
21508
|
*/
|
21469
|
-
|
21470
|
-
"
|
21509
|
+
InputMessageNonce: 579,
|
21510
|
+
"579": "InputMessageNonce",
|
21471
21511
|
/**
|
21472
|
-
*r"
|
21512
|
+
*r" Set `$rA` to `tx.inputs[$rB].witnessIndex`
|
21473
21513
|
*/
|
21474
|
-
|
21475
|
-
"
|
21514
|
+
InputMessageWitnessIndex: 580,
|
21515
|
+
"580": "InputMessageWitnessIndex",
|
21476
21516
|
/**
|
21477
|
-
*r"
|
21517
|
+
*r" Set `$rA` to `tx.inputs[$rB].dataLength`
|
21478
21518
|
*/
|
21479
|
-
|
21480
|
-
"
|
21519
|
+
InputMessageDataLength: 581,
|
21520
|
+
"581": "InputMessageDataLength",
|
21481
21521
|
/**
|
21482
|
-
*r"
|
21483
|
-
*r" typically because it cannot fit into usize
|
21522
|
+
*r" Set `$rA` to `tx.inputs[$rB].predicateLength`
|
21484
21523
|
*/
|
21485
|
-
|
21486
|
-
"
|
21524
|
+
InputMessagePredicateLength: 582,
|
21525
|
+
"582": "InputMessagePredicateLength",
|
21526
|
+
/**
|
21527
|
+
*r" Set `$rA` to `tx.inputs[$rB].predicateDataLength`
|
21528
|
+
*/
|
21529
|
+
InputMessagePredicateDataLength: 583,
|
21530
|
+
"583": "InputMessagePredicateDataLength",
|
21531
|
+
/**
|
21532
|
+
*r" Set `$rA` to `Memory address of tx.inputs[$rB].data`
|
21533
|
+
*/
|
21534
|
+
InputMessageData: 584,
|
21535
|
+
"584": "InputMessageData",
|
21536
|
+
/**
|
21537
|
+
*r" Set `$rA` to `Memory address of tx.inputs[$rB].predicate`
|
21538
|
+
*/
|
21539
|
+
InputMessagePredicate: 585,
|
21540
|
+
"585": "InputMessagePredicate",
|
21541
|
+
/**
|
21542
|
+
*r" Set `$rA` to `Memory address of tx.inputs[$rB].predicateData`
|
21543
|
+
*/
|
21544
|
+
InputMessagePredicateData: 586,
|
21545
|
+
"586": "InputMessagePredicateData",
|
21546
|
+
/**
|
21547
|
+
*r" Set `$rA` to `Memory address of tx.inputs[$rB].predicateGasUsed`
|
21548
|
+
*/
|
21549
|
+
InputMessagePredicateGasUsed: 587,
|
21550
|
+
"587": "InputMessagePredicateGasUsed",
|
21487
21551
|
/**
|
21488
|
-
*r"
|
21489
|
-
*r" i.e. $fp->$fp must be non-zero.
|
21552
|
+
*r" Set `$rA` to `tx.outputs[$rB].type`
|
21490
21553
|
*/
|
21491
|
-
|
21492
|
-
"
|
21554
|
+
OutputType: 768,
|
21555
|
+
"768": "OutputType",
|
21493
21556
|
/**
|
21494
|
-
*r"
|
21557
|
+
*r" Set `$rA` to `Memory address of tx.outputs[$rB].to`
|
21495
21558
|
*/
|
21496
|
-
|
21497
|
-
"
|
21559
|
+
OutputCoinTo: 769,
|
21560
|
+
"769": "OutputCoinTo",
|
21498
21561
|
/**
|
21499
|
-
*r"
|
21500
|
-
*r" Also occurs when boundary crosses from stack to heap.
|
21562
|
+
*r" Set `$rA` to `tx.outputs[$rB].amount`
|
21501
21563
|
*/
|
21502
|
-
|
21503
|
-
"
|
21564
|
+
OutputCoinAmount: 770,
|
21565
|
+
"770": "OutputCoinAmount",
|
21504
21566
|
/**
|
21505
|
-
*r"
|
21567
|
+
*r" Set `$rA` to `Memory address of tx.outputs[$rB].asset_id`
|
21506
21568
|
*/
|
21507
|
-
|
21508
|
-
"
|
21569
|
+
OutputCoinAssetId: 771,
|
21570
|
+
"771": "OutputCoinAssetId",
|
21509
21571
|
/**
|
21510
|
-
*r"
|
21572
|
+
*r" Set `$rA` to `tx.outputs[$rB].inputIndex`
|
21511
21573
|
*/
|
21512
|
-
|
21513
|
-
"
|
21574
|
+
OutputContractInputIndex: 772,
|
21575
|
+
"772": "OutputContractInputIndex",
|
21514
21576
|
/**
|
21515
|
-
*r"
|
21577
|
+
*r" Set `$rA` to `Memory address of tx.outputs[$rB].contractID`
|
21516
21578
|
*/
|
21517
|
-
|
21518
|
-
"
|
21579
|
+
OutputContractCreatedContractId: 775,
|
21580
|
+
"775": "OutputContractCreatedContractId",
|
21519
21581
|
/**
|
21520
|
-
*r"
|
21582
|
+
*r" Set `$rA` to `Memory address of tx.outputs[$rB].stateRoot`
|
21521
21583
|
*/
|
21522
|
-
|
21523
|
-
"
|
21584
|
+
OutputContractCreatedStateRoot: 776,
|
21585
|
+
"776": "OutputContractCreatedStateRoot",
|
21524
21586
|
/**
|
21525
|
-
*r"
|
21587
|
+
*r" Set `$rA` to `tx.witnesses[$rB].dataLength`
|
21526
21588
|
*/
|
21527
|
-
|
21528
|
-
"
|
21529
|
-
});
|
21530
|
-
var GMArgs = Object.freeze({
|
21589
|
+
WitnessDataLength: 1024,
|
21590
|
+
"1024": "WitnessDataLength",
|
21531
21591
|
/**
|
21532
|
-
*r"
|
21592
|
+
*r" Set `$rA` to `Memory address of tx.witnesses[$rB].data`
|
21533
21593
|
*/
|
21534
|
-
|
21535
|
-
"
|
21594
|
+
WitnessData: 1025,
|
21595
|
+
"1025": "WitnessData",
|
21536
21596
|
/**
|
21537
|
-
*r"
|
21597
|
+
*r" Set `$rA` to `tx.policyTypes`
|
21538
21598
|
*/
|
21539
|
-
|
21540
|
-
"
|
21599
|
+
PolicyTypes: 1280,
|
21600
|
+
"1280": "PolicyTypes",
|
21541
21601
|
/**
|
21542
|
-
*r"
|
21602
|
+
*r" Set `$rA` to `tx.policies[0x00].gasPrice`
|
21543
21603
|
*/
|
21544
|
-
|
21545
|
-
"
|
21604
|
+
PolicyTip: 1281,
|
21605
|
+
"1281": "PolicyTip",
|
21546
21606
|
/**
|
21547
|
-
*r"
|
21607
|
+
*r" Set `$rA` to `tx.policies[count_ones(0b11 & tx.policyTypes) - 1].witnessLimit`
|
21548
21608
|
*/
|
21549
|
-
|
21550
|
-
"
|
21609
|
+
PolicyWitnessLimit: 1282,
|
21610
|
+
"1282": "PolicyWitnessLimit",
|
21551
21611
|
/**
|
21552
|
-
*r"
|
21612
|
+
*r" Set `$rA` to `tx.policies[count_ones(0b111 & tx.policyTypes) - 1].maturity`
|
21553
21613
|
*/
|
21554
|
-
|
21555
|
-
"
|
21614
|
+
PolicyMaturity: 1283,
|
21615
|
+
"1283": "PolicyMaturity",
|
21556
21616
|
/**
|
21557
|
-
*r"
|
21617
|
+
*r" Set `$rA` to `tx.policies[count_ones(0b1111 & tx.policyTypes) - 1].maxFee`
|
21558
21618
|
*/
|
21559
|
-
|
21560
|
-
"
|
21619
|
+
PolicyMaxFee: 1284,
|
21620
|
+
"1284": "PolicyMaxFee"
|
21561
21621
|
});
|
21562
21622
|
var MathOp = Object.freeze({
|
21563
21623
|
/**
|
@@ -21601,43 +21661,6 @@ spurious results.`);
|
|
21601
21661
|
SHR: 7,
|
21602
21662
|
"7": "SHR"
|
21603
21663
|
});
|
21604
|
-
var CompareMode = Object.freeze({
|
21605
|
-
/**
|
21606
|
-
* Equality (`==`)
|
21607
|
-
*/
|
21608
|
-
EQ: 0,
|
21609
|
-
"0": "EQ",
|
21610
|
-
/**
|
21611
|
-
* Inequality (`!=`)
|
21612
|
-
*/
|
21613
|
-
NE: 1,
|
21614
|
-
"1": "NE",
|
21615
|
-
/**
|
21616
|
-
* Less than (`<`)
|
21617
|
-
*/
|
21618
|
-
LT: 2,
|
21619
|
-
"2": "LT",
|
21620
|
-
/**
|
21621
|
-
* Greater than (`>`)
|
21622
|
-
*/
|
21623
|
-
GT: 3,
|
21624
|
-
"3": "GT",
|
21625
|
-
/**
|
21626
|
-
* Less than or equals (`>=`)
|
21627
|
-
*/
|
21628
|
-
LTE: 4,
|
21629
|
-
"4": "LTE",
|
21630
|
-
/**
|
21631
|
-
* Greater than or equals (`>=`)
|
21632
|
-
*/
|
21633
|
-
GTE: 5,
|
21634
|
-
"5": "GTE",
|
21635
|
-
/**
|
21636
|
-
* Number of leading zeroes in lhs (`lzcnt`) (discards rhs)
|
21637
|
-
*/
|
21638
|
-
LZC: 6,
|
21639
|
-
"6": "LZC"
|
21640
|
-
});
|
21641
21664
|
var ADDFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
|
21642
21665
|
}, unregister: () => {
|
21643
21666
|
} } : new FinalizationRegistry((ptr) => wasm$1.__wbg_add_free(ptr >>> 0));
|
@@ -21896,34 +21919,172 @@ spurious results.`);
|
|
21896
21919
|
return Imm12.__wrap(ret3);
|
21897
21920
|
}
|
21898
21921
|
};
|
21899
|
-
var BALFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
|
21922
|
+
var BALFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
|
21923
|
+
}, unregister: () => {
|
21924
|
+
} } : new FinalizationRegistry((ptr) => wasm$1.__wbg_bal_free(ptr >>> 0));
|
21925
|
+
var BAL = class {
|
21926
|
+
__destroy_into_raw() {
|
21927
|
+
const ptr = this.__wbg_ptr;
|
21928
|
+
this.__wbg_ptr = 0;
|
21929
|
+
BALFinalization.unregister(this);
|
21930
|
+
return ptr;
|
21931
|
+
}
|
21932
|
+
free() {
|
21933
|
+
const ptr = this.__destroy_into_raw();
|
21934
|
+
wasm$1.__wbg_bal_free(ptr);
|
21935
|
+
}
|
21936
|
+
/**
|
21937
|
+
* Construct the instruction from its parts.
|
21938
|
+
* @param {RegId} dst
|
21939
|
+
* @param {RegId} asset_id_addr
|
21940
|
+
* @param {RegId} contract_id_addr
|
21941
|
+
*/
|
21942
|
+
constructor(dst, asset_id_addr, contract_id_addr) {
|
21943
|
+
_assertClass(dst, RegId);
|
21944
|
+
var ptr0 = dst.__destroy_into_raw();
|
21945
|
+
_assertClass(asset_id_addr, RegId);
|
21946
|
+
var ptr1 = asset_id_addr.__destroy_into_raw();
|
21947
|
+
_assertClass(contract_id_addr, RegId);
|
21948
|
+
var ptr2 = contract_id_addr.__destroy_into_raw();
|
21949
|
+
const ret3 = wasm$1.add_new_typescript(ptr0, ptr1, ptr2);
|
21950
|
+
this.__wbg_ptr = ret3 >>> 0;
|
21951
|
+
return this;
|
21952
|
+
}
|
21953
|
+
/**
|
21954
|
+
* Access the ID for register A.
|
21955
|
+
* @returns {RegId}
|
21956
|
+
*/
|
21957
|
+
ra() {
|
21958
|
+
const ret3 = wasm$1.add_ra(this.__wbg_ptr);
|
21959
|
+
return RegId.__wrap(ret3);
|
21960
|
+
}
|
21961
|
+
/**
|
21962
|
+
* Access the ID for register B.
|
21963
|
+
* @returns {RegId}
|
21964
|
+
*/
|
21965
|
+
rb() {
|
21966
|
+
const ret3 = wasm$1.add_rb(this.__wbg_ptr);
|
21967
|
+
return RegId.__wrap(ret3);
|
21968
|
+
}
|
21969
|
+
/**
|
21970
|
+
* Access the ID for register C.
|
21971
|
+
* @returns {RegId}
|
21972
|
+
*/
|
21973
|
+
rc() {
|
21974
|
+
const ret3 = wasm$1.add_rc(this.__wbg_ptr);
|
21975
|
+
return RegId.__wrap(ret3);
|
21976
|
+
}
|
21977
|
+
};
|
21978
|
+
var BHEIFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
|
21979
|
+
}, unregister: () => {
|
21980
|
+
} } : new FinalizationRegistry((ptr) => wasm$1.__wbg_bhei_free(ptr >>> 0));
|
21981
|
+
var BHEI = class {
|
21982
|
+
__destroy_into_raw() {
|
21983
|
+
const ptr = this.__wbg_ptr;
|
21984
|
+
this.__wbg_ptr = 0;
|
21985
|
+
BHEIFinalization.unregister(this);
|
21986
|
+
return ptr;
|
21987
|
+
}
|
21988
|
+
free() {
|
21989
|
+
const ptr = this.__destroy_into_raw();
|
21990
|
+
wasm$1.__wbg_bhei_free(ptr);
|
21991
|
+
}
|
21992
|
+
/**
|
21993
|
+
* Construct the instruction from its parts.
|
21994
|
+
* @param {RegId} dst
|
21995
|
+
*/
|
21996
|
+
constructor(dst) {
|
21997
|
+
_assertClass(dst, RegId);
|
21998
|
+
var ptr0 = dst.__destroy_into_raw();
|
21999
|
+
const ret3 = wasm$1.aloc_new_typescript(ptr0);
|
22000
|
+
this.__wbg_ptr = ret3 >>> 0;
|
22001
|
+
return this;
|
22002
|
+
}
|
22003
|
+
/**
|
22004
|
+
* Access the ID for register A.
|
22005
|
+
* @returns {RegId}
|
22006
|
+
*/
|
22007
|
+
ra() {
|
22008
|
+
const ret3 = wasm$1.aloc_ra(this.__wbg_ptr);
|
22009
|
+
return RegId.__wrap(ret3);
|
22010
|
+
}
|
22011
|
+
};
|
22012
|
+
var BHSHFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
|
22013
|
+
}, unregister: () => {
|
22014
|
+
} } : new FinalizationRegistry((ptr) => wasm$1.__wbg_bhsh_free(ptr >>> 0));
|
22015
|
+
var BHSH = class {
|
22016
|
+
__destroy_into_raw() {
|
22017
|
+
const ptr = this.__wbg_ptr;
|
22018
|
+
this.__wbg_ptr = 0;
|
22019
|
+
BHSHFinalization.unregister(this);
|
22020
|
+
return ptr;
|
22021
|
+
}
|
22022
|
+
free() {
|
22023
|
+
const ptr = this.__destroy_into_raw();
|
22024
|
+
wasm$1.__wbg_bhsh_free(ptr);
|
22025
|
+
}
|
22026
|
+
/**
|
22027
|
+
* Construct the instruction from its parts.
|
22028
|
+
* @param {RegId} dst
|
22029
|
+
* @param {RegId} heigth
|
22030
|
+
*/
|
22031
|
+
constructor(dst, heigth) {
|
22032
|
+
_assertClass(dst, RegId);
|
22033
|
+
var ptr0 = dst.__destroy_into_raw();
|
22034
|
+
_assertClass(heigth, RegId);
|
22035
|
+
var ptr1 = heigth.__destroy_into_raw();
|
22036
|
+
const ret3 = wasm$1.bhsh_new_typescript(ptr0, ptr1);
|
22037
|
+
this.__wbg_ptr = ret3 >>> 0;
|
22038
|
+
return this;
|
22039
|
+
}
|
22040
|
+
/**
|
22041
|
+
* Access the ID for register A.
|
22042
|
+
* @returns {RegId}
|
22043
|
+
*/
|
22044
|
+
ra() {
|
22045
|
+
const ret3 = wasm$1.add_ra(this.__wbg_ptr);
|
22046
|
+
return RegId.__wrap(ret3);
|
22047
|
+
}
|
22048
|
+
/**
|
22049
|
+
* Access the ID for register B.
|
22050
|
+
* @returns {RegId}
|
22051
|
+
*/
|
22052
|
+
rb() {
|
22053
|
+
const ret3 = wasm$1.add_rb(this.__wbg_ptr);
|
22054
|
+
return RegId.__wrap(ret3);
|
22055
|
+
}
|
22056
|
+
};
|
22057
|
+
var BLDDFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
|
21900
22058
|
}, unregister: () => {
|
21901
|
-
} } : new FinalizationRegistry((ptr) => wasm$1.
|
21902
|
-
var
|
22059
|
+
} } : new FinalizationRegistry((ptr) => wasm$1.__wbg_bldd_free(ptr >>> 0));
|
22060
|
+
var BLDD = class {
|
21903
22061
|
__destroy_into_raw() {
|
21904
22062
|
const ptr = this.__wbg_ptr;
|
21905
22063
|
this.__wbg_ptr = 0;
|
21906
|
-
|
22064
|
+
BLDDFinalization.unregister(this);
|
21907
22065
|
return ptr;
|
21908
22066
|
}
|
21909
22067
|
free() {
|
21910
22068
|
const ptr = this.__destroy_into_raw();
|
21911
|
-
wasm$1.
|
22069
|
+
wasm$1.__wbg_bldd_free(ptr);
|
21912
22070
|
}
|
21913
22071
|
/**
|
21914
22072
|
* Construct the instruction from its parts.
|
21915
|
-
* @param {RegId}
|
21916
|
-
* @param {RegId}
|
21917
|
-
* @param {RegId}
|
22073
|
+
* @param {RegId} dst_ptr
|
22074
|
+
* @param {RegId} blob_id_ptr
|
22075
|
+
* @param {RegId} offset
|
22076
|
+
* @param {RegId} len
|
21918
22077
|
*/
|
21919
|
-
constructor(
|
21920
|
-
_assertClass(
|
21921
|
-
var ptr0 =
|
21922
|
-
_assertClass(
|
21923
|
-
var ptr1 =
|
21924
|
-
_assertClass(
|
21925
|
-
var ptr2 =
|
21926
|
-
|
22078
|
+
constructor(dst_ptr, blob_id_ptr, offset, len) {
|
22079
|
+
_assertClass(dst_ptr, RegId);
|
22080
|
+
var ptr0 = dst_ptr.__destroy_into_raw();
|
22081
|
+
_assertClass(blob_id_ptr, RegId);
|
22082
|
+
var ptr1 = blob_id_ptr.__destroy_into_raw();
|
22083
|
+
_assertClass(offset, RegId);
|
22084
|
+
var ptr2 = offset.__destroy_into_raw();
|
22085
|
+
_assertClass(len, RegId);
|
22086
|
+
var ptr3 = len.__destroy_into_raw();
|
22087
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
21927
22088
|
this.__wbg_ptr = ret3 >>> 0;
|
21928
22089
|
return this;
|
21929
22090
|
}
|
@@ -21951,65 +22112,39 @@ spurious results.`);
|
|
21951
22112
|
const ret3 = wasm$1.add_rc(this.__wbg_ptr);
|
21952
22113
|
return RegId.__wrap(ret3);
|
21953
22114
|
}
|
21954
|
-
};
|
21955
|
-
var BHEIFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
|
21956
|
-
}, unregister: () => {
|
21957
|
-
} } : new FinalizationRegistry((ptr) => wasm$1.__wbg_bhei_free(ptr >>> 0));
|
21958
|
-
var BHEI = class {
|
21959
|
-
__destroy_into_raw() {
|
21960
|
-
const ptr = this.__wbg_ptr;
|
21961
|
-
this.__wbg_ptr = 0;
|
21962
|
-
BHEIFinalization.unregister(this);
|
21963
|
-
return ptr;
|
21964
|
-
}
|
21965
|
-
free() {
|
21966
|
-
const ptr = this.__destroy_into_raw();
|
21967
|
-
wasm$1.__wbg_bhei_free(ptr);
|
21968
|
-
}
|
21969
|
-
/**
|
21970
|
-
* Construct the instruction from its parts.
|
21971
|
-
* @param {RegId} dst
|
21972
|
-
*/
|
21973
|
-
constructor(dst) {
|
21974
|
-
_assertClass(dst, RegId);
|
21975
|
-
var ptr0 = dst.__destroy_into_raw();
|
21976
|
-
const ret3 = wasm$1.aloc_new_typescript(ptr0);
|
21977
|
-
this.__wbg_ptr = ret3 >>> 0;
|
21978
|
-
return this;
|
21979
|
-
}
|
21980
22115
|
/**
|
21981
|
-
* Access the ID for register
|
22116
|
+
* Access the ID for register D.
|
21982
22117
|
* @returns {RegId}
|
21983
22118
|
*/
|
21984
|
-
|
21985
|
-
const ret3 = wasm$1.
|
22119
|
+
rd() {
|
22120
|
+
const ret3 = wasm$1.bldd_rd(this.__wbg_ptr);
|
21986
22121
|
return RegId.__wrap(ret3);
|
21987
22122
|
}
|
21988
22123
|
};
|
21989
|
-
var
|
22124
|
+
var BSIZFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
|
21990
22125
|
}, unregister: () => {
|
21991
|
-
} } : new FinalizationRegistry((ptr) => wasm$1.
|
21992
|
-
var
|
22126
|
+
} } : new FinalizationRegistry((ptr) => wasm$1.__wbg_bsiz_free(ptr >>> 0));
|
22127
|
+
var BSIZ = class {
|
21993
22128
|
__destroy_into_raw() {
|
21994
22129
|
const ptr = this.__wbg_ptr;
|
21995
22130
|
this.__wbg_ptr = 0;
|
21996
|
-
|
22131
|
+
BSIZFinalization.unregister(this);
|
21997
22132
|
return ptr;
|
21998
22133
|
}
|
21999
22134
|
free() {
|
22000
22135
|
const ptr = this.__destroy_into_raw();
|
22001
|
-
wasm$1.
|
22136
|
+
wasm$1.__wbg_bsiz_free(ptr);
|
22002
22137
|
}
|
22003
22138
|
/**
|
22004
22139
|
* Construct the instruction from its parts.
|
22005
22140
|
* @param {RegId} dst
|
22006
|
-
* @param {RegId}
|
22141
|
+
* @param {RegId} blob_id_ptr
|
22007
22142
|
*/
|
22008
|
-
constructor(dst,
|
22143
|
+
constructor(dst, blob_id_ptr) {
|
22009
22144
|
_assertClass(dst, RegId);
|
22010
22145
|
var ptr0 = dst.__destroy_into_raw();
|
22011
|
-
_assertClass(
|
22012
|
-
var ptr1 =
|
22146
|
+
_assertClass(blob_id_ptr, RegId);
|
22147
|
+
var ptr1 = blob_id_ptr.__destroy_into_raw();
|
22013
22148
|
const ret3 = wasm$1.bhsh_new_typescript(ptr0, ptr1);
|
22014
22149
|
this.__wbg_ptr = ret3 >>> 0;
|
22015
22150
|
return this;
|
@@ -22106,7 +22241,7 @@ spurious results.`);
|
|
22106
22241
|
var ptr2 = asset_id_addr.__destroy_into_raw();
|
22107
22242
|
_assertClass(fwd_gas, RegId);
|
22108
22243
|
var ptr3 = fwd_gas.__destroy_into_raw();
|
22109
|
-
const ret3 = wasm$1.
|
22244
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
22110
22245
|
this.__wbg_ptr = ret3 >>> 0;
|
22111
22246
|
return this;
|
22112
22247
|
}
|
@@ -22139,7 +22274,7 @@ spurious results.`);
|
|
22139
22274
|
* @returns {RegId}
|
22140
22275
|
*/
|
22141
22276
|
rd() {
|
22142
|
-
const ret3 = wasm$1.
|
22277
|
+
const ret3 = wasm$1.bldd_rd(this.__wbg_ptr);
|
22143
22278
|
return RegId.__wrap(ret3);
|
22144
22279
|
}
|
22145
22280
|
};
|
@@ -22207,7 +22342,7 @@ spurious results.`);
|
|
22207
22342
|
var ptr2 = offset.__destroy_into_raw();
|
22208
22343
|
_assertClass(len, RegId);
|
22209
22344
|
var ptr3 = len.__destroy_into_raw();
|
22210
|
-
const ret3 = wasm$1.
|
22345
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
22211
22346
|
this.__wbg_ptr = ret3 >>> 0;
|
22212
22347
|
return this;
|
22213
22348
|
}
|
@@ -22240,7 +22375,7 @@ spurious results.`);
|
|
22240
22375
|
* @returns {RegId}
|
22241
22376
|
*/
|
22242
22377
|
rd() {
|
22243
|
-
const ret3 = wasm$1.
|
22378
|
+
const ret3 = wasm$1.bldd_rd(this.__wbg_ptr);
|
22244
22379
|
return RegId.__wrap(ret3);
|
22245
22380
|
}
|
22246
22381
|
};
|
@@ -22714,7 +22849,7 @@ spurious results.`);
|
|
22714
22849
|
var ptr2 = c.__destroy_into_raw();
|
22715
22850
|
_assertClass(d, RegId);
|
22716
22851
|
var ptr3 = d.__destroy_into_raw();
|
22717
|
-
const ret3 = wasm$1.
|
22852
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
22718
22853
|
this.__wbg_ptr = ret3 >>> 0;
|
22719
22854
|
return this;
|
22720
22855
|
}
|
@@ -22747,7 +22882,7 @@ spurious results.`);
|
|
22747
22882
|
* @returns {RegId}
|
22748
22883
|
*/
|
22749
22884
|
rd() {
|
22750
|
-
const ret3 = wasm$1.
|
22885
|
+
const ret3 = wasm$1.bldd_rd(this.__wbg_ptr);
|
22751
22886
|
return RegId.__wrap(ret3);
|
22752
22887
|
}
|
22753
22888
|
};
|
@@ -22881,16 +23016,19 @@ spurious results.`);
|
|
22881
23016
|
* Construct the instruction from its parts.
|
22882
23017
|
* @param {RegId} pub_key_addr
|
22883
23018
|
* @param {RegId} sig_addr
|
22884
|
-
* @param {RegId}
|
23019
|
+
* @param {RegId} msg_addr
|
23020
|
+
* @param {RegId} msg_len
|
22885
23021
|
*/
|
22886
|
-
constructor(pub_key_addr, sig_addr,
|
23022
|
+
constructor(pub_key_addr, sig_addr, msg_addr, msg_len) {
|
22887
23023
|
_assertClass(pub_key_addr, RegId);
|
22888
23024
|
var ptr0 = pub_key_addr.__destroy_into_raw();
|
22889
23025
|
_assertClass(sig_addr, RegId);
|
22890
23026
|
var ptr1 = sig_addr.__destroy_into_raw();
|
22891
|
-
_assertClass(
|
22892
|
-
var ptr2 =
|
22893
|
-
|
23027
|
+
_assertClass(msg_addr, RegId);
|
23028
|
+
var ptr2 = msg_addr.__destroy_into_raw();
|
23029
|
+
_assertClass(msg_len, RegId);
|
23030
|
+
var ptr3 = msg_len.__destroy_into_raw();
|
23031
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
22894
23032
|
this.__wbg_ptr = ret3 >>> 0;
|
22895
23033
|
return this;
|
22896
23034
|
}
|
@@ -22918,6 +23056,14 @@ spurious results.`);
|
|
22918
23056
|
const ret3 = wasm$1.add_rc(this.__wbg_ptr);
|
22919
23057
|
return RegId.__wrap(ret3);
|
22920
23058
|
}
|
23059
|
+
/**
|
23060
|
+
* Access the ID for register D.
|
23061
|
+
* @returns {RegId}
|
23062
|
+
*/
|
23063
|
+
rd() {
|
23064
|
+
const ret3 = wasm$1.bldd_rd(this.__wbg_ptr);
|
23065
|
+
return RegId.__wrap(ret3);
|
23066
|
+
}
|
22921
23067
|
};
|
22922
23068
|
var EQFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
|
22923
23069
|
}, unregister: () => {
|
@@ -23698,7 +23844,7 @@ spurious results.`);
|
|
23698
23844
|
var ptr2 = dynamic.__destroy_into_raw();
|
23699
23845
|
_assertClass(fixed, Imm06);
|
23700
23846
|
var ptr3 = fixed.__destroy_into_raw();
|
23701
|
-
const ret3 = wasm$1.
|
23847
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
23702
23848
|
this.__wbg_ptr = ret3 >>> 0;
|
23703
23849
|
return this;
|
23704
23850
|
}
|
@@ -23765,7 +23911,7 @@ spurious results.`);
|
|
23765
23911
|
var ptr2 = dynamic.__destroy_into_raw();
|
23766
23912
|
_assertClass(fixed, Imm06);
|
23767
23913
|
var ptr3 = fixed.__destroy_into_raw();
|
23768
|
-
const ret3 = wasm$1.
|
23914
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
23769
23915
|
this.__wbg_ptr = ret3 >>> 0;
|
23770
23916
|
return this;
|
23771
23917
|
}
|
@@ -24146,15 +24292,18 @@ spurious results.`);
|
|
24146
24292
|
* @param {RegId} contract_id_addr
|
24147
24293
|
* @param {RegId} offset
|
24148
24294
|
* @param {RegId} len
|
24295
|
+
* @param {Imm06} mode
|
24149
24296
|
*/
|
24150
|
-
constructor(contract_id_addr, offset, len) {
|
24297
|
+
constructor(contract_id_addr, offset, len, mode) {
|
24151
24298
|
_assertClass(contract_id_addr, RegId);
|
24152
24299
|
var ptr0 = contract_id_addr.__destroy_into_raw();
|
24153
24300
|
_assertClass(offset, RegId);
|
24154
24301
|
var ptr1 = offset.__destroy_into_raw();
|
24155
24302
|
_assertClass(len, RegId);
|
24156
24303
|
var ptr2 = len.__destroy_into_raw();
|
24157
|
-
|
24304
|
+
_assertClass(mode, Imm06);
|
24305
|
+
var ptr3 = mode.__destroy_into_raw();
|
24306
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
24158
24307
|
this.__wbg_ptr = ret3 >>> 0;
|
24159
24308
|
return this;
|
24160
24309
|
}
|
@@ -24182,6 +24331,14 @@ spurious results.`);
|
|
24182
24331
|
const ret3 = wasm$1.add_rc(this.__wbg_ptr);
|
24183
24332
|
return RegId.__wrap(ret3);
|
24184
24333
|
}
|
24334
|
+
/**
|
24335
|
+
* Access the 6-bit immediate value.
|
24336
|
+
* @returns {Imm06}
|
24337
|
+
*/
|
24338
|
+
imm06() {
|
24339
|
+
const ret3 = wasm$1.jneb_imm06(this.__wbg_ptr);
|
24340
|
+
return Imm06.__wrap(ret3);
|
24341
|
+
}
|
24185
24342
|
};
|
24186
24343
|
var LOGFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
|
24187
24344
|
}, unregister: () => {
|
@@ -24213,7 +24370,7 @@ spurious results.`);
|
|
24213
24370
|
var ptr2 = c.__destroy_into_raw();
|
24214
24371
|
_assertClass(d, RegId);
|
24215
24372
|
var ptr3 = d.__destroy_into_raw();
|
24216
|
-
const ret3 = wasm$1.
|
24373
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
24217
24374
|
this.__wbg_ptr = ret3 >>> 0;
|
24218
24375
|
return this;
|
24219
24376
|
}
|
@@ -24246,7 +24403,7 @@ spurious results.`);
|
|
24246
24403
|
* @returns {RegId}
|
24247
24404
|
*/
|
24248
24405
|
rd() {
|
24249
|
-
const ret3 = wasm$1.
|
24406
|
+
const ret3 = wasm$1.bldd_rd(this.__wbg_ptr);
|
24250
24407
|
return RegId.__wrap(ret3);
|
24251
24408
|
}
|
24252
24409
|
};
|
@@ -24280,7 +24437,7 @@ spurious results.`);
|
|
24280
24437
|
var ptr2 = addr.__destroy_into_raw();
|
24281
24438
|
_assertClass(len, RegId);
|
24282
24439
|
var ptr3 = len.__destroy_into_raw();
|
24283
|
-
const ret3 = wasm$1.
|
24440
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
24284
24441
|
this.__wbg_ptr = ret3 >>> 0;
|
24285
24442
|
return this;
|
24286
24443
|
}
|
@@ -24313,7 +24470,7 @@ spurious results.`);
|
|
24313
24470
|
* @returns {RegId}
|
24314
24471
|
*/
|
24315
24472
|
rd() {
|
24316
|
-
const ret3 = wasm$1.
|
24473
|
+
const ret3 = wasm$1.bldd_rd(this.__wbg_ptr);
|
24317
24474
|
return RegId.__wrap(ret3);
|
24318
24475
|
}
|
24319
24476
|
};
|
@@ -24661,7 +24818,7 @@ spurious results.`);
|
|
24661
24818
|
var ptr2 = rhs_addr.__destroy_into_raw();
|
24662
24819
|
_assertClass(len, RegId);
|
24663
24820
|
var ptr3 = len.__destroy_into_raw();
|
24664
|
-
const ret3 = wasm$1.
|
24821
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
24665
24822
|
this.__wbg_ptr = ret3 >>> 0;
|
24666
24823
|
return this;
|
24667
24824
|
}
|
@@ -24694,7 +24851,7 @@ spurious results.`);
|
|
24694
24851
|
* @returns {RegId}
|
24695
24852
|
*/
|
24696
24853
|
rd() {
|
24697
|
-
const ret3 = wasm$1.
|
24854
|
+
const ret3 = wasm$1.bldd_rd(this.__wbg_ptr);
|
24698
24855
|
return RegId.__wrap(ret3);
|
24699
24856
|
}
|
24700
24857
|
};
|
@@ -24773,7 +24930,7 @@ spurious results.`);
|
|
24773
24930
|
var ptr2 = mul_rhs.__destroy_into_raw();
|
24774
24931
|
_assertClass(divisor, RegId);
|
24775
24932
|
var ptr3 = divisor.__destroy_into_raw();
|
24776
|
-
const ret3 = wasm$1.
|
24933
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
24777
24934
|
this.__wbg_ptr = ret3 >>> 0;
|
24778
24935
|
return this;
|
24779
24936
|
}
|
@@ -24806,7 +24963,7 @@ spurious results.`);
|
|
24806
24963
|
* @returns {RegId}
|
24807
24964
|
*/
|
24808
24965
|
rd() {
|
24809
|
-
const ret3 = wasm$1.
|
24966
|
+
const ret3 = wasm$1.bldd_rd(this.__wbg_ptr);
|
24810
24967
|
return RegId.__wrap(ret3);
|
24811
24968
|
}
|
24812
24969
|
};
|
@@ -26297,7 +26454,7 @@ spurious results.`);
|
|
26297
26454
|
var ptr2 = data_len.__destroy_into_raw();
|
26298
26455
|
_assertClass(coins, RegId);
|
26299
26456
|
var ptr3 = coins.__destroy_into_raw();
|
26300
|
-
const ret3 = wasm$1.
|
26457
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
26301
26458
|
this.__wbg_ptr = ret3 >>> 0;
|
26302
26459
|
return this;
|
26303
26460
|
}
|
@@ -26330,7 +26487,7 @@ spurious results.`);
|
|
26330
26487
|
* @returns {RegId}
|
26331
26488
|
*/
|
26332
26489
|
rd() {
|
26333
|
-
const ret3 = wasm$1.
|
26490
|
+
const ret3 = wasm$1.bldd_rd(this.__wbg_ptr);
|
26334
26491
|
return RegId.__wrap(ret3);
|
26335
26492
|
}
|
26336
26493
|
};
|
@@ -26532,7 +26689,7 @@ spurious results.`);
|
|
26532
26689
|
var ptr2 = key_addr.__destroy_into_raw();
|
26533
26690
|
_assertClass(lenq, RegId);
|
26534
26691
|
var ptr3 = lenq.__destroy_into_raw();
|
26535
|
-
const ret3 = wasm$1.
|
26692
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
26536
26693
|
this.__wbg_ptr = ret3 >>> 0;
|
26537
26694
|
return this;
|
26538
26695
|
}
|
@@ -26565,7 +26722,7 @@ spurious results.`);
|
|
26565
26722
|
* @returns {RegId}
|
26566
26723
|
*/
|
26567
26724
|
rd() {
|
26568
|
-
const ret3 = wasm$1.
|
26725
|
+
const ret3 = wasm$1.bldd_rd(this.__wbg_ptr);
|
26569
26726
|
return RegId.__wrap(ret3);
|
26570
26727
|
}
|
26571
26728
|
};
|
@@ -26823,7 +26980,7 @@ spurious results.`);
|
|
26823
26980
|
var ptr2 = src_addr.__destroy_into_raw();
|
26824
26981
|
_assertClass(lenq, RegId);
|
26825
26982
|
var ptr3 = lenq.__destroy_into_raw();
|
26826
|
-
const ret3 = wasm$1.
|
26983
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
26827
26984
|
this.__wbg_ptr = ret3 >>> 0;
|
26828
26985
|
return this;
|
26829
26986
|
}
|
@@ -26856,7 +27013,7 @@ spurious results.`);
|
|
26856
27013
|
* @returns {RegId}
|
26857
27014
|
*/
|
26858
27015
|
rd() {
|
26859
|
-
const ret3 = wasm$1.
|
27016
|
+
const ret3 = wasm$1.bldd_rd(this.__wbg_ptr);
|
26860
27017
|
return RegId.__wrap(ret3);
|
26861
27018
|
}
|
26862
27019
|
};
|
@@ -26991,7 +27148,7 @@ spurious results.`);
|
|
26991
27148
|
var ptr2 = amount.__destroy_into_raw();
|
26992
27149
|
_assertClass(asset_id_addr, RegId);
|
26993
27150
|
var ptr3 = asset_id_addr.__destroy_into_raw();
|
26994
|
-
const ret3 = wasm$1.
|
27151
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
26995
27152
|
this.__wbg_ptr = ret3 >>> 0;
|
26996
27153
|
return this;
|
26997
27154
|
}
|
@@ -27024,7 +27181,7 @@ spurious results.`);
|
|
27024
27181
|
* @returns {RegId}
|
27025
27182
|
*/
|
27026
27183
|
rd() {
|
27027
|
-
const ret3 = wasm$1.
|
27184
|
+
const ret3 = wasm$1.bldd_rd(this.__wbg_ptr);
|
27028
27185
|
return RegId.__wrap(ret3);
|
27029
27186
|
}
|
27030
27187
|
};
|
@@ -27058,7 +27215,7 @@ spurious results.`);
|
|
27058
27215
|
var ptr2 = add_rhs.__destroy_into_raw();
|
27059
27216
|
_assertClass(modulo, RegId);
|
27060
27217
|
var ptr3 = modulo.__destroy_into_raw();
|
27061
|
-
const ret3 = wasm$1.
|
27218
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
27062
27219
|
this.__wbg_ptr = ret3 >>> 0;
|
27063
27220
|
return this;
|
27064
27221
|
}
|
@@ -27091,7 +27248,7 @@ spurious results.`);
|
|
27091
27248
|
* @returns {RegId}
|
27092
27249
|
*/
|
27093
27250
|
rd() {
|
27094
|
-
const ret3 = wasm$1.
|
27251
|
+
const ret3 = wasm$1.bldd_rd(this.__wbg_ptr);
|
27095
27252
|
return RegId.__wrap(ret3);
|
27096
27253
|
}
|
27097
27254
|
};
|
@@ -27313,7 +27470,7 @@ spurious results.`);
|
|
27313
27470
|
var ptr2 = mul_rhs.__destroy_into_raw();
|
27314
27471
|
_assertClass(divisor, RegId);
|
27315
27472
|
var ptr3 = divisor.__destroy_into_raw();
|
27316
|
-
const ret3 = wasm$1.
|
27473
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
27317
27474
|
this.__wbg_ptr = ret3 >>> 0;
|
27318
27475
|
return this;
|
27319
27476
|
}
|
@@ -27346,7 +27503,7 @@ spurious results.`);
|
|
27346
27503
|
* @returns {RegId}
|
27347
27504
|
*/
|
27348
27505
|
rd() {
|
27349
|
-
const ret3 = wasm$1.
|
27506
|
+
const ret3 = wasm$1.bldd_rd(this.__wbg_ptr);
|
27350
27507
|
return RegId.__wrap(ret3);
|
27351
27508
|
}
|
27352
27509
|
};
|
@@ -27474,7 +27631,7 @@ spurious results.`);
|
|
27474
27631
|
var ptr2 = mul_rhs.__destroy_into_raw();
|
27475
27632
|
_assertClass(modulo, RegId);
|
27476
27633
|
var ptr3 = modulo.__destroy_into_raw();
|
27477
|
-
const ret3 = wasm$1.
|
27634
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
27478
27635
|
this.__wbg_ptr = ret3 >>> 0;
|
27479
27636
|
return this;
|
27480
27637
|
}
|
@@ -27507,7 +27664,7 @@ spurious results.`);
|
|
27507
27664
|
* @returns {RegId}
|
27508
27665
|
*/
|
27509
27666
|
rd() {
|
27510
|
-
const ret3 = wasm$1.
|
27667
|
+
const ret3 = wasm$1.bldd_rd(this.__wbg_ptr);
|
27511
27668
|
return RegId.__wrap(ret3);
|
27512
27669
|
}
|
27513
27670
|
};
|
@@ -27635,7 +27792,7 @@ spurious results.`);
|
|
27635
27792
|
var ptr2 = add_rhs.__destroy_into_raw();
|
27636
27793
|
_assertClass(modulo, RegId);
|
27637
27794
|
var ptr3 = modulo.__destroy_into_raw();
|
27638
|
-
const ret3 = wasm$1.
|
27795
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
27639
27796
|
this.__wbg_ptr = ret3 >>> 0;
|
27640
27797
|
return this;
|
27641
27798
|
}
|
@@ -27668,7 +27825,7 @@ spurious results.`);
|
|
27668
27825
|
* @returns {RegId}
|
27669
27826
|
*/
|
27670
27827
|
rd() {
|
27671
|
-
const ret3 = wasm$1.
|
27828
|
+
const ret3 = wasm$1.bldd_rd(this.__wbg_ptr);
|
27672
27829
|
return RegId.__wrap(ret3);
|
27673
27830
|
}
|
27674
27831
|
};
|
@@ -27890,7 +28047,7 @@ spurious results.`);
|
|
27890
28047
|
var ptr2 = mul_rhs.__destroy_into_raw();
|
27891
28048
|
_assertClass(divisor, RegId);
|
27892
28049
|
var ptr3 = divisor.__destroy_into_raw();
|
27893
|
-
const ret3 = wasm$1.
|
28050
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
27894
28051
|
this.__wbg_ptr = ret3 >>> 0;
|
27895
28052
|
return this;
|
27896
28053
|
}
|
@@ -27923,7 +28080,7 @@ spurious results.`);
|
|
27923
28080
|
* @returns {RegId}
|
27924
28081
|
*/
|
27925
28082
|
rd() {
|
27926
|
-
const ret3 = wasm$1.
|
28083
|
+
const ret3 = wasm$1.bldd_rd(this.__wbg_ptr);
|
27927
28084
|
return RegId.__wrap(ret3);
|
27928
28085
|
}
|
27929
28086
|
};
|
@@ -28051,7 +28208,7 @@ spurious results.`);
|
|
28051
28208
|
var ptr2 = mul_rhs.__destroy_into_raw();
|
28052
28209
|
_assertClass(modulo, RegId);
|
28053
28210
|
var ptr3 = modulo.__destroy_into_raw();
|
28054
|
-
const ret3 = wasm$1.
|
28211
|
+
const ret3 = wasm$1.bldd_new_typescript(ptr0, ptr1, ptr2, ptr3);
|
28055
28212
|
this.__wbg_ptr = ret3 >>> 0;
|
28056
28213
|
return this;
|
28057
28214
|
}
|
@@ -28084,7 +28241,7 @@ spurious results.`);
|
|
28084
28241
|
* @returns {RegId}
|
28085
28242
|
*/
|
28086
28243
|
rd() {
|
28087
|
-
const ret3 = wasm$1.
|
28244
|
+
const ret3 = wasm$1.bldd_rd(this.__wbg_ptr);
|
28088
28245
|
return RegId.__wrap(ret3);
|
28089
28246
|
}
|
28090
28247
|
};
|
@@ -28380,7 +28537,7 @@ spurious results.`);
|
|
28380
28537
|
}
|
28381
28538
|
}
|
28382
28539
|
function wasm(imports) {
|
28383
|
-
return _loadWasmModule(1, null, "AGFzbQEAAAABQAtgA39/fwF/YAF/AX9gBH9/f38Bf2ACf38Bf2AAAX9gAn9/AGABfwBgBX9/f39/AX9gA39/fwBgAABgAn5/AX8CGAEDd2JnEF9fd2JpbmRnZW5fdGhyb3cABQP7AfkBAQMKBgEFBQUBBQEBAQEBAQECBQICAQEDAgICAgUCAwMDAwMDAwIBBQEFAAMDAwMDAwMDAwMDAQABAQUFAQEBAQEBAQEBAQIBBQUFAwIBAAABAQEFAgIBAQYABgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGAwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEDBgADAQEBBwICAAIABgEEAwEDBQgBCQkDAwMFAQEBBgYGBgQEBAQEBAQEBAQEBAQEBAQEBAQGBwcCAgIDBwcACAADBAUBcAEHBwUDAQARBgkBfwFBgIDAAAsHxEvBBQZtZW1vcnkCABZfX3diZ19jb21wYXJlYXJnc19mcmVlAHcaX193YmdfZ2V0X2NvbXBhcmVhcmdzX21vZGUAORpfX3diZ19zZXRfY29tcGFyZWFyZ3NfbW9kZQAoIl9fd2JnX2dldF9jb21wYXJlYXJnc19pbmRpcmVjdF9yaHMAOiJfX3diZ19zZXRfY29tcGFyZWFyZ3NfaW5kaXJlY3RfcmhzADsSY29tcGFyZWFyZ3NfdG9faW1tAEgUY29tcGFyZWFyZ3NfZnJvbV9pbW0AKRVfX3diZ19nZXRfbWF0aGFyZ3Nfb3AAORVfX3diZ19zZXRfbWF0aGFyZ3Nfb3AAKhJfX3diZ19tdWxhcmdzX2ZyZWUAeB5fX3diZ19nZXRfbXVsYXJnc19pbmRpcmVjdF9yaHMAOR5fX3diZ19zZXRfbXVsYXJnc19pbmRpcmVjdF9yaHMAPBJfX3diZ19kaXZhcmdzX2ZyZWUA1gEeX193YmdfZ2V0X2RpdmFyZ3NfaW5kaXJlY3RfcmhzAK0BIXBhbmljaW5zdHJ1Y3Rpb25fZXJyb3JfdHlwZXNjcmlwdABMF3BhbmljaW5zdHJ1Y3Rpb25fcmVhc29uAD4ccGFuaWNpbnN0cnVjdGlvbl9pbnN0cnVjdGlvbgA/DGdtX2Zyb21fYXJncwDJAQ1ndGZfZnJvbV9hcmdzAMEBB2dtX2FyZ3MAeQhndGZfYXJncwBaDndkY21fZnJvbV9hcmdzACYOd2RvcF9mcm9tX2FyZ3MAJg53ZG1sX2Zyb21fYXJncwAeDndkZHZfZnJvbV9hcmdzAL8BCXdkY21fYXJncwAZCXdxY21fYXJncwAaCXdkb3BfYXJncwAbCXdxb3BfYXJncwAcCXdkbWxfYXJncwAUCXdxbWxfYXJncwAVCXdkZHZfYXJncwBVCXdxZHZfYXJncwBWEF9fd2JnX2ltbTA2X2ZyZWUA1wEQX193YmdfaW1tMTJfZnJlZQDYARBfX3diZ19pbW0xOF9mcmVlANkBDl9fd2JnX2FkZF9mcmVlALgBD19fd2JnX25vb3BfZnJlZQBbEmFkZF9uZXdfdHlwZXNjcmlwdABPBmFkZF9yYQAWBmFkZF9yYgALBmFkZF9yYwAPA2FkZAC5AQNhbmQAewNkaXYAfAJlcQB9A2V4cAB+Amd0AH8CbHQAgAEEbWxvZwCBAQRtcm9vAIIBBG1vZF8AgwEFbW92ZV8ALANtdWwAhAEDbm90AC0Cb3IAhQEDc2xsAIYBA3NybACHAQNzdWIAiAEDeG9yAIkBBG1sZHYAXANyZXQArgEEcmV0ZAAuE2Fsb2NfbmV3X3R5cGVzY3JpcHQAVwdhbG9jX3JhAE4EYWxvYwCvAQNtY2wALwNtY3AAigEDbWVxAF0TYmhzaF9uZXdfdHlwZXNjcmlwdAAfBGJoc2gAMARiaGVpALABBGJ1cm4AMRNjYWxsX25ld190eXBlc2NyaXB0AE0HY2FsbF9yZAAXBGNhbGwAXgNjY3AAXwRjcm9vADIEY3NpegAzAmNiALEBA2xkYwCLAQNsb2cAYARsb2dkAGEEbWludAA0BHJ2cnQAsgEEc2N3cQCMAQNzcncAjQEEc3J3cQBiA3N3dwCOAQRzd3dxAGMCdHIAjwEDdHJvAGQEZWNrMQCQAQRlY3IxAJEBBGVkMTkAkgEEazI1NgCTAQRzMjU2AJQBBHRpbWUANRNub29wX25ld190eXBlc2NyaXB0AMYBBG5vb3AA2gEEZmxhZwCzAQNiYWwAlQEDam1wALQBA2puZQCWAQNzbW8AZRNhZGRpX25ld190eXBlc2NyaXB0AFAKYWRkaV9pbW0xMgAMBGFkZGkAlwEEYW5kaQCYAQRkaXZpAJkBBGV4cGkAmgEEbW9kaQCbAQRtdWxpAJwBA29yaQCdAQRzbGxpAJ4BBHNybGkAnwEEc3ViaQCgAQR4b3JpAKEBBGpuZWkAogECbGIAowECbHcApAECc2IApQECc3cApgEEbWNwaQCnARJndGZfbmV3X3R5cGVzY3JpcHQAwwEDZ3RmAKgBBG1jbGkAIBFnbV9uZXdfdHlwZXNjcmlwdAA2CGdtX2ltbTE4AAkCZ20AIQRtb3ZpACIEam56aQAjBGptcGYAJBNqbXBiX25ld190eXBlc2NyaXB0ABgEam1wYgAlBGpuemYAqQEEam56YgCqAQRqbmVmAGYKam5lYl9pbW0wNgAXBGpuZWIAZwJqaQBAE2NmZWlfbmV3X3R5cGVzY3JpcHQANwpjZmVpX2ltbTI0ACcEY2ZlaQBBBGNmc2kAQgNjZmUAtQEDY2ZzALYBBHBzaGwAQwRwc2hoAEQEcG9wbABFBHBvcGgARhN3ZGNtX25ld190eXBlc2NyaXB0AMABBHdkY20AaAR3cWNtAGkEd2RvcABqBHdxb3AAawR3ZG1sAGwEd3FtbABtBHdkZHYAbgR3cWR2AG8Ed2RtZABwBHdxbWQAcQR3ZGFtAHIEd3FhbQBzBHdkbW0AdAR3cW1tAHUEZWNhbAB2Fl9fd2JnX2luc3RydWN0aW9uX2ZyZWUAWRRpbnN0cnVjdGlvbl90b19ieXRlcwAKEGluc3RydWN0aW9uX3NpemUA7AERcmVnaWRfbmV3X2NoZWNrZWQAqwEJcmVnaWRfYmFsANsBCnJlZ2lkX2NnYXMA3AEJcmVnaWRfZXJyAN0BCnJlZ2lkX2ZsYWcA3gEIcmVnaWRfZnAA3wEKcmVnaWRfZ2dhcwDgAQhyZWdpZF9ocADhAQhyZWdpZF9pcwDiAQhyZWdpZF9vZgDjAQlyZWdpZF9vbmUA5AEIcmVnaWRfcGMA5QEJcmVnaWRfcmV0AOYBCnJlZ2lkX3JldGwA5wEIcmVnaWRfc3AA6AEJcmVnaWRfc3BwAOkBDnJlZ2lkX3dyaXRhYmxlAOoBCnJlZ2lkX3plcm8A6wEUcmVnaWRfbmV3X3R5cGVzY3JpcHQA0wELcmVnaWRfdG9fdTgA1AETbW92aV9uZXdfdHlwZXNjcmlwdAAYE21jbGlfbmV3X3R5cGVzY3JpcHQAGBNqbnppX25ld190eXBlc2NyaXB0ABgTam1wZl9uZXdfdHlwZXNjcmlwdAAYEm5vdF9uZXdfdHlwZXNjcmlwdAAfE3JldGRfbmV3X3R5cGVzY3JpcHQAHxNtb3ZlX25ld190eXBlc2NyaXB0AB8SbWNsX25ld190eXBlc2NyaXB0AB8TYnVybl9uZXdfdHlwZXNjcmlwdAAfE2Nyb29fbmV3X3R5cGVzY3JpcHQAHxNjc2l6X25ld190eXBlc2NyaXB0AB8TbWludF9uZXdfdHlwZXNjcmlwdAAfE3RpbWVfbmV3X3R5cGVzY3JpcHQAHxJyZXRfbmV3X3R5cGVzY3JpcHQAVxNiaGVpX25ld190eXBlc2NyaXB0AFcRY2JfbmV3X3R5cGVzY3JpcHQAVxNydnJ0X25ld190eXBlc2NyaXB0AFcTZmxhZ19uZXdfdHlwZXNjcmlwdABXEmptcF9uZXdfdHlwZXNjcmlwdABXEmNmZV9uZXdfdHlwZXNjcmlwdABXEmNmc19uZXdfdHlwZXNjcmlwdABXE21sZHZfbmV3X3R5cGVzY3JpcHQATRJtZXFfbmV3X3R5cGVzY3JpcHQATRJjY3BfbmV3X3R5cGVzY3JpcHQATRJsb2dfbmV3X3R5cGVzY3JpcHQATRNsb2dkX25ld190eXBlc2NyaXB0AE0Tc3J3cV9uZXdfdHlwZXNjcmlwdABNE3N3d3FfbmV3X3R5cGVzY3JpcHQATRJ0cm9fbmV3X3R5cGVzY3JpcHQATRJzbW9fbmV3X3R5cGVzY3JpcHQATRNqbmVmX25ld190eXBlc2NyaXB0AE0Td2RtZF9uZXdfdHlwZXNjcmlwdABNE3dxbWRfbmV3X3R5cGVzY3JpcHQATRN3ZGFtX25ld190eXBlc2NyaXB0AE0Td3FhbV9uZXdfdHlwZXNjcmlwdABNE3dkbW1fbmV3X3R5cGVzY3JpcHQATRN3cW1tX25ld190eXBlc2NyaXB0AE0TZWNhbF9uZXdfdHlwZXNjcmlwdABNEmFuZF9uZXdfdHlwZXNjcmlwdABPEmRpdl9uZXdfdHlwZXNjcmlwdABPEWVxX25ld190eXBlc2NyaXB0AE8SZXhwX25ld190eXBlc2NyaXB0AE8RZ3RfbmV3X3R5cGVzY3JpcHQATxFsdF9uZXdfdHlwZXNjcmlwdABPE21sb2dfbmV3X3R5cGVzY3JpcHQATxNtcm9vX25ld190eXBlc2NyaXB0AE8SbW9kX25ld190eXBlc2NyaXB0AE8SbXVsX25ld190eXBlc2NyaXB0AE8Rb3JfbmV3X3R5cGVzY3JpcHQATxJzbGxfbmV3X3R5cGVzY3JpcHQATxJzcmxfbmV3X3R5cGVzY3JpcHQATxJzdWJfbmV3X3R5cGVzY3JpcHQATxJ4b3JfbmV3X3R5cGVzY3JpcHQATxJtY3BfbmV3X3R5cGVzY3JpcHQATxJsZGNfbmV3X3R5cGVzY3JpcHQATxNzY3dxX25ld190eXBlc2NyaXB0AE8Sc3J3X25ld190eXBlc2NyaXB0AE8Sc3d3X25ld190eXBlc2NyaXB0AE8RdHJfbmV3X3R5cGVzY3JpcHQATxNlY2sxX25ld190eXBlc2NyaXB0AE8TZWNyMV9uZXdfdHlwZXNjcmlwdABPE2VkMTlfbmV3X3R5cGVzY3JpcHQATxNrMjU2X25ld190eXBlc2NyaXB0AE8TczI1Nl9uZXdfdHlwZXNjcmlwdABPEmJhbF9uZXdfdHlwZXNjcmlwdABPEmpuZV9uZXdfdHlwZXNjcmlwdABPE2FuZGlfbmV3X3R5cGVzY3JpcHQAUBNkaXZpX25ld190eXBlc2NyaXB0AFATZXhwaV9uZXdfdHlwZXNjcmlwdABQE21vZGlfbmV3X3R5cGVzY3JpcHQAUBNtdWxpX25ld190eXBlc2NyaXB0AFASb3JpX25ld190eXBlc2NyaXB0AFATc2xsaV9uZXdfdHlwZXNjcmlwdABQE3NybGlfbmV3X3R5cGVzY3JpcHQAUBNzdWJpX25ld190eXBlc2NyaXB0AFATeG9yaV9uZXdfdHlwZXNjcmlwdABQE2puZWlfbmV3X3R5cGVzY3JpcHQAUBFsYl9uZXdfdHlwZXNjcmlwdABQEWx3X25ld190eXBlc2NyaXB0AFARc2JfbmV3X3R5cGVzY3JpcHQAUBFzd19uZXdfdHlwZXNjcmlwdABQE21jcGlfbmV3X3R5cGVzY3JpcHQAUBNqbnpmX25ld190eXBlc2NyaXB0AFATam56Yl9uZXdfdHlwZXNjcmlwdABQDndxY21fZnJvbV9hcmdzACYOd3FvcF9mcm9tX2FyZ3MAJh9fX3diZ19zZXRfbWF0aGFyZ3NfaW5kaXJlY3RfcmhzADseX193Ymdfc2V0X211bGFyZ3NfaW5kaXJlY3RfbGhzADseX193Ymdfc2V0X2RpdmFyZ3NfaW5kaXJlY3RfcmhzADsRamlfbmV3X3R5cGVzY3JpcHQANxNjZnNpX25ld190eXBlc2NyaXB0ADcTcHNobF9uZXdfdHlwZXNjcmlwdAA3E3BzaGhfbmV3X3R5cGVzY3JpcHQANxNwb3BsX25ld190eXBlc2NyaXB0ADcTcG9waF9uZXdfdHlwZXNjcmlwdAA3E3dkbWxfbmV3X3R5cGVzY3JpcHQAwAETd3FtbF9uZXdfdHlwZXNjcmlwdADAAQ53cW1sX2Zyb21fYXJncwAeE3dxb3BfbmV3X3R5cGVzY3JpcHQAwAETd2Rkdl9uZXdfdHlwZXNjcmlwdADAARN3cWNtX25ld190eXBlc2NyaXB0AMABE3dkb3BfbmV3X3R5cGVzY3JpcHQAwAETd3Fkdl9uZXdfdHlwZXNjcmlwdADAARBfX3diZ19yZWdpZF9mcmVlANcBDndxZHZfZnJvbV9hcmdzAL8BEF9fd2JnX2ltbTI0X2ZyZWUA2QEPX193YmdfbW92aV9mcmVlALgBD19fd2JnX21sZHZfZnJlZQC4AQ9fX3diZ19mbGFnX2ZyZWUAuAEPX193YmdfZWNhbF9mcmVlALgBDl9fd2JnX2d0Zl9mcmVlALgBDl9fd2JnX3Nyd19mcmVlALgBDl9fd2JnX2Rpdl9mcmVlALgBD19fd2JnX3Njd3FfZnJlZQC4AQ5fX3diZ19leHBfZnJlZQC4AQZqbXBfcmEATg5fX3diZ19qbXBfZnJlZQC4AQ5fX3diZ19tdWxfZnJlZQC4AQ5fX3diZ19zcmxfZnJlZQC4AQ9fX3diZ19zd3dxX2ZyZWUAuAEOX193YmdfbWNwX2ZyZWUAuAENX193Ymdfc3dfZnJlZQC4AQ9fX3diZ19jZmVpX2ZyZWUAuAEPX193YmdfbG9nZF9mcmVlALgBDV9fd2JnX29yX2ZyZWUAuAEOX193YmdfbWVxX2ZyZWUAuAEPX193Ymdfd3FhbV9mcmVlALgBD19fd2JnX2puemJfZnJlZQC4AQ5fX3diZ19sZGNfZnJlZQC4AQ9fX3diZ19tY3BpX2ZyZWUAuAEPX193Ymdfam1wZl9mcmVlALgBDV9fd2JnX2xiX2ZyZWUAuAEPX193Ymdfd3FjbV9mcmVlALgBD19fd2JnX3dxb3BfZnJlZQC4AQ9fX3diZ19tcm9vX2ZyZWUAuAEPX193Ymdfd2RtbF9mcmVlALgBDV9fd2JnX3RyX2ZyZWUAuAEPX193Ymdfam5laV9mcmVlALgBD19fd2JnX2NhbGxfZnJlZQC4AQ9fX3diZ19hbmRpX2ZyZWUAuAEPX193YmdfYmhzaF9mcmVlALgBDl9fd2JnX3N3d19mcmVlALgBD19fd2JnX3N1YmlfZnJlZQC4AQ1fX3diZ19lcV9mcmVlALgBD19fd2JnX3dkbW1fZnJlZQC4AQ9fX3diZ19zbGxpX2ZyZWUAuAEOX193Ymdfam5lX2ZyZWUAuAEPX193YmdfbW92ZV9mcmVlALgBD19fd2JnX2RpdmlfZnJlZQC4AQ9fX3diZ19lY3IxX2ZyZWUAuAEKY2ZzaV9pbW0yNAAnD19fd2JnX2Nmc2lfZnJlZQC4AQ9fX3diZ19jc2l6X2ZyZWUAuAEPX193YmdfcmV0ZF9mcmVlALgBHl9fd2JnX2dldF9tdWxhcmdzX2luZGlyZWN0X2xocwA6B2ZsYWdfcmEATg9fX3diZ19iaGVpX2ZyZWUAuAEPX193YmdfbW9kaV9mcmVlALgBDV9fd2JnX2d0X2ZyZWUAuAEfX193YmdfZ2V0X21hdGhhcmdzX2luZGlyZWN0X3JocwA6Dl9fd2JnX2NjcF9mcmVlALgBD19fd2JnX2VjazFfZnJlZQC4AQdiaGVpX3JhAE4OX193YmdfYW5kX2ZyZWUAuAEPX193YmdfazI1Nl9mcmVlALgBD19fd2JnX2Fsb2NfZnJlZQC4AQ1fX3diZ19sdF9mcmVlALgBDl9fd2JnX3Ntb19mcmVlALgBD19fd2JnX2puemZfZnJlZQC4AQ5fX3diZ19tY2xfZnJlZQC4AQZyZXRfcmEATg5fX3diZ19yZXRfZnJlZQC4AQ9fX3diZ19taW50X2ZyZWUAuAEPX193Ymdfd2RvcF9mcmVlALgBD19fd2JnX2Nyb29fZnJlZQC4AQ5fX3diZ190cm9fZnJlZQC4AQ9fX3diZ193cW1kX2ZyZWUAuAEPX193Ymdfd3Fkdl9mcmVlALgBD19fd2JnX2V4cGlfZnJlZQC4AQ9fX3diZ19zcndxX2ZyZWUAuAEPX193Ymdfd3FtbF9mcmVlALgBD19fd2JnX3dkbWRfZnJlZQC4AQ5fX3diZ19tb2RfZnJlZQC4AQ9fX3diZ19qbnppX2ZyZWUAuAEPX193YmdfYnVybl9mcmVlALgBB3J2cnRfcmEATg9fX3diZ19ydnJ0X2ZyZWUAuAEOX193Ymdfb3JpX2ZyZWUAuAEKcHNobF9pbW0yNAAnD19fd2JnX3BzaGxfZnJlZQC4AQ9fX3diZ19hZGRpX2ZyZWUAuAEOX193YmdfeG9yX2ZyZWUAuAENX193YmdfbHdfZnJlZQC4AQpwb3BsX2ltbTI0ACcPX193YmdfcG9wbF9mcmVlALgBDV9fd2JnX3NiX2ZyZWUAuAEPX193YmdfbXVsaV9mcmVlALgBDl9fd2JnX2xvZ19mcmVlALgBCGppX2ltbTI0ACcNX193YmdfamlfZnJlZQC4AQ9fX3diZ19tbG9nX2ZyZWUAuAEPX193YmdfbWNsaV9mcmVlALgBDl9fd2JnX3N1Yl9mcmVlALgBDl9fd2JnX3NsbF9mcmVlALgBDl9fd2JnX25vdF9mcmVlALgBD19fd2JnX2puZWJfZnJlZQC4AQ9fX3diZ19zcmxpX2ZyZWUAuAEPX193YmdfczI1Nl9mcmVlALgBDl9fd2JnX2JhbF9mcmVlALgBD19fd2JnX2ptcGJfZnJlZQC4AQZjZnNfcmEATg5fX3diZ19jZnNfZnJlZQC4AQZjZmVfcmEATg5fX3diZ19jZmVfZnJlZQC4AQ9fX3diZ193ZGFtX2ZyZWUAuAENX193YmdfZ21fZnJlZQC4AQ9fX3diZ193cW1tX2ZyZWUAuAEKcG9waF9pbW0yNAAnD19fd2JnX3BvcGhfZnJlZQC4AQ9fX3diZ193ZGR2X2ZyZWUAuAEPX193YmdfdGltZV9mcmVlALgBD19fd2JnX3hvcmlfZnJlZQC4AQVjYl9yYQBODV9fd2JnX2NiX2ZyZWUAuAEPX193Ymdfam5lZl9mcmVlALgBD19fd2JnX2VkMTlfZnJlZQC4AQ9fX3diZ193ZGNtX2ZyZWUAuAEKcHNoaF9pbW0yNAAnD19fd2JnX3BzaGhfZnJlZQC4ARNqbmViX25ld190eXBlc2NyaXB0AE0Kd3Fkdl9pbW0wNgAXCndxbWxfaW1tMDYAFwp3ZG1sX2ltbTA2ABcKd3FvcF9pbW0wNgAXCndkb3BfaW1tMDYAFwp3cWNtX2ltbTA2ABcKd2Rkdl9pbW0wNgAXCndkY21faW1tMDYAFwpqbmVmX2ltbTA2ABcHbW92aV9yYQAWB21sZHZfcmQAFwdtbGR2X3JjAA8HbWxkdl9yYgALB21sZHZfcmEAFgZndGZfcmIACwZndGZfcmEAFgZzcndfcmMADwZzcndfcmIACwZzcndfcmEAFgdlY2FsX3JjAA8HZWNhbF9yYgALB2VjYWxfcmEAFgdzY3dxX3JjAA8Hc2N3cV9yYgALB3Njd3FfcmEAFgZleHBfcmMADwZleHBfcmIACwZleHBfcmEAFgZtdWxfcmMADwZtdWxfcmIACwZtdWxfcmEAFgZzcmxfcmMADwZzcmxfcmIACwZzcmxfcmEAFgdzd3dxX3JkABcHc3d3cV9yYwAPB3N3d3FfcmIACwdzd3dxX3JhABYGbWNwX3JjAA8GbWNwX3JiAAsGbWNwX3JhABYIc3dfaW1tMTIADAVzd19yYgALBXN3X3JhABYJZ3RmX2ltbTEyAAwGZGl2X3JiAAsGZGl2X3JhABYHbG9nZF9yZAAXB2xvZ2RfcmMADwdsb2dkX3JiAAsHbG9nZF9yYQAWBW9yX3JjAA8Fb3JfcmIACwVvcl9yYQAWBm1lcV9yZAAXBm1lcV9yYwAPBm1lcV9yYgALBm1lcV9yYQAWB3dxYW1fcmQAFwd3cWFtX3JjAA8Hd3FhbV9yYgALB3dxYW1fcmEAFgpqbnpiX2ltbTEyAAwHam56Yl9yYgALB2puemJfcmEAFgZsZGNfcmMADwZsZGNfcmIACwZsZGNfcmEAFgptY3BpX2ltbTEyAAwHbWNwaV9yYgALB21jcGlfcmEAFgptb3ZpX2ltbTE4AAkHam1wZl9yYQAWCGxiX2ltbTEyAAwFbGJfcmIACwVsYl9yYQAWB3dxY21fcmMADwd3cWNtX3JiAAsHd3FjbV9yYQAWB3dxb3BfcmMADwd3cW9wX3JiAAsHd3FvcF9yYQAWB21yb29fcmMADwdtcm9vX3JiAAsHbXJvb19yYQAWB3dkbWxfcmMADwd3ZG1sX3JiAAsHd2RtbF9yYQAWBXRyX3JjAA8FdHJfcmIACwV0cl9yYQAWCmpuZWlfaW1tMTIADAdqbmVpX3JiAAsHam5laV9yYQAWB2VjYWxfcmQAFwZkaXZfcmMADwdjYWxsX3JiAAsHY2FsbF9yYQAWB2NhbGxfcmMADwdhbmRpX3JiAAsHYW5kaV9yYQAWB2Joc2hfcmIACwdiaHNoX3JhABYGc3d3X3JjAA8Gc3d3X3JiAAsGc3d3X3JhABYKc3ViaV9pbW0xMgAMB3N1YmlfcmIACwdzdWJpX3JhABYFZXFfcmMADwVlcV9yYgALBWVxX3JhABYHd2RtbV9yZAAXB3dkbW1fcmMADwd3ZG1tX3JiAAsHd2RtbV9yYQAWCnNsbGlfaW1tMTIADAdzbGxpX3JiAAsHc2xsaV9yYQAWBmpuZV9yYwAPBmpuZV9yYgALBmpuZV9yYQAWB21vdmVfcmIACwdtb3ZlX3JhABYKZGl2aV9pbW0xMgAMB2RpdmlfcmIACwdkaXZpX3JhABYHZWNyMV9yYwAPB2VjcjFfcmIACwdlY3IxX3JhABYHY3Npel9yYgALB2NzaXpfcmEAFgdyZXRkX3JiAAsHcmV0ZF9yYQAWCm1vZGlfaW1tMTIADAdtb2RpX3JiAAsHbW9kaV9yYQAWBWd0X3JjAA8FZ3RfcmIACwVndF9yYQAWE19fd2JnX21hdGhhcmdzX2ZyZWUAdwZjY3BfcmQAFwZjY3BfcmMADwZjY3BfcmIACwZjY3BfcmEAFgdlY2sxX3JjAA8HZWNrMV9yYgALB2VjazFfcmEAFgdrMjU2X3JjAA8HazI1Nl9yYgALB2syNTZfcmEAFgphbmRpX2ltbTEyAAwGYW5kX3JiAAsGYW5kX3JhABYFbHRfcmMADwVsdF9yYgALBWx0X3JhABYGc21vX3JkABcGc21vX3JjAA8Gc21vX3JiAAsGc21vX3JhABYKam56Zl9pbW0xMgAMB2puemZfcmIACwdqbnpmX3JhABYGbWNsX3JiAAsGbWNsX3JhABYHbWludF9yYgALB21pbnRfcmEAFgd3ZG9wX3JjAA8Hd2RvcF9yYgALB3dkb3BfcmEAFgdjcm9vX3JiAAsHY3Jvb19yYQAWBnRyb19yZAAXBnRyb19yYwAPBnRyb19yYgALBnRyb19yYQAWB3dxbWRfcmQAFwd3cW1kX3JjAA8Hd3FtZF9yYgALB3dxbWRfcmEAFgd3cWR2X3JjAA8Hd3Fkdl9yYgALB3dxZHZfcmEAFgpleHBpX2ltbTEyAAwHZXhwaV9yYgALB2V4cGlfcmEAFgdzcndxX3JkABcHc3J3cV9yYwAPB3Nyd3FfcmIACwdzcndxX3JhABYHd3FtbF9yYwAPB3dxbWxfcmIACwd3cW1sX3JhABYHd2RtZF9yZAAXB3dkbWRfcmMADwd3ZG1kX3JiAAsHd2RtZF9yYQAWBm1vZF9yYwAPBm1vZF9yYgALBm1vZF9yYQAWCmpuemlfaW1tMTgACQdqbnppX3JhABYHYnVybl9yYgALB2J1cm5fcmEAFglvcmlfaW1tMTIADAZvcmlfcmIACwZvcmlfcmEAFgZhbmRfcmMADwdhZGRpX3JiAAsHYWRkaV9yYQAWBnhvcl9yYwAPBnhvcl9yYgALBnhvcl9yYQAWCGx3X2ltbTEyAAwFbHdfcmIACwVsd19yYQAWCHNiX2ltbTEyAAwFc2JfcmIACwVzYl9yYQAWCm11bGlfaW1tMTIADAdtdWxpX3JiAAsHbXVsaV9yYQAWBmxvZ19yZAAXBmxvZ19yYwAPBmxvZ19yYgALBmxvZ19yYQAWB21sb2dfcmMADwdtbG9nX3JiAAsHbWxvZ19yYQAWCm1jbGlfaW1tMTgACQdtY2xpX3JhABYGc3ViX3JjAA8Gc3ViX3JiAAsGc3ViX3JhABYGc2xsX3JjAA8Gc2xsX3JiAAsGc2xsX3JhABYGbm90X3JiAAsGbm90X3JhABYHam5lYl9yYwAPB2puZWJfcmIACwdqbmViX3JhABYKc3JsaV9pbW0xMgAMB3NybGlfcmIACwdzcmxpX3JhABYHczI1Nl9yYwAPB3MyNTZfcmIACwdzMjU2X3JhABYGYmFsX3JjAA8GYmFsX3JiAAsGYmFsX3JhABYKam1wZl9pbW0xOAAJB2ptcGJfcmEAFgd3ZGFtX3JkABcHd2RhbV9yYwAPB3dkYW1fcmIACwd3ZGFtX3JhABYKam1wYl9pbW0xOAAJBWdtX3JhABYHd3FtbV9yZAAXB3dxbW1fcmMADwd3cW1tX3JiAAsHd3FtbV9yYQAWB3dkZHZfcmMADwd3ZGR2X3JiAAsHd2Rkdl9yYQAWB3RpbWVfcmIACwd0aW1lX3JhABYKeG9yaV9pbW0xMgAMB3hvcmlfcmIACwd4b3JpX3JhABYHam5lZl9yYwAPB2puZWZfcmIACwdqbmVmX3JhABYH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QQx2ELwBIAFBEGokAAtuAQJ/IwBBEGsiASQAIAFBCGogABBKIAEoAggiAC8AACAAQQJqLQAAQRB0chDVASEAIAEoAgwiAiACKAIAQQFrNgIAQQhBBBC6ASICIABBCHZBgB5xIABBGHZyOwEEIAJBADYCACABQRBqJAAgAgttAQF/IwBBMGsiASQAIAEgADoADyAAQf8BcUHAAE8EQCABQRxqQgE3AgAgAUECNgIUIAFB9IDAADYCECABQQI2AiwgASABQShqNgIYIAEgAUEPajYCKCABQRBqQYSBwAAQSQALIAFBMGokACAAC24BAX8jAEEwayIBJAAgASAAOwEOIABB//8DcUGAIE8EQCABQRxqQgE3AgAgAUECNgIUIAFBuIHAADYCECABQQM2AiwgASABQShqNgIYIAEgAUEOajYCKCABQRBqQciBwAAQSQALIAFBMGokACAAC10BA38jAEEQayIBJAAgAUEIaiAAEEogASgCCCIAQQJqLQAAIQIgAC8AACABKAIMIgMgAygCAEEBazYCACACQRB0chDVASIAQR52IABBDnZBPHFyELwBIAFBEGokAAsVACAAQYyCwABB/IHAAEGAgBAQ8gELFgAgAEHQgsAAQcCCwABBgICACBDyAQtMACADQf8BcSABQf8BcUEMdCAAQf8BcUESdHIiACACQf8BcUEGdHJyIgFBEHRBgID8B3EgAEEIdkGA/gNxIAFBgP4DcUEIdHJBCHZyC1UCAX8BfiMAQRBrIgIkACABEMQBIAJBCGogARBUIAIoAgxBADYCACABKQIAIQMgARAEIAAgA0IoiKdBAXE6AAEgACADQiCIp0EBcToAACACQRBqJAALEAAgACABIAIgA0HiABD0AQsQACAAIAEgAiADQeMAEPQBC08BA38jAEEQayIBJAAgAUEIaiAAEEogASgCCCIAQQJqLQAAIQIgAC8AACABKAIMIgMgAygCAEEBazYCACACQRB0chDIARC8ASABQRBqJAALVQEDfyMAQRBrIgEkACABQQhqIAAQSiABKAIIIgBBAmotAAAhAiAALwAAIAEoAgwiAyADKAIAQQFrNgIAIAJBEHRyENUBQRh2QT9xELwBIAFBEGokAAtSAQF/IAAQUSECIAEQUyEAQQhBBBC6ASIBIABBEHRBgID8B3EgACACQf8BcUESdHIiAEGA/gNxQQh0IABBCHZBgP4DcXJBCHZyrUIghjcCACABCxAAIAAgASACIANB3gAQ9QELEAAgACABIAIgA0HfABD1AQsQACAAIAEgAiADQeAAEPUBCxAAIAAgASACIANB4QAQ9QELUQIBfwF+IwBBEGsiAiQAIAEQxAEgAkEIaiABEFQgAigCDEEANgIAIAEpAgAhAyABEAQgACADQiiIPAABIAAgA0IgiKdBAXE6AAAgAkEQaiQACz4BAX8jAEEQayIEJAAgABBRIAEQUSACEFEgBEEIaiADEBMgBC0ACEEBcSAELQAJQQFxEHoQrAEgBEEQaiQAC0kBAX8gABBRIQAgARBRIQFBCEEEELoBIgIgAUH/AXFBDHQgAEESdHIiAEGA4ANxQQh0IABBCHZBgP4DcXJBCHatQiCGNwIAIAILDAAgACABQcsAEPYBCwwAIAAgAUHMABD2AQsMACAAIAFBzQAQ9gELDAAgACABQc4AEPYBCwwAIAAgAUHPABD2AQsMACAAIAFB0AAQ9gELPAEBfyMAQRBrIgQkACAAEFEgARBRIAIQUSAEQQhqIAMQHSAELQAIQQFxIAQtAAkQvgEQrAEgBEEQaiQAC0gAIAAQxAEgACgCAEF/RgRAEM4BAAsgAC8ABCAAQQZqLQAAQRB0chDVASIAQYD+A3FBCHQgAEEIdkGA/gNxIABBGHZychC7AQsLACAAIAFBBxD3AQs/AQJ/AkAgABBRIgBBGHENACAAQQdxIgJBB0YNAEEIQQQQugEiASAAQQV2QQFxrUIghiACrUIohoQ3AgALIAELCwAgACABQQgQ9wELPwAgAkEWdEGAgIAGcSABQf8BcUEMdCIBIAJB/AFxQQZ0ckGA/gNxQQh0IAEgAEESdHJBCHZBgP4DcXJBCHZyCwsAIAAgAUEKEPgBCwsAIAAgAUEMEPgBCwsAIAAgAUEUEPgBCwsAIAAgAUEWEPgBCwsAIAAgAUEZEPgBCwsAIAAgAUEbEPgBCwsAIAAgAUEeEPgBCwsAIAAgAUEfEPgBCwsAIAAgAUEkEPgBCwsAIAAgAUEyEPgBCz8AIAAQUSEAIAEQUyIBQRB0QYCA/AdxIABB/wFxQRJ0IAFyIgBBgP4DcUEIdCAAQQh2QYD+A3FyQQh2chCsAQtAAQF/IAAQUyEAQQhBBBC6ASIBIABBEHRBgID8B3EgAEEIdkGA/gNxIABBgP4DcUEIdHJBCHZyrUIghjcCACABCzgAIAJBEHRBgID8B3EgAUH/AXFBDHQiASACckGA/gNxQQh0IAEgAEESdHJBCHZBgP4DcXJBCHZyCzwBAn8jAEEQayIBJAAgABDEASABQQhqIAAQSyABKAIILQABIAEoAgwiAiACKAIAQQFrNgIAIAFBEGokAAs8AQJ/IwBBEGsiASQAIAAQxAEgAUEIaiAAEEsgASgCCC0AACABKAIMIgIgAigCAEEBazYCACABQRBqJAALOQEBfyMAQRBrIgIkACAAEMQBIAJBCGogABBUIAIoAgwgAigCCCABQQBHOgAAQQA2AgAgAkEQaiQACzkBAX8jAEEQayICJAAgABDEASACQQhqIAAQVCACKAIMIAIoAgggAUEARzoAAUEANgIAIAJBEGokAAs4AQJ/IwBBEGsiASQAIAAQxAEgAUEIaiAAEFQgASgCDEEANgIAIAAtAAQgABAEIAFBEGokAEEBcQs3AQJ/IwBBEGsiASQAIAFBCGogABBKIAEoAggtAAQgASgCDCICIAIoAgBBAWs2AgAgAUEQaiQACzcBAn8jAEEQayIBJAAgAUEIaiAAEEogASgCCCgCACABKAIMIgIgAigCAEEBazYCACABQRBqJAALCgAgAEHVABD5AQsKACAAQdYAEPkBCwoAIABB1wAQ+QELCgAgAEHaABD5AQsKACAAQdsAEPkBCwoAIABB3AAQ+QELCgAgAEHdABD5AQs5AAJAAn8gAkGAgMQARwRAQQEgACACIAEoAhARAwANARoLIAMNAUEACw8LIAAgA0EAIAEoAgwRAAALMQEBfyMAQRBrIgEkACABQQhqIAAQHSABLQAJIAEtAAhBBXRBIHFyELwBIAFBEGokAAuhAgEBfyMAQSBrIgIkACACQQE7ARwgAiABNgIYIAIgADYCFCACQbiGwAA2AhAgAkHoiMAANgIMIAJBDGoiACgCCCIBRQRAIwBBIGsiACQAIABBDGpCADcCACAAQQE2AgQgAEHoiMAANgIIIABBKzYCHCAAQZCIwAA2AhggACAAQRhqNgIAIABB2IjAABBJAAsgAUEMaigCACECAkACQCABKAIEDgIAAAELIAINAAsgAC0AECEBIAAtABEaQdiJwABB2InAACgCACIAQQFqNgIAAkAgAEEASA0AQaSNwAAtAABBAXENAEGkjcAAQQE6AABBoI3AAEGgjcAAKAIAQQFqNgIAQdSJwAAoAgBBAEgNAEGkjcAAQQA6AAAgAUUNAAALAAs1AQF/IAEQxAEgASgCACICQX9GBEAQzgEACyABIAJBAWo2AgAgACABNgIEIAAgAUEEajYCAAsxAQF/IAEoAgAiAkF/RwRAIAEgAkEBajYCACAAIAE2AgQgACABQQRqNgIADwsQzgEACzUBAX8gAEE2TwRAQeCCwABBGRDSAQALQQxBBBC6ASICIAA6AAggAiABNgIEIAJBADYCACACCzAAIAAQUSABEFEgAhBRIAMQURASIQBBCEEEELoBIgEgAK1C////B4NCIIY3AgAgAQstACAAEMQBIAAoAgBBf0YEQBDOAQALIAAvAAQgAEEGai0AAEEQdHIQyAEQvAELLAAgABBRIAEQUSACEFEQKyEAQQhBBBC6ASIBIACtQv///weDQiCGNwIAIAELLAAgABBRIAEQUSACEFIQOCEAQQhBBBC6ASIBIACtQv///weDQiCGNwIAIAELJQEBfwJAIAAEQCAAKAIADQEgAC0ABCAAEAQPCxDNAQALEM4BAAslAQF/AkAgAARAIAAoAgANASAALwEEIAAQBA8LEM0BAAsQzgEACyUBAX8CQCAABEAgACgCAA0BIAAoAgQgABAEDwsQzQEACxDOAQALKAAgASgCAEUEQCABQX82AgAgACABNgIEIAAgAUEEajYCAA8LEM4BAAspACADED0hAyAAEL0BIAEQvQEgAhC9ASADEMIBQQh0QeQAchDFARC7AQspACADED0hAyAAEL0BIAEQvQEgAhC9ASADEMIBQQh0QeUAchDFARC7AQslAQF/IAAQUSEAQQhBBBC6ASIBIABBAnRB/AFxrUIghjcCACABCyAAIABBAWsiAEEFTQRAIABBAWoPC0HggsAAQRkQ0gEACyABAX8gABDEASAAKAIABEAQzgEACyAAKAIEIAAQBBAECyMAIAIQBSECIAAQvQEgARC9ASACEDhBCHRBygByEMUBELsBCx4AAkAgAARAIAAoAgANASAAEAQPCxDNAQALEM4BAAsPACAAIAEgAiADQRIQ7gELDwAgACABIAIgA0EYEO4BCw8AIAAgASACIANBHBDuAQsPACAAIAEgAiADQR0Q7gELDwAgACABIAIgA0EiEO4BCw8AIAAgASACIANBIxDuAQsPACAAIAEgAiADQSgQ7gELDwAgACABIAIgA0EqEO4BCw8AIAAgASACIANBLBDuAQsPACAAIAEgAiADQTgQ7gELEAAgACABIAIgA0HTABDvAQsQACAAIAEgAiADQdQAEO8BCxAAIAAgASACIANB3gAQ7wELEAAgACABIAIgA0HfABDvAQsQACAAIAEgAiADQeAAEO8BCxAAIAAgASACIANB4QAQ7wELEAAgACABIAIgA0HiABDvAQsQACAAIAEgAiADQeMAEO8BCxAAIAAgASACIANB5AAQ7wELEAAgACABIAIgA0HlABDvAQsQACAAIAEgAiADQeYAEO4BCxAAIAAgASACIANB5wAQ7gELEAAgACABIAIgA0HoABDuAQsQACAAIAEgAiADQekAEO4BCxAAIAAgASACIANB6gAQ7gELEAAgACABIAIgA0HrABDuAQsQACAAIAEgAiADQewAEO4BCx0BAX8jAEEQayIBJAAgAUEIaiAAEB0gAUEQaiQACx0BAX8jAEEQayIBJAAgAUEIaiAAEBMgAUEQaiQACx8AIAEQWCEBIAAQvQEgARC3AUEIdEHMAHIQxQEQuwELGQAgACABIAJBIEEAIAQbQRBBACADG3IQEgsNACAAIAEgAkEBEPABCw0AIAAgASACQQIQ8AELDQAgACABIAJBAxDwAQsNACAAIAEgAkEEEPABCw0AIAAgASACQQUQ8AELDQAgACABIAJBBhDwAQsNACAAIAEgAkEHEPABCw0AIAAgASACQQgQ8AELDQAgACABIAJBCRDwAQsNACAAIAEgAkELEPABCw0AIAAgASACQQ0Q8AELDQAgACABIAJBDhDwAQsNACAAIAEgAkEPEPABCw0AIAAgASACQRAQ8AELDQAgACABIAJBERDwAQsNACAAIAEgAkEXEPABCw0AIAAgASACQSEQ8AELDQAgACABIAJBJhDwAQsNACAAIAEgAkEnEPABCw0AIAAgASACQSkQ8AELDQAgACABIAJBKxDwAQsNACAAIAEgAkEtEPABCw0AIAAgASACQS4Q8AELDQAgACABIAJBLxDwAQsNACAAIAEgAkEwEPABCw0AIAAgASACQTEQ8AELDQAgACABIAJBNRDwAQsNACAAIAEgAkE3EPABCw0AIAAgASACQTkQ8QELDQAgACABIAJBOhDxAQsNACAAIAEgAkE7EPEBCw0AIAAgASACQTwQ8QELDQAgACABIAJBPRDxAQsNACAAIAEgAkE+EPEBCw0AIAAgASACQT8Q8QELDgAgACABIAJBwAAQ8QELDgAgACABIAJBwQAQ8QELDgAgACABIAJBwgAQ8QELDgAgACABIAJBwwAQ8QELDgAgACABIAJBxAAQ8QELDgAgACABIAJBxQAQ8QELDgAgACABIAJBxgAQ8QELDgAgACABIAJBxwAQ8QELDgAgACABIAJByAAQ8QELDgAgACABIAJByQAQ8QELDgAgACABIAJBygAQ8QELDgAgACABIAJB0QAQ8QELDgAgACABIAJB0gAQ8QELGAEBfyAAQf8BcUE/TQR/IAAQvAEFQQALCx4BAX9BCEEEELoBIgEgAK1C////B4NCIIY3AgAgAQsbACAAEMQBIAAoAgBBf0YEQBDOAQALIAAtAAQLCQAgAEETEPMBCwkAIABBFRDzAQsJACAAQRoQ8wELCQAgAEEgEPMBCwkAIABBJRDzAQsJACAAQTQQ8wELCQAgAEE2EPMBCwoAIABB2AAQ8wELCgAgAEHZABDzAQsXACABQRB0QYCA/AdxIABBAnRB/AFxcgsXACAAEMQBIAAoAgAEQBDOAQALIAAQBAscACAAEL0BIAEQvQEgAhC9ARArQQh0EMUBELsBCxIAIAEgABDHASIABEAgAA8LAAsbAQF/QQhBBBC6ASIBIAA2AgQgAUEANgIAIAELGwEBf0EIQQQQugEiASAAOgAEIAFBADYCACABC24AIABB/wFxQcAATwRAIwBBMGsiACQAIABBIjYCDCAAQYCAwAA2AgggAEEcakIBNwIAIABBATYCFCAAQbCGwAA2AhAgAEEBNgIsIAAgAEEoajYCGCAAIABBCGo2AiggAEEQakG4gMAAEEkACyAACxQAIAAgASACQSBBACADGyAEchASCxgAIAAQUSABEFEgAhBRIAMQPRDCARCsAQsXACAAEFEgARBRIAIQUSADEFEQEhCsAQsTACAAEFEgARBRIAIQBRA4EKwBCxEAIAAgASACQSBBACADGxASCxMAIAAQUSABEFEgAhBSEDgQrAELDAAgAARADwsQzQEACxQBAX9BBEEBELoBIgEgADYAACABCxQBAX9BCEEEELoBIgBCADcCACAAC4ED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", imports);
|
28540
|
+
return _loadWasmModule(1, null, "AGFzbQEAAAABQAtgA39/fwF/YAF/AX9gBH9/f38Bf2ACf38Bf2AAAX9gAn9/AGABfwBgBX9/f39/AX9gA39/fwBgAABgAn5/AX8CGAEDd2JnEF9fd2JpbmRnZW5fdGhyb3cABQP9AfsBAQMKBgEFBQUBBQEBAQEBAQECBQICAQMBAgICAgUCAwMDAwMDAwIBBQEFAAMDAwMDAwMDAwMDAwEAAQEFBQEBAQEBAQEBAQECAQUFBQMCAQAAAQEBBQICAQEGAAYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBgMHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQMGAAMBAQEHAgIAAgAGAQQDAQMFCAEJCQMDAwUBAQEGBgYGBAQEBAQEBAQEBAQEBAQEBAQEBAYHBwICAgMHBwAIAAMEBQFwAQcHBQMBABEGCQF/AUGAgMAACwf4TM8FBm1lbW9yeQIAFl9fd2JnX2NvbXBhcmVhcmdzX2ZyZWUAexpfX3diZ19nZXRfY29tcGFyZWFyZ3NfbW9kZQA6Gl9fd2JnX3NldF9jb21wYXJlYXJnc19tb2RlACgiX193YmdfZ2V0X2NvbXBhcmVhcmdzX2luZGlyZWN0X3JocwA7Il9fd2JnX3NldF9jb21wYXJlYXJnc19pbmRpcmVjdF9yaHMAPBJjb21wYXJlYXJnc190b19pbW0ASRRjb21wYXJlYXJnc19mcm9tX2ltbQApFV9fd2JnX2dldF9tYXRoYXJnc19vcAA6FV9fd2JnX3NldF9tYXRoYXJnc19vcAAqEl9fd2JnX211bGFyZ3NfZnJlZQB8Hl9fd2JnX2dldF9tdWxhcmdzX2luZGlyZWN0X3JocwA6Hl9fd2JnX3NldF9tdWxhcmdzX2luZGlyZWN0X3JocwA9El9fd2JnX2RpdmFyZ3NfZnJlZQDYAR5fX3diZ19nZXRfZGl2YXJnc19pbmRpcmVjdF9yaHMArwEhcGFuaWNpbnN0cnVjdGlvbl9lcnJvcl90eXBlc2NyaXB0AE0XcGFuaWNpbnN0cnVjdGlvbl9yZWFzb24APxxwYW5pY2luc3RydWN0aW9uX2luc3RydWN0aW9uAEAMZ21fZnJvbV9hcmdzAMsBDWd0Zl9mcm9tX2FyZ3MAwwEHZ21fYXJncwB9CGd0Zl9hcmdzAFsOd2RjbV9mcm9tX2FyZ3MAJg53ZG9wX2Zyb21fYXJncwAmDndkbWxfZnJvbV9hcmdzAB4Od2Rkdl9mcm9tX2FyZ3MAwQEJd2RjbV9hcmdzABkJd3FjbV9hcmdzABoJd2RvcF9hcmdzABsJd3FvcF9hcmdzABwJd2RtbF9hcmdzABQJd3FtbF9hcmdzABUJd2Rkdl9hcmdzAFYJd3Fkdl9hcmdzAFcQX193YmdfaW1tMDZfZnJlZQDZARBfX3diZ19pbW0xMl9mcmVlANoBEF9fd2JnX2ltbTE4X2ZyZWUA2wEOX193YmdfYWRkX2ZyZWUAugEPX193Ymdfbm9vcF9mcmVlAFwSYWRkX25ld190eXBlc2NyaXB0AFAGYWRkX3JhABYGYWRkX3JiAAsGYWRkX3JjAA8DYWRkALsBA2FuZAB/A2RpdgCAAQJlcQCBAQNleHAAggECZ3QAgwECbHQAhAEEbWxvZwCFAQRtcm9vAIYBBG1vZF8AhwEFbW92ZV8ALANtdWwAiAEDbm90AC0Cb3IAiQEDc2xsAIoBA3NybACLAQNzdWIAjAEDeG9yAI0BBG1sZHYAXQNyZXQAsAEEcmV0ZAAuE2Fsb2NfbmV3X3R5cGVzY3JpcHQAWAdhbG9jX3JhAE8EYWxvYwCxAQNtY2wALwNtY3AAjgEDbWVxAF4TYmhzaF9uZXdfdHlwZXNjcmlwdAAfBGJoc2gAMARiaGVpALIBBGJ1cm4AMQRjYWxsAF8DY2NwAGAEY3JvbwAyBGNzaXoAMwJjYgCzAQNsZGMAYQNsb2cAYgRsb2dkAGMEbWludAA0BHJ2cnQAtAEEc2N3cQCPAQNzcncAkAEEc3J3cQBkA3N3dwCRAQRzd3dxAGUCdHIAkgEDdHJvAGYEZWNrMQCTAQRlY3IxAJQBBGVkMTkAZwRrMjU2AJUBBHMyNTYAlgEEdGltZQA1E25vb3BfbmV3X3R5cGVzY3JpcHQAyAEEbm9vcADcAQRmbGFnALUBA2JhbACXAQNqbXAAtgEDam5lAJgBA3NtbwBoE2FkZGlfbmV3X3R5cGVzY3JpcHQAUQphZGRpX2ltbTEyAAwEYWRkaQCZAQRhbmRpAJoBBGRpdmkAmwEEZXhwaQCcAQRtb2RpAJ0BBG11bGkAngEDb3JpAJ8BBHNsbGkAoAEEc3JsaQChAQRzdWJpAKIBBHhvcmkAowEEam5laQCkAQJsYgClAQJsdwCmAQJzYgCnAQJzdwCoAQRtY3BpAKkBEmd0Zl9uZXdfdHlwZXNjcmlwdADFAQNndGYAqgEEbWNsaQAgEWdtX25ld190eXBlc2NyaXB0ADYIZ21faW1tMTgACQJnbQAhBG1vdmkAIgRqbnppACMEam1wZgAkE2ptcGJfbmV3X3R5cGVzY3JpcHQAFwRqbXBiACUEam56ZgCrAQRqbnpiAKwBBGpuZWYAaQpqbmViX2ltbTA2ABgEam5lYgBqAmppAEETY2ZlaV9uZXdfdHlwZXNjcmlwdAA4CmNmZWlfaW1tMjQAJwRjZmVpAEIEY2ZzaQBDA2NmZQC3AQNjZnMAuAEEcHNobABEBHBzaGgARQRwb3BsAEYEcG9waABHE3dkY21fbmV3X3R5cGVzY3JpcHQAwgEEd2RjbQBrBHdxY20AbAR3ZG9wAG0Ed3FvcABuBHdkbWwAbwR3cW1sAHAEd2RkdgBxBHdxZHYAcgR3ZG1kAHMEd3FtZAB0BHdkYW0AdQR3cWFtAHYEd2RtbQB3BHdxbW0AeARlY2FsAHkEYnNpegA3E2JsZGRfbmV3X3R5cGVzY3JpcHQATgdibGRkX3JkABgEYmxkZAB6Fl9fd2JnX2luc3RydWN0aW9uX2ZyZWUAWhRpbnN0cnVjdGlvbl90b19ieXRlcwAKEGluc3RydWN0aW9uX3NpemUA7gERcmVnaWRfbmV3X2NoZWNrZWQArQEJcmVnaWRfYmFsAN0BCnJlZ2lkX2NnYXMA3gEJcmVnaWRfZXJyAN8BCnJlZ2lkX2ZsYWcA4AEIcmVnaWRfZnAA4QEKcmVnaWRfZ2dhcwDiAQhyZWdpZF9ocADjAQhyZWdpZF9pcwDkAQhyZWdpZF9vZgDlAQlyZWdpZF9vbmUA5gEIcmVnaWRfcGMA5wEJcmVnaWRfcmV0AOgBCnJlZ2lkX3JldGwA6QEIcmVnaWRfc3AA6gEJcmVnaWRfc3BwAOsBDnJlZ2lkX3dyaXRhYmxlAOwBCnJlZ2lkX3plcm8A7QEUcmVnaWRfbmV3X3R5cGVzY3JpcHQA1QELcmVnaWRfdG9fdTgA1gETbW92aV9uZXdfdHlwZXNjcmlwdAAXE21jbGlfbmV3X3R5cGVzY3JpcHQAFxNqbnppX25ld190eXBlc2NyaXB0ABcTam1wZl9uZXdfdHlwZXNjcmlwdAAXEm5vdF9uZXdfdHlwZXNjcmlwdAAfE3JldGRfbmV3X3R5cGVzY3JpcHQAHxNtb3ZlX25ld190eXBlc2NyaXB0AB8SbWNsX25ld190eXBlc2NyaXB0AB8TYnVybl9uZXdfdHlwZXNjcmlwdAAfE2Nyb29fbmV3X3R5cGVzY3JpcHQAHxNjc2l6X25ld190eXBlc2NyaXB0AB8TbWludF9uZXdfdHlwZXNjcmlwdAAfE3RpbWVfbmV3X3R5cGVzY3JpcHQAHxNic2l6X25ld190eXBlc2NyaXB0AB8ScmV0X25ld190eXBlc2NyaXB0AFgTYmhlaV9uZXdfdHlwZXNjcmlwdABYEWNiX25ld190eXBlc2NyaXB0AFgTcnZydF9uZXdfdHlwZXNjcmlwdABYE2ZsYWdfbmV3X3R5cGVzY3JpcHQAWBJqbXBfbmV3X3R5cGVzY3JpcHQAWBJjZmVfbmV3X3R5cGVzY3JpcHQAWBJjZnNfbmV3X3R5cGVzY3JpcHQAWBNtbGR2X25ld190eXBlc2NyaXB0AE4SbWVxX25ld190eXBlc2NyaXB0AE4SY2NwX25ld190eXBlc2NyaXB0AE4SbG9nX25ld190eXBlc2NyaXB0AE4TbG9nZF9uZXdfdHlwZXNjcmlwdABOE3Nyd3FfbmV3X3R5cGVzY3JpcHQAThNzd3dxX25ld190eXBlc2NyaXB0AE4SdHJvX25ld190eXBlc2NyaXB0AE4TZWQxOV9uZXdfdHlwZXNjcmlwdABOEnNtb19uZXdfdHlwZXNjcmlwdABOEmxkY19uZXdfdHlwZXNjcmlwdABOE2puZWZfbmV3X3R5cGVzY3JpcHQAThN3ZG1kX25ld190eXBlc2NyaXB0AE4Td3FtZF9uZXdfdHlwZXNjcmlwdABOE3dkYW1fbmV3X3R5cGVzY3JpcHQAThN3cWFtX25ld190eXBlc2NyaXB0AE4Td2RtbV9uZXdfdHlwZXNjcmlwdABOE3dxbW1fbmV3X3R5cGVzY3JpcHQAThNlY2FsX25ld190eXBlc2NyaXB0AE4TY2FsbF9uZXdfdHlwZXNjcmlwdABOEmFuZF9uZXdfdHlwZXNjcmlwdABQEmRpdl9uZXdfdHlwZXNjcmlwdABQEWVxX25ld190eXBlc2NyaXB0AFASZXhwX25ld190eXBlc2NyaXB0AFARZ3RfbmV3X3R5cGVzY3JpcHQAUBFsdF9uZXdfdHlwZXNjcmlwdABQE21sb2dfbmV3X3R5cGVzY3JpcHQAUBNtcm9vX25ld190eXBlc2NyaXB0AFASbW9kX25ld190eXBlc2NyaXB0AFASbXVsX25ld190eXBlc2NyaXB0AFARb3JfbmV3X3R5cGVzY3JpcHQAUBJzbGxfbmV3X3R5cGVzY3JpcHQAUBJzcmxfbmV3X3R5cGVzY3JpcHQAUBJzdWJfbmV3X3R5cGVzY3JpcHQAUBJ4b3JfbmV3X3R5cGVzY3JpcHQAUBJtY3BfbmV3X3R5cGVzY3JpcHQAUBNzY3dxX25ld190eXBlc2NyaXB0AFASc3J3X25ld190eXBlc2NyaXB0AFASc3d3X25ld190eXBlc2NyaXB0AFARdHJfbmV3X3R5cGVzY3JpcHQAUBNlY2sxX25ld190eXBlc2NyaXB0AFATZWNyMV9uZXdfdHlwZXNjcmlwdABQE2syNTZfbmV3X3R5cGVzY3JpcHQAUBNzMjU2X25ld190eXBlc2NyaXB0AFASYmFsX25ld190eXBlc2NyaXB0AFASam5lX25ld190eXBlc2NyaXB0AFATYW5kaV9uZXdfdHlwZXNjcmlwdABRE2RpdmlfbmV3X3R5cGVzY3JpcHQAURNleHBpX25ld190eXBlc2NyaXB0AFETbW9kaV9uZXdfdHlwZXNjcmlwdABRE211bGlfbmV3X3R5cGVzY3JpcHQAURJvcmlfbmV3X3R5cGVzY3JpcHQAURNzbGxpX25ld190eXBlc2NyaXB0AFETc3JsaV9uZXdfdHlwZXNjcmlwdABRE3N1YmlfbmV3X3R5cGVzY3JpcHQAURN4b3JpX25ld190eXBlc2NyaXB0AFETam5laV9uZXdfdHlwZXNjcmlwdABREWxiX25ld190eXBlc2NyaXB0AFERbHdfbmV3X3R5cGVzY3JpcHQAURFzYl9uZXdfdHlwZXNjcmlwdABREXN3X25ld190eXBlc2NyaXB0AFETbWNwaV9uZXdfdHlwZXNjcmlwdABRE2puemZfbmV3X3R5cGVzY3JpcHQAURNqbnpiX25ld190eXBlc2NyaXB0AFEOd3FjbV9mcm9tX2FyZ3MAJg53cW9wX2Zyb21fYXJncwAmH19fd2JnX3NldF9tYXRoYXJnc19pbmRpcmVjdF9yaHMAPB5fX3diZ19zZXRfbXVsYXJnc19pbmRpcmVjdF9saHMAPB5fX3diZ19zZXRfZGl2YXJnc19pbmRpcmVjdF9yaHMAPBFqaV9uZXdfdHlwZXNjcmlwdAA4E2Nmc2lfbmV3X3R5cGVzY3JpcHQAOBNwc2hsX25ld190eXBlc2NyaXB0ADgTcHNoaF9uZXdfdHlwZXNjcmlwdAA4E3BvcGxfbmV3X3R5cGVzY3JpcHQAOBNwb3BoX25ld190eXBlc2NyaXB0ADgTd3FvcF9uZXdfdHlwZXNjcmlwdADCARN3ZG1sX25ld190eXBlc2NyaXB0AMIBE3dkZHZfbmV3X3R5cGVzY3JpcHQAwgETd2RvcF9uZXdfdHlwZXNjcmlwdADCARN3cW1sX25ld190eXBlc2NyaXB0AMIBDndxbWxfZnJvbV9hcmdzAB4Td3Fkdl9uZXdfdHlwZXNjcmlwdADCAQ53cWR2X2Zyb21fYXJncwDBARN3cWNtX25ld190eXBlc2NyaXB0AMIBEF9fd2JnX3JlZ2lkX2ZyZWUA2QEQX193YmdfaW1tMjRfZnJlZQDbAQ5fX3diZ19tdWxfZnJlZQC6AQZqbXBfcmEATw5fX3diZ19qbXBfZnJlZQC6AQZjZmVfcmEATw5fX3diZ19jZmVfZnJlZQC6AQ1fX3diZ19nbV9mcmVlALoBD19fd2JnX2puemlfZnJlZQC6AQ9fX3diZ193ZGNtX2ZyZWUAugEOX193Ymdfc3J3X2ZyZWUAugEPX193YmdfbG9nZF9mcmVlALoBDl9fd2JnX3NybF9mcmVlALoBD19fd2JnX2Nyb29fZnJlZQC6AQ9fX3diZ19yZXRkX2ZyZWUAugEPX193Ymdfd3FtbV9mcmVlALoBDV9fd2JnX3NiX2ZyZWUAugEPX193YmdfdGltZV9mcmVlALoBD19fd2JnX3dxbWxfZnJlZQC6AQ9fX3diZ19zdWJpX2ZyZWUAugEOX193Ymdfc3ViX2ZyZWUAugEOX193Ymdfbm90X2ZyZWUAugENX193YmdfbGJfZnJlZQC6AQ9fX3diZ193cWFtX2ZyZWUAugEPX193YmdfczI1Nl9mcmVlALoBBWNiX3JhAE8NX193YmdfY2JfZnJlZQC6AQ9fX3diZ19wb3BoX2ZyZWUAugEPX193YmdfZGl2aV9mcmVlALoBD19fd2JnX21vZGlfZnJlZQC6AQ5fX3diZ19zd3dfZnJlZQC6AQ5fX3diZ19ndGZfZnJlZQC6AQpwb3BoX2ltbTI0ACcNX193YmdfamlfZnJlZQC6AQ9fX3diZ19zcndxX2ZyZWUAugEPX193Ymdfam1wZl9mcmVlALoBD19fd2JnX2syNTZfZnJlZQC6AQ9fX3diZ193ZG9wX2ZyZWUAugEPX193YmdfYW5kaV9mcmVlALoBD19fd2JnX3NsbGlfZnJlZQC6AQ5fX3diZ19tb2RfZnJlZQC6AQpwb3BsX2ltbTI0ACcPX193YmdfcG9wbF9mcmVlALoBD19fd2JnX2Fsb2NfZnJlZQC6AQ9fX3diZ193ZG1kX2ZyZWUAugEPX193YmdfbWxkdl9mcmVlALoBDV9fd2JnX3N3X2ZyZWUAugEPX193Ymdfam5lYl9mcmVlALoBDl9fd2JnX3Ryb19mcmVlALoBDl9fd2JnX29yaV9mcmVlALoBDl9fd2JnX3NsbF9mcmVlALoBD19fd2JnX3dxZHZfZnJlZQC6AQ9fX3diZ193cW1kX2ZyZWUAugEOX193Ymdfam5lX2ZyZWUAugEPX193YmdfbWxvZ19mcmVlALoBD19fd2JnX21pbnRfZnJlZQC6AQ9fX3diZ193cWNtX2ZyZWUAugEPX193YmdfbXVsaV9mcmVlALoBHl9fd2JnX2dldF9tdWxhcmdzX2luZGlyZWN0X2xocwA7D19fd2JnX21jbGlfZnJlZQC6AQ9fX3diZ19qbmVpX2ZyZWUAugEPX193YmdfY3Npel9mcmVlALoBDV9fd2JnX3RyX2ZyZWUAugEPX193YmdfYmxkZF9mcmVlALoBD19fd2JnX2V4cGlfZnJlZQC6AQ9fX3diZ194b3JpX2ZyZWUAugENX193Ymdfb3JfZnJlZQC6AQ9fX3diZ19lY2sxX2ZyZWUAugEHYmhlaV9yYQBPD19fd2JnX2JoZWlfZnJlZQC6AQhqaV9pbW0yNAAnD19fd2JnX2Nmc2lfZnJlZQC6AQ5fX3diZ19tY2xfZnJlZQC6AQ9fX3diZ19qbnpmX2ZyZWUAugEPX193Ymdfc3d3cV9mcmVlALoBDV9fd2JnX2d0X2ZyZWUAugEPX193Ymdfam1wYl9mcmVlALoBDl9fd2JnX2Rpdl9mcmVlALoBD19fd2JnX2J1cm5fZnJlZQC6AR9fX3diZ19nZXRfbWF0aGFyZ3NfaW5kaXJlY3RfcmhzADsOX193YmdfeG9yX2ZyZWUAugEHcnZydF9yYQBPD19fd2JnX3J2cnRfZnJlZQC6AQZyZXRfcmEATw5fX3diZ19yZXRfZnJlZQC6AQ9fX3diZ193ZG1sX2ZyZWUAugEPX193YmdfY2FsbF9mcmVlALoBD19fd2JnX3dkbW1fZnJlZQC6AQ9fX3diZ19tY3BpX2ZyZWUAugEPX193YmdfYWRkaV9mcmVlALoBD19fd2JnX2puemJfZnJlZQC6AQ9fX3diZ19tcm9vX2ZyZWUAugEOX193YmdfZXhwX2ZyZWUAugEOX193YmdfYmFsX2ZyZWUAugEGY2ZzX3JhAE8OX193YmdfY2ZzX2ZyZWUAugEPX193YmdfZWQxOV9mcmVlALoBD19fd2JnX3NybGlfZnJlZQC6AQpwc2hsX2ltbTI0ACcPX193YmdfcHNobF9mcmVlALoBDl9fd2JnX21lcV9mcmVlALoBD19fd2JnX2Joc2hfZnJlZQC6AQ5fX3diZ19sZGNfZnJlZQC6AQ9fX3diZ19qbmVmX2ZyZWUAugEKcHNoaF9pbW0yNAAnD19fd2JnX3BzaGhfZnJlZQC6AQ9fX3diZ193ZGFtX2ZyZWUAugEOX193YmdfbWNwX2ZyZWUAugENX193YmdfbHRfZnJlZQC6AQ9fX3diZ193cW9wX2ZyZWUAugEOX193YmdfYW5kX2ZyZWUAugEPX193YmdfYnNpel9mcmVlALoBD19fd2JnX3dkZHZfZnJlZQC6AQ9fX3diZ19lY2FsX2ZyZWUAugEKY2ZzaV9pbW0yNAAnD19fd2JnX2NmZWlfZnJlZQC6AQ9fX3diZ19lY3IxX2ZyZWUAugEPX193YmdfbW92aV9mcmVlALoBB2ZsYWdfcmEATw9fX3diZ19mbGFnX2ZyZWUAugEPX193YmdfbW92ZV9mcmVlALoBD19fd2JnX3Njd3FfZnJlZQC6AQ1fX3diZ19lcV9mcmVlALoBDl9fd2JnX3Ntb19mcmVlALoBDl9fd2JnX2xvZ19mcmVlALoBDl9fd2JnX2NjcF9mcmVlALoBDV9fd2JnX2x3X2ZyZWUAugETam5lYl9uZXdfdHlwZXNjcmlwdABOCndxZHZfaW1tMDYAGAp3cW1sX2ltbTA2ABgKd2RtbF9pbW0wNgAYCndxb3BfaW1tMDYAGAp3ZG9wX2ltbTA2ABgKd3FjbV9pbW0wNgAYCndkZHZfaW1tMDYAGAp3ZGNtX2ltbTA2ABgKam5lZl9pbW0wNgAYCWxkY19pbW0wNgAYBm11bF9yYQAWB3dkY21fcmMADwd3ZGNtX3JiAAsHd2RjbV9yYQAWBnNyd19yYwAPBnNyd19yYgALBnNyd19yYQAWBm11bF9yYwAPBm11bF9yYgALB2xvZ2RfcmEAFgZzcmxfcmMADwZzcmxfcmIACwZzcmxfcmEAFgdsb2dkX3JiAAsHam56aV9yYQAWB3JldGRfcmIACwdyZXRkX3JhABYHd3FtbV9yZAAYB3dxbW1fcmMADwd3cW1tX3JiAAsHd3FtbV9yYQAWBXNiX3JiAAsFc2JfcmEAFgd0aW1lX3JiAAsHdGltZV9yYQAWB3dxbWxfcmMADwd3cW1sX3JiAAsHd3FtbF9yYQAWCnN1YmlfaW1tMTIADAdzdWJpX3JiAAsHc3ViaV9yYQAWBnN1Yl9yYwAPBnN1Yl9yYgALBnN1Yl9yYQAWBm5vdF9yYgALBm5vdF9yYQAWCHNiX2ltbTEyAAwFbGJfcmIACwVsYl9yYQAWB3dxYW1fcmQAGAd3cWFtX3JjAA8Hd3FhbV9yYgALB3dxYW1fcmEAFgdzMjU2X3JjAA8HczI1Nl9yYgALB3MyNTZfcmEAFghsYl9pbW0xMgAMB2RpdmlfcmIACwdkaXZpX3JhABYKbW9kaV9pbW0xMgAMB21vZGlfcmIACwdtb2RpX3JhABYGc3d3X3JjAA8Gc3d3X3JiAAsGc3d3X3JhABYJZ3RmX2ltbTEyAAwGZ3RmX3JiAAsGZ3RmX3JhABYHc3J3cV9yZAAYB3Nyd3FfcmMADwdzcndxX3JiAAsHc3J3cV9yYQAWCmpuemlfaW1tMTgACQdqbXBmX3JhABYHbG9nZF9yYwAPB2syNTZfcmIACwdrMjU2X3JhABYHd2RvcF9yYwAPB3dkb3BfcmIACwd3ZG9wX3JhABYKZGl2aV9pbW0xMgAMB2Nyb29fcmIACwdjcm9vX3JhABYKc2xsaV9pbW0xMgAMB3NsbGlfcmIACwdzbGxpX3JhABYGbW9kX3JjAA8GbW9kX3JiAAsGbW9kX3JhABYKYW5kaV9pbW0xMgAMB2FuZGlfcmIACwdhbmRpX3JhABYHd2RtZF9yZAAYB3dkbWRfcmMADwd3ZG1kX3JiAAsHd2RtZF9yYQAWB21sZHZfcmQAGAdtbGR2X3JjAA8HbWxkdl9yYgALB21sZHZfcmEAFghzd19pbW0xMgAMBXN3X3JiAAsFc3dfcmEAFgdrMjU2X3JjAA8Ham5lYl9yYgALB2puZWJfcmEAFgZ0cm9fcmQAGAZ0cm9fcmMADwZ0cm9fcmIACwZ0cm9fcmEAFglvcmlfaW1tMTIADAZvcmlfcmIACwZvcmlfcmEAFgZzbGxfcmMADwZzbGxfcmIACwZzbGxfcmEAFgd3cWR2X3JjAA8Hd3Fkdl9yYgALB3dxZHZfcmEAFgd3cW1kX3JkABgHd3FtZF9yYwAPB3dxbWRfcmIACwd3cW1kX3JhABYHam5lYl9yYwAPBmpuZV9yYgALBmpuZV9yYQAWB21sb2dfcmMADwdtbG9nX3JiAAsHbWxvZ19yYQAWB21pbnRfcmIACwdtaW50X3JhABYHd3FjbV9yYwAPB3dxY21fcmIACwd3cWNtX3JhABYKbXVsaV9pbW0xMgAMB211bGlfcmIACwdtdWxpX3JhABYKbWNsaV9pbW0xOAAJB21jbGlfcmEAFgpqbmVpX2ltbTEyAAwHam5laV9yYgALB2puZWlfcmEAFgdjc2l6X3JiAAsHY3Npel9yYQAWBXRyX3JjAA8FdHJfcmIACwV0cl9yYQAWB2xvZ2RfcmQAGAZqbmVfcmMADwdibGRkX3JiAAsHYmxkZF9yYQAWCmV4cGlfaW1tMTIADAdleHBpX3JiAAsHZXhwaV9yYQAWCnhvcmlfaW1tMTIADAd4b3JpX3JiAAsHeG9yaV9yYQAWBW9yX3JjAA8Fb3JfcmIACwVvcl9yYQAWB2VjazFfcmMADwdlY2sxX3JiAAsHZWNrMV9yYQAWBm1jbF9yYgALBm1jbF9yYQAWCmpuemZfaW1tMTIADAdqbnpmX3JiAAsHam56Zl9yYQAWB3N3d3FfcmQAGAdzd3dxX3JjAA8Hc3d3cV9yYgALB3N3d3FfcmEAFgVndF9yYwAPBWd0X3JiAAsFZ3RfcmEAFgpqbXBmX2ltbTE4AAkHam1wYl9yYQAWBmRpdl9yYwAPBmRpdl9yYgALBmRpdl9yYQAWB2J1cm5fcmIACwdidXJuX3JhABYTX193YmdfbWF0aGFyZ3NfZnJlZQB7Bnhvcl9yYwAPBnhvcl9yYgALBnhvcl9yYQAWB3dkbWxfcmMADwd3ZG1sX3JiAAsHd2RtbF9yYQAWB2NhbGxfcmQAGAdjYWxsX3JjAA8HY2FsbF9yYgALB2NhbGxfcmEAFgd3ZG1tX3JkABgHd2RtbV9yYwAPB3dkbW1fcmIACwd3ZG1tX3JhABYKbWNwaV9pbW0xMgAMB21jcGlfcmIACwdtY3BpX3JhABYHYmxkZF9yYwAPB2FkZGlfcmIACwdhZGRpX3JhABYKam56Yl9pbW0xMgAMB2puemJfcmIACwdqbnpiX3JhABYHbXJvb19yYwAPB21yb29fcmIACwdtcm9vX3JhABYGZXhwX3JjAA8GZXhwX3JiAAsGZXhwX3JhABYGYmFsX3JjAA8GYmFsX3JiAAsGYmFsX3JhABYHZWQxOV9yZAAYB2VkMTlfcmMADwdlZDE5X3JiAAsHZWQxOV9yYQAWCnNybGlfaW1tMTIADAdzcmxpX3JiAAsHc3JsaV9yYQAWBm1lcV9yZAAYBm1lcV9yYwAPBm1lcV9yYgALBm1lcV9yYQAWB2Joc2hfcmIACwdiaHNoX3JhABYGbGRjX3JjAA8GbGRjX3JiAAsGbGRjX3JhABYHam5lZl9yYwAPB2puZWZfcmIACwdqbmVmX3JhABYHd2RhbV9yZAAYB3dkYW1fcmMADwd3ZGFtX3JiAAsHd2RhbV9yYQAWBm1jcF9yYwAPBm1jcF9yYgALBm1jcF9yYQAWBWx0X3JjAA8FbHRfcmIACwVsdF9yYQAWB3dxb3BfcmMADwd3cW9wX3JiAAsHd3FvcF9yYQAWBmFuZF9yYwAPBmFuZF9yYgALBmFuZF9yYQAWB2JzaXpfcmIACwdic2l6X3JhABYHd2Rkdl9yYwAPB3dkZHZfcmIACwd3ZGR2X3JhABYHZWNhbF9yZAAYB2VjYWxfcmMADwdlY2FsX3JiAAsHZWNhbF9yYQAWB2VjcjFfcmMADwdlY3IxX3JiAAsHZWNyMV9yYQAWCm1vdmlfaW1tMTgA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NgIYIAIgADYCFCACQcCGwAA2AhAgAkHwiMAANgIMIAJBDGoiACgCCCIBRQRAIwBBIGsiACQAIABBDGpCADcCACAAQQE2AgQgAEHwiMAANgIIIABBKzYCHCAAQZiIwAA2AhggACAAQRhqNgIAIABB4IjAABBKAAsgAUEMaigCACECAkACQCABKAIEDgIAAAELIAINAAsgAC0AECEBIAAtABEaQeCJwABB4InAACgCACIAQQFqNgIAAkAgAEEASA0AQayNwAAtAABBAXENAEGsjcAAQQE6AABBqI3AAEGojcAAKAIAQQFqNgIAQdyJwAAoAgBBAEgNAEGsjcAAQQA6AAAgAUUNAAALAAs1AQF/IAEQxgEgASgCACICQX9GBEAQ0AEACyABIAJBAWo2AgAgACABNgIEIAAgAUEEajYCAAsxAQF/IAEoAgAiAkF/RwRAIAEgAkEBajYCACAAIAE2AgQgACABQQRqNgIADwsQ0AEACzUBAX8gAEE5TwRAQeCCwABBGRDUAQALQQxBBBC8ASICIAA6AAggAiABNgIEIAJBADYCACACCzAAIAAQUiABEFIgAhBSIAMQUhASIQBBCEEEELwBIgEgAK1C////B4NCIIY3AgAgAQstACAAEMYBIAAoAgBBf0YEQBDQAQALIAAvAAQgAEEGai0AAEEQdHIQygEQvQELLAAgABBSIAEQUiACEFIQKyEAQQhBBBC8ASIBIACtQv///weDQiCGNwIAIAELLAAgABBSIAEQUiACEFMQOSEAQQhBBBC8ASIBIACtQv///weDQiCGNwIAIAELJQEBfwJAIAAEQCAAKAIADQEgAC0ABCAAEAQPCxDPAQALENABAAslAQF/AkAgAARAIAAoAgANASAALwEEIAAQBA8LEM8BAAsQ0AEACyUBAX8CQCAABEAgACgCAA0BIAAoAgQgABAEDwsQzwEACxDQAQALKAAgASgCAEUEQCABQX82AgAgACABNgIEIAAgAUEEajYCAA8LENABAAspACADED4hAyAAEL8BIAEQvwEgAhC/ASADEMQBQQh0QeQAchDHARC+AQspACADED4hAyAAEL8BIAEQvwEgAhC/ASADEMQBQQh0QeUAchDHARC+AQslAQF/IAAQUiEAQQhBBBC8ASIBIABBAnRB/AFxrUIghjcCACABCyAAIABBAWsiAEEFTQRAIABBAWoPC0HggsAAQRkQ1AEACyABAX8gABDGASAAKAIABEAQ0AEACyAAKAIEIAAQBBAECyMAIAIQBSECIAAQvwEgARC/ASACEDlBCHRBygByEMcBEL4BCx4AAkAgAARAIAAoAgANASAAEAQPCxDPAQALENABAAsPACAAIAEgAiADQRIQ8AELDwAgACABIAIgA0EYEPABCw8AIAAgASACIANBHBDwAQsPACAAIAEgAiADQR0Q8AELDwAgACABIAIgA0EhEPEBCw8AIAAgASACIANBIhDwAQsPACAAIAEgAiADQSMQ8AELDwAgACABIAIgA0EoEPABCw8AIAAgASACIANBKhDwAQsPACAAIAEgAiADQSwQ8AELDwAgACABIAIgA0EvEPABCw8AIAAgASACIANBOBDwAQsQACAAIAEgAiADQdMAEPEBCxAAIAAgASACIANB1AAQ8QELEAAgACABIAIgA0HeABDxAQsQACAAIAEgAiADQd8AEPEBCxAAIAAgASACIANB4AAQ8QELEAAgACABIAIgA0HhABDxAQsQACAAIAEgAiADQeIAEPEBCxAAIAAgASACIANB4wAQ8QELEAAgACABIAIgA0HkABDxAQsQACAAIAEgAiADQeUAEPEBCxAAIAAgASACIANB5gAQ8AELEAAgACABIAIgA0HnABDwAQsQACAAIAEgAiADQegAEPABCxAAIAAgASACIANB6QAQ8AELEAAgACABIAIgA0HqABDwAQsQACAAIAEgAiADQesAEPABCxAAIAAgASACIANB7AAQ8AELEAAgACABIAIgA0HuABDwAQsdAQF/IwBBEGsiASQAIAFBCGogABAdIAFBEGokAAsdAQF/IwBBEGsiASQAIAFBCGogABATIAFBEGokAAsfACABEFkhASAAEL8BIAEQuQFBCHRBzAByEMcBEL4BCxkAIAAgASACQSBBACAEG0EQQQAgAxtyEBILDQAgACABIAJBARDyAQsNACAAIAEgAkECEPIBCw0AIAAgASACQQMQ8gELDQAgACABIAJBBBDyAQsNACAAIAEgAkEFEPIBCw0AIAAgASACQQYQ8gELDQAgACABIAJBBxDyAQsNACAAIAEgAkEIEPIBCw0AIAAgASACQQkQ8gELDQAgACABIAJBCxDyAQsNACAAIAEgAkENEPIBCw0AIAAgASACQQ4Q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ZGlhdGUAAABIABAABwAAAE8AEAAiAAAAIgAQABMAAACuAwAAHAAAAGAgb3V0IG9mIHJhbmdlIGZvciAxMi1iaXQgaW1tZWRpYXRlAEgAEAAHAAAAlAAQACMAAAAiABAAEwAAALMDAAAcAAAAYCBvdXQgb2YgcmFuZ2UgZm9yIDE4LWJpdCBpbW1lZGlhdGUASAAQAAcAAADYABAAIwAAACIAEAATAAAAuAMAABwAAABgIG91dCBvZiByYW5nZSBmb3IgMjQtYml0IGltbWVkaWF0ZQBIABAABwAAABwBEAAjAAAAIgAQABMAAAC9AwAAHAAAAGludmFsaWQgZW51bSB2YWx1ZSBwYXNzZWQAAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAFsAAABcAAAAXQAAAF4AAABfAAAAYAAAAGEAAABwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAkAAAAJEAAACSAAAAkwAAAJQAAACVAAAAlgAAAJcAAACYAAAAoAAAAKEAAACiAAAAowAAAKQAAAClAAAApgAAAKcAAACoAAAAqQAAAKoAAACrAAAArAAAAK0AAACwAAAAugAAALsAAABwBBAAAAAAAAUAAAAAAAAAAQAAAAYAAAAwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OWNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWVsaWJyYXJ5L3N0ZC9zcmMvcGFuaWNraW5nLnJzAEMEEAAcAAAAhAIAAB4AAABudWxsIHBvaW50ZXIgcGFzc2VkIHRvIHJ1c3RyZWN1cnNpdmUgdXNlIG9mIGFuIG9iamVjdCBkZXRlY3RlZCB3aGljaCB3b3VsZCBsZWFkIHRvIHVuc2FmZSBhbGlhc2luZyBpbiBydXN0ADsJcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkCBndhbHJ1cwYwLjIwLjMMd2FzbS1iaW5kZ2VuBjAuMi45Mg==", imports);
|
28384
28541
|
}
|
28385
28542
|
async function initWasm2() {
|
28386
28543
|
return await __wbg_init(wasm());
|
@@ -28394,6 +28551,8 @@ spurious results.`);
|
|
28394
28551
|
exports.BAL = BAL;
|
28395
28552
|
exports.BHEI = BHEI;
|
28396
28553
|
exports.BHSH = BHSH;
|
28554
|
+
exports.BLDD = BLDD;
|
28555
|
+
exports.BSIZ = BSIZ;
|
28397
28556
|
exports.BURN = BURN;
|
28398
28557
|
exports.CALL = CALL;
|
28399
28558
|
exports.CB = CB;
|
@@ -28519,6 +28678,8 @@ spurious results.`);
|
|
28519
28678
|
exports.bal = bal;
|
28520
28679
|
exports.bhei = bhei;
|
28521
28680
|
exports.bhsh = bhsh;
|
28681
|
+
exports.bldd = bldd;
|
28682
|
+
exports.bsiz = bsiz;
|
28522
28683
|
exports.burn = burn;
|
28523
28684
|
exports.call = call;
|
28524
28685
|
exports.cb = cb;
|
@@ -28638,9 +28799,9 @@ spurious results.`);
|
|
28638
28799
|
// ../versions/dist/index.mjs
|
28639
28800
|
function getBuiltinVersions() {
|
28640
28801
|
return {
|
28641
|
-
FORC: "0.
|
28642
|
-
FUEL_CORE: "0.
|
28643
|
-
FUELS: "0.
|
28802
|
+
FORC: "0.63.1",
|
28803
|
+
FUEL_CORE: "0.33.0",
|
28804
|
+
FUELS: "0.94.1"
|
28644
28805
|
};
|
28645
28806
|
}
|
28646
28807
|
function parseVersion(version) {
|
@@ -28711,6 +28872,10 @@ This unreleased fuel-core build may include features and updates not yet support
|
|
28711
28872
|
ErrorCode2["INVALID_DATA"] = "invalid-data";
|
28712
28873
|
ErrorCode2["FUNCTION_NOT_FOUND"] = "function-not-found";
|
28713
28874
|
ErrorCode2["UNSUPPORTED_ENCODING_VERSION"] = "unsupported-encoding-version";
|
28875
|
+
ErrorCode2["TIMEOUT_EXCEEDED"] = "timeout-exceeded";
|
28876
|
+
ErrorCode2["CONFIG_FILE_NOT_FOUND"] = "config-file-not-found";
|
28877
|
+
ErrorCode2["CONFIG_FILE_ALREADY_EXISTS"] = "config-file-already-exists";
|
28878
|
+
ErrorCode2["WORKSPACE_NOT_DETECTED"] = "workspace-not-detected";
|
28714
28879
|
ErrorCode2["INVALID_BECH32_ADDRESS"] = "invalid-bech32-address";
|
28715
28880
|
ErrorCode2["INVALID_EVM_ADDRESS"] = "invalid-evm-address";
|
28716
28881
|
ErrorCode2["INVALID_B256_ADDRESS"] = "invalid-b256-address";
|
@@ -28736,6 +28901,7 @@ This unreleased fuel-core build may include features and updates not yet support
|
|
28736
28901
|
ErrorCode2["MISSING_REQUIRED_PARAMETER"] = "missing-required-parameter";
|
28737
28902
|
ErrorCode2["INVALID_REQUEST"] = "invalid-request";
|
28738
28903
|
ErrorCode2["INVALID_TRANSFER_AMOUNT"] = "invalid-transfer-amount";
|
28904
|
+
ErrorCode2["NOT_ENOUGH_FUNDS"] = "not-enough-funds";
|
28739
28905
|
ErrorCode2["INVALID_CREDENTIALS"] = "invalid-credentials";
|
28740
28906
|
ErrorCode2["HASHER_LOCKED"] = "hasher-locked";
|
28741
28907
|
ErrorCode2["GAS_PRICE_TOO_LOW"] = "gas-price-too-low";
|
@@ -28753,6 +28919,10 @@ This unreleased fuel-core build may include features and updates not yet support
|
|
28753
28919
|
ErrorCode2["DUPLICATED_POLICY"] = "duplicated-policy";
|
28754
28920
|
ErrorCode2["TRANSACTION_SQUEEZED_OUT"] = "transaction-squeezed-out";
|
28755
28921
|
ErrorCode2["CONTRACT_SIZE_EXCEEDS_LIMIT"] = "contract-size-exceeds-limit";
|
28922
|
+
ErrorCode2["INVALID_CHUNK_SIZE_MULTIPLIER"] = "invalid-chunk-size-multiplier";
|
28923
|
+
ErrorCode2["MAX_INPUTS_EXCEEDED"] = "max-inputs-exceeded";
|
28924
|
+
ErrorCode2["FUNDS_TOO_LOW"] = "funds-too-low";
|
28925
|
+
ErrorCode2["MAX_OUTPUTS_EXCEEDED"] = "max-outputs-exceeded";
|
28756
28926
|
ErrorCode2["INVALID_RECEIPT_TYPE"] = "invalid-receipt-type";
|
28757
28927
|
ErrorCode2["INVALID_WORD_LIST"] = "invalid-word-list";
|
28758
28928
|
ErrorCode2["INVALID_MNEMONIC"] = "invalid-mnemonic";
|
@@ -29335,6 +29505,9 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
29335
29505
|
function toUtf8String(bytes3) {
|
29336
29506
|
return helper(getUtf8CodePoints(bytes3));
|
29337
29507
|
}
|
29508
|
+
function assertUnreachable(_x) {
|
29509
|
+
throw new Error("Didn't expect to get here");
|
29510
|
+
}
|
29338
29511
|
|
29339
29512
|
// ../../node_modules/.pnpm/@noble+hashes@1.3.3/node_modules/@noble/hashes/esm/_assert.js
|
29340
29513
|
function number(n) {
|
@@ -30242,6 +30415,7 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
30242
30415
|
var import_crypto3 = __toESM(__require("crypto"), 1);
|
30243
30416
|
var import_crypto4 = __toESM(__require("crypto"), 1);
|
30244
30417
|
var import_crypto5 = __require("crypto");
|
30418
|
+
var import_crypto6 = __require("crypto");
|
30245
30419
|
var scrypt2 = (params) => {
|
30246
30420
|
const { password, salt, n, p, r, dklen } = params;
|
30247
30421
|
const derivedKey = scrypt(password, salt, { N: n, r, p, dkLen: dklen });
|
@@ -30355,6 +30529,7 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
30355
30529
|
computeHMAC = func;
|
30356
30530
|
};
|
30357
30531
|
Object.freeze(computeHmac);
|
30532
|
+
var randomUUID = () => (0, import_crypto6.randomUUID)();
|
30358
30533
|
var api = {
|
30359
30534
|
bufferFromString,
|
30360
30535
|
stringFromBuffer,
|
@@ -30368,7 +30543,8 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
30368
30543
|
encryptJsonWalletData,
|
30369
30544
|
computeHmac,
|
30370
30545
|
pbkdf2: pbkdf22,
|
30371
|
-
ripemd160: ripemd1602
|
30546
|
+
ripemd160: ripemd1602,
|
30547
|
+
randomUUID
|
30372
30548
|
};
|
30373
30549
|
var node_default = api;
|
30374
30550
|
var {
|
@@ -30384,7 +30560,8 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
30384
30560
|
encryptJsonWalletData: encryptJsonWalletData2,
|
30385
30561
|
computeHmac: computeHmac2,
|
30386
30562
|
pbkdf2: pbkdf222,
|
30387
|
-
ripemd160: ripemd16022
|
30563
|
+
ripemd160: ripemd16022,
|
30564
|
+
randomUUID: randomUUID2
|
30388
30565
|
} = node_default;
|
30389
30566
|
|
30390
30567
|
// ../hasher/dist/index.mjs
|
@@ -30431,18 +30608,21 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
30431
30608
|
var RAW_SLICE_CODER_TYPE = "raw untyped slice";
|
30432
30609
|
var BOOL_CODER_TYPE = "bool";
|
30433
30610
|
var B256_CODER_TYPE = "b256";
|
30434
|
-
var B512_CODER_TYPE = "struct B512";
|
30435
|
-
var OPTION_CODER_TYPE = "enum Option";
|
30436
|
-
var VEC_CODER_TYPE = "struct Vec";
|
30437
|
-
var BYTES_CODER_TYPE = "struct Bytes";
|
30438
|
-
var STD_STRING_CODER_TYPE = "struct String";
|
30611
|
+
var B512_CODER_TYPE = "struct std::b512::B512";
|
30612
|
+
var OPTION_CODER_TYPE = "enum std::option::Option";
|
30613
|
+
var VEC_CODER_TYPE = "struct std::vec::Vec";
|
30614
|
+
var BYTES_CODER_TYPE = "struct std::bytes::Bytes";
|
30615
|
+
var STD_STRING_CODER_TYPE = "struct std::string::String";
|
30439
30616
|
var STR_SLICE_CODER_TYPE = "str";
|
30617
|
+
var VOID_TYPE = "()";
|
30618
|
+
var optionRegEx = /^enum (std::option::)?Option$/m;
|
30440
30619
|
var stringRegEx = /str\[(?<length>[0-9]+)\]/;
|
30441
30620
|
var arrayRegEx = /\[(?<item>[\w\s\\[\]]+);\s*(?<length>[0-9]+)\]/;
|
30442
|
-
var structRegEx =
|
30443
|
-
var enumRegEx = /^enum
|
30621
|
+
var structRegEx = /struct.+/;
|
30622
|
+
var enumRegEx = /^enum.+$/;
|
30444
30623
|
var tupleRegEx = /^\((?<items>.*)\)$/;
|
30445
|
-
var genericRegEx = /^generic
|
30624
|
+
var genericRegEx = /^generic.+$/;
|
30625
|
+
var fullNameRegExMatch = /([^\s]+)$/m;
|
30446
30626
|
var ENCODING_V1 = "1";
|
30447
30627
|
var WORD_SIZE = 8;
|
30448
30628
|
var BYTES_32 = 32;
|
@@ -30696,16 +30876,11 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
30696
30876
|
this.coders = coders;
|
30697
30877
|
this.#caseIndexCoder = caseIndexCoder;
|
30698
30878
|
this.#encodedValueSize = encodedValueSize;
|
30699
|
-
this.#shouldValidateLength = !(this.type
|
30879
|
+
this.#shouldValidateLength = !(optionRegEx.test(this.type) || hasNestedOption(coders));
|
30700
30880
|
}
|
30701
|
-
//
|
30702
|
-
// The '()' is enough but the child coders is a stricter check.
|
30881
|
+
// Checks that we're handling a native enum that is of type void.
|
30703
30882
|
#isNativeEnum(coder) {
|
30704
|
-
|
30705
|
-
const tupleCoder = coder;
|
30706
|
-
return tupleCoder.coders.length === 0;
|
30707
|
-
}
|
30708
|
-
return false;
|
30883
|
+
return this.type !== OPTION_CODER_TYPE && coder.type === VOID_TYPE;
|
30709
30884
|
}
|
30710
30885
|
#encodeNativeEnum(value) {
|
30711
30886
|
const valueCoder = this.coders[value];
|
@@ -31060,16 +31235,6 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
31060
31235
|
);
|
31061
31236
|
}
|
31062
31237
|
};
|
31063
|
-
var findFunctionByName = (abi, name) => {
|
31064
|
-
const fn = abi.functions.find((f2) => f2.name === name);
|
31065
|
-
if (!fn) {
|
31066
|
-
throw new FuelError(
|
31067
|
-
ErrorCode.FUNCTION_NOT_FOUND,
|
31068
|
-
`Function with name '${name}' doesn't exist in the ABI`
|
31069
|
-
);
|
31070
|
-
}
|
31071
|
-
return fn;
|
31072
|
-
};
|
31073
31238
|
var findTypeById = (abi, typeId) => {
|
31074
31239
|
const type3 = abi.types.find((t) => t.typeId === typeId);
|
31075
31240
|
if (!type3) {
|
@@ -31080,7 +31245,7 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
31080
31245
|
}
|
31081
31246
|
return type3;
|
31082
31247
|
};
|
31083
|
-
var
|
31248
|
+
var findNonVoidInputs = (abi, inputs) => inputs.filter((input) => findTypeById(abi, input.type).type !== VOID_TYPE);
|
31084
31249
|
var findVectorBufferArgument = (components) => {
|
31085
31250
|
const bufferComponent = components.find((c) => c.name === "buf");
|
31086
31251
|
const bufferTypeArgument = bufferComponent?.originalTypeArguments?.[0];
|
@@ -31231,6 +31396,17 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
31231
31396
|
return `${typeArgumentsSignature}${componentsSignature}`;
|
31232
31397
|
}
|
31233
31398
|
};
|
31399
|
+
var VoidCoder = class extends Coder {
|
31400
|
+
constructor() {
|
31401
|
+
super("void", VOID_TYPE, 0);
|
31402
|
+
}
|
31403
|
+
encode(_value) {
|
31404
|
+
return new Uint8Array([]);
|
31405
|
+
}
|
31406
|
+
decode(_data, offset) {
|
31407
|
+
return [void 0, offset];
|
31408
|
+
}
|
31409
|
+
};
|
31234
31410
|
function getCoders(components, options) {
|
31235
31411
|
const { getCoder: getCoder2 } = options;
|
31236
31412
|
return components.reduce((obj, component) => {
|
@@ -31264,6 +31440,8 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
31264
31440
|
return new StdStringCoder();
|
31265
31441
|
case STR_SLICE_CODER_TYPE:
|
31266
31442
|
return new StrSliceCoder();
|
31443
|
+
case VOID_TYPE:
|
31444
|
+
return new VoidCoder();
|
31267
31445
|
default:
|
31268
31446
|
break;
|
31269
31447
|
}
|
@@ -31292,19 +31470,20 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
31292
31470
|
const itemCoder = getCoder(argType, { encoding: ENCODING_V1 });
|
31293
31471
|
return new VecCoder(itemCoder);
|
31294
31472
|
}
|
31295
|
-
const
|
31296
|
-
|
31473
|
+
const coderName = resolvedAbiType.type.match(fullNameRegExMatch)?.[0];
|
31474
|
+
const structMatch = structRegEx.test(resolvedAbiType.type);
|
31475
|
+
if (structMatch && coderName) {
|
31297
31476
|
const coders = getCoders(components, { getCoder });
|
31298
|
-
return new StructCoder(
|
31477
|
+
return new StructCoder(coderName, coders);
|
31299
31478
|
}
|
31300
|
-
const enumMatch = enumRegEx.
|
31301
|
-
if (enumMatch) {
|
31479
|
+
const enumMatch = enumRegEx.test(resolvedAbiType.type);
|
31480
|
+
if (enumMatch && coderName) {
|
31302
31481
|
const coders = getCoders(components, { getCoder });
|
31303
31482
|
const isOptionEnum = resolvedAbiType.type === OPTION_CODER_TYPE;
|
31304
31483
|
if (isOptionEnum) {
|
31305
|
-
return new OptionCoder(
|
31484
|
+
return new OptionCoder(coderName, coders);
|
31306
31485
|
}
|
31307
|
-
return new EnumCoder(
|
31486
|
+
return new EnumCoder(coderName, coders);
|
31308
31487
|
}
|
31309
31488
|
const tupleMatch = tupleRegEx.exec(resolvedAbiType.type)?.groups;
|
31310
31489
|
if (tupleMatch) {
|
@@ -31341,6 +31520,24 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
31341
31520
|
return this.getCoder(abi, argument, options).decode(data, offset);
|
31342
31521
|
}
|
31343
31522
|
};
|
31523
|
+
var getFunctionInputs = (params) => {
|
31524
|
+
const { jsonAbi, inputs } = params;
|
31525
|
+
let isMandatory = false;
|
31526
|
+
return inputs.reduceRight((result, input) => {
|
31527
|
+
const type3 = findTypeById(jsonAbi, input.type);
|
31528
|
+
isMandatory = isMandatory || type3.type !== VOID_TYPE && !optionRegEx.test(type3.type);
|
31529
|
+
return [{ ...input, isOptional: !isMandatory }, ...result];
|
31530
|
+
}, []);
|
31531
|
+
};
|
31532
|
+
var padValuesWithUndefined = (values, inputs) => {
|
31533
|
+
if (values.length >= inputs.length) {
|
31534
|
+
return values;
|
31535
|
+
}
|
31536
|
+
const paddedValues = values.slice();
|
31537
|
+
paddedValues.length = inputs.length;
|
31538
|
+
paddedValues.fill(void 0, values.length);
|
31539
|
+
return paddedValues;
|
31540
|
+
};
|
31344
31541
|
var FunctionFragment = class {
|
31345
31542
|
signature;
|
31346
31543
|
selector;
|
@@ -31349,14 +31546,16 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
31349
31546
|
name;
|
31350
31547
|
jsonFn;
|
31351
31548
|
attributes;
|
31352
|
-
|
31353
|
-
|
31354
|
-
|
31355
|
-
this.jsonFn =
|
31356
|
-
this.
|
31357
|
-
this.
|
31549
|
+
jsonAbiOld;
|
31550
|
+
jsonFnOld;
|
31551
|
+
constructor(jsonAbi, fn) {
|
31552
|
+
this.jsonFn = fn;
|
31553
|
+
this.jsonAbiOld = jsonAbi;
|
31554
|
+
this.jsonFnOld = jsonAbi.functions.find((f2) => f2.name === fn.name);
|
31555
|
+
this.name = fn.name;
|
31556
|
+
this.signature = FunctionFragment.getSignature(this.jsonAbiOld, this.jsonFnOld);
|
31358
31557
|
this.selector = FunctionFragment.getFunctionSelector(this.signature);
|
31359
|
-
this.selectorBytes = new StdStringCoder().encode(name);
|
31558
|
+
this.selectorBytes = new StdStringCoder().encode(this.name);
|
31360
31559
|
this.encoding = getEncodingVersion(jsonAbi.encoding);
|
31361
31560
|
this.attributes = this.jsonFn.attributes ?? [];
|
31362
31561
|
}
|
@@ -31371,41 +31570,26 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
31371
31570
|
return bn(hashedFunctionSignature.slice(0, 10)).toHex(8);
|
31372
31571
|
}
|
31373
31572
|
encodeArguments(values) {
|
31374
|
-
|
31375
|
-
const
|
31376
|
-
|
31377
|
-
|
31378
|
-
|
31379
|
-
|
31380
|
-
|
31381
|
-
|
31382
|
-
|
31573
|
+
const inputs = getFunctionInputs({ jsonAbi: this.jsonAbiOld, inputs: this.jsonFnOld.inputs });
|
31574
|
+
const mandatoryInputLength = inputs.filter((i) => !i.isOptional).length;
|
31575
|
+
if (values.length < mandatoryInputLength) {
|
31576
|
+
throw new FuelError(
|
31577
|
+
ErrorCode.ABI_TYPES_AND_VALUES_MISMATCH,
|
31578
|
+
`Invalid number of arguments. Expected a minimum of ${mandatoryInputLength} arguments, received ${values.length}`
|
31579
|
+
);
|
31580
|
+
}
|
31581
|
+
const coders = this.jsonFnOld.inputs.map(
|
31582
|
+
(t) => AbiCoder.getCoder(this.jsonAbiOld, t, {
|
31383
31583
|
encoding: this.encoding
|
31384
31584
|
})
|
31385
31585
|
);
|
31386
|
-
|
31387
|
-
|
31388
|
-
static verifyArgsAndInputsAlign(args, inputs, abi) {
|
31389
|
-
if (args.length === inputs.length) {
|
31390
|
-
return;
|
31391
|
-
}
|
31392
|
-
const inputTypes = inputs.map((input) => findTypeById(abi, input.type));
|
31393
|
-
const optionalInputs = inputTypes.filter(
|
31394
|
-
(x) => x.type === OPTION_CODER_TYPE || x.type === "()"
|
31395
|
-
);
|
31396
|
-
if (optionalInputs.length === inputTypes.length) {
|
31397
|
-
return;
|
31398
|
-
}
|
31399
|
-
if (inputTypes.length - optionalInputs.length === args.length) {
|
31400
|
-
return;
|
31401
|
-
}
|
31402
|
-
const errorMsg = `Mismatch between provided arguments and expected ABI inputs. Provided ${args.length} arguments, but expected ${inputs.length - optionalInputs.length} (excluding ${optionalInputs.length} optional inputs).`;
|
31403
|
-
throw new FuelError(ErrorCode.ABI_TYPES_AND_VALUES_MISMATCH, errorMsg);
|
31586
|
+
const argumentValues = padValuesWithUndefined(values, this.jsonFn.inputs);
|
31587
|
+
return new TupleCoder(coders).encode(argumentValues);
|
31404
31588
|
}
|
31405
31589
|
decodeArguments(data) {
|
31406
31590
|
const bytes3 = arrayify(data);
|
31407
|
-
const
|
31408
|
-
if (
|
31591
|
+
const nonVoidInputs = findNonVoidInputs(this.jsonAbiOld, this.jsonFnOld.inputs);
|
31592
|
+
if (nonVoidInputs.length === 0) {
|
31409
31593
|
if (bytes3.length === 0) {
|
31410
31594
|
return void 0;
|
31411
31595
|
}
|
@@ -31414,20 +31598,20 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
31414
31598
|
`Types/values length mismatch during decode. ${JSON.stringify({
|
31415
31599
|
count: {
|
31416
31600
|
types: this.jsonFn.inputs.length,
|
31417
|
-
|
31601
|
+
nonVoidInputs: nonVoidInputs.length,
|
31418
31602
|
values: bytes3.length
|
31419
31603
|
},
|
31420
31604
|
value: {
|
31421
31605
|
args: this.jsonFn.inputs,
|
31422
|
-
|
31606
|
+
nonVoidInputs,
|
31423
31607
|
values: bytes3
|
31424
31608
|
}
|
31425
31609
|
})}`
|
31426
31610
|
);
|
31427
31611
|
}
|
31428
|
-
const result =
|
31612
|
+
const result = this.jsonFnOld.inputs.reduce(
|
31429
31613
|
(obj, input) => {
|
31430
|
-
const coder = AbiCoder.getCoder(this.
|
31614
|
+
const coder = AbiCoder.getCoder(this.jsonAbiOld, input, { encoding: this.encoding });
|
31431
31615
|
const [decodedValue, decodedValueByteSize] = coder.decode(bytes3, obj.offset);
|
31432
31616
|
return {
|
31433
31617
|
decoded: [...obj.decoded, decodedValue],
|
@@ -31439,12 +31623,8 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
31439
31623
|
return result.decoded;
|
31440
31624
|
}
|
31441
31625
|
decodeOutput(data) {
|
31442
|
-
const outputAbiType = findTypeById(this.jsonAbi, this.jsonFn.output.type);
|
31443
|
-
if (outputAbiType.type === "()") {
|
31444
|
-
return [void 0, 0];
|
31445
|
-
}
|
31446
31626
|
const bytes3 = arrayify(data);
|
31447
|
-
const coder = AbiCoder.getCoder(this.
|
31627
|
+
const coder = AbiCoder.getCoder(this.jsonAbiOld, this.jsonFnOld.output, {
|
31448
31628
|
encoding: this.encoding
|
31449
31629
|
});
|
31450
31630
|
return coder.decode(bytes3, 0);
|
@@ -31456,19 +31636,119 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
31456
31636
|
*/
|
31457
31637
|
isReadOnly() {
|
31458
31638
|
const storageAttribute = this.attributes.find((attr) => attr.name === "storage");
|
31459
|
-
return !storageAttribute?.arguments
|
31639
|
+
return !storageAttribute?.arguments?.includes("write");
|
31460
31640
|
}
|
31461
31641
|
};
|
31642
|
+
var findTypeByConcreteId = (types, id) => types.find((x) => x.concreteTypeId === id);
|
31643
|
+
var findConcreteTypeById = (abi, id) => abi.concreteTypes.find((x) => x.concreteTypeId === id);
|
31644
|
+
function finsertTypeIdByConcreteTypeId(abi, types, id) {
|
31645
|
+
const concreteType = findConcreteTypeById(abi, id);
|
31646
|
+
if (concreteType.metadataTypeId !== void 0) {
|
31647
|
+
return concreteType.metadataTypeId;
|
31648
|
+
}
|
31649
|
+
const type3 = findTypeByConcreteId(types, id);
|
31650
|
+
if (type3) {
|
31651
|
+
return type3.typeId;
|
31652
|
+
}
|
31653
|
+
types.push({
|
31654
|
+
typeId: types.length,
|
31655
|
+
type: concreteType.type,
|
31656
|
+
components: parseComponents(concreteType.components),
|
31657
|
+
concreteTypeId: id,
|
31658
|
+
typeParameters: concreteType.typeParameters ?? null,
|
31659
|
+
originalConcreteTypeId: concreteType?.concreteTypeId
|
31660
|
+
});
|
31661
|
+
return types.length - 1;
|
31662
|
+
}
|
31663
|
+
function parseFunctionTypeArguments(abi, types, concreteType) {
|
31664
|
+
return concreteType.typeArguments?.map((cTypeId) => {
|
31665
|
+
const self = findConcreteTypeById(abi, cTypeId);
|
31666
|
+
const type3 = !isNaN(cTypeId) ? cTypeId : finsertTypeIdByConcreteTypeId(abi, types, cTypeId);
|
31667
|
+
return {
|
31668
|
+
name: "",
|
31669
|
+
type: type3,
|
31670
|
+
// originalTypeId: cTypeId,
|
31671
|
+
typeArguments: parseFunctionTypeArguments(abi, types, self)
|
31672
|
+
};
|
31673
|
+
}) ?? null;
|
31674
|
+
}
|
31675
|
+
function parseConcreteType(abi, types, concreteTypeId, name) {
|
31676
|
+
const type3 = finsertTypeIdByConcreteTypeId(abi, types, concreteTypeId);
|
31677
|
+
const concrete = findConcreteTypeById(abi, concreteTypeId);
|
31678
|
+
return {
|
31679
|
+
name: name ?? "",
|
31680
|
+
type: type3,
|
31681
|
+
// concreteTypeId,
|
31682
|
+
typeArguments: parseFunctionTypeArguments(abi, types, concrete)
|
31683
|
+
};
|
31684
|
+
}
|
31685
|
+
function parseComponents(abi, types, components) {
|
31686
|
+
return components?.map((component) => {
|
31687
|
+
const { typeId, name, typeArguments } = component;
|
31688
|
+
const type3 = !isNaN(typeId) ? typeId : finsertTypeIdByConcreteTypeId(abi, types, typeId);
|
31689
|
+
return {
|
31690
|
+
name,
|
31691
|
+
type: type3,
|
31692
|
+
// originalTypeId: typeId,
|
31693
|
+
typeArguments: parseComponents(abi, types, typeArguments)
|
31694
|
+
};
|
31695
|
+
}) ?? null;
|
31696
|
+
}
|
31697
|
+
function transpileAbi(abi) {
|
31698
|
+
if (!abi.specVersion) {
|
31699
|
+
return abi;
|
31700
|
+
}
|
31701
|
+
const types = [];
|
31702
|
+
abi.metadataTypes.forEach((m) => {
|
31703
|
+
const t = {
|
31704
|
+
typeId: m.metadataTypeId,
|
31705
|
+
type: m.type,
|
31706
|
+
components: m.components ?? (m.type === "()" ? [] : null),
|
31707
|
+
typeParameters: m.typeParameters ?? null
|
31708
|
+
};
|
31709
|
+
types.push(t);
|
31710
|
+
});
|
31711
|
+
types.forEach((t) => {
|
31712
|
+
t.components = parseComponents(abi, types, t.components);
|
31713
|
+
});
|
31714
|
+
const functions = abi.functions.map((fn) => {
|
31715
|
+
const inputs = fn.inputs.map(
|
31716
|
+
({ concreteTypeId, name }) => parseConcreteType(abi, types, concreteTypeId, name)
|
31717
|
+
);
|
31718
|
+
const output3 = parseConcreteType(abi, types, fn.output, "");
|
31719
|
+
return { ...fn, inputs, output: output3 };
|
31720
|
+
});
|
31721
|
+
const configurables = abi.configurables.map((conf) => ({
|
31722
|
+
name: conf.name,
|
31723
|
+
configurableType: parseConcreteType(abi, types, conf.concreteTypeId),
|
31724
|
+
offset: conf.offset
|
31725
|
+
}));
|
31726
|
+
const loggedTypes = abi.loggedTypes.map((log) => ({
|
31727
|
+
logId: log.logId,
|
31728
|
+
loggedType: parseConcreteType(abi, types, log.concreteTypeId)
|
31729
|
+
}));
|
31730
|
+
const transpiled = {
|
31731
|
+
encoding: abi.encodingVersion,
|
31732
|
+
types,
|
31733
|
+
functions,
|
31734
|
+
loggedTypes,
|
31735
|
+
messagesTypes: abi.messagesTypes,
|
31736
|
+
configurables
|
31737
|
+
};
|
31738
|
+
return transpiled;
|
31739
|
+
}
|
31462
31740
|
var Interface = class {
|
31463
31741
|
functions;
|
31464
31742
|
configurables;
|
31465
31743
|
jsonAbi;
|
31466
31744
|
encoding;
|
31745
|
+
jsonAbiOld;
|
31467
31746
|
constructor(jsonAbi) {
|
31468
31747
|
this.jsonAbi = jsonAbi;
|
31469
|
-
this.encoding = getEncodingVersion(jsonAbi.
|
31748
|
+
this.encoding = getEncodingVersion(jsonAbi.encodingVersion);
|
31749
|
+
this.jsonAbiOld = transpileAbi(jsonAbi);
|
31470
31750
|
this.functions = Object.fromEntries(
|
31471
|
-
this.jsonAbi.functions.map((
|
31751
|
+
this.jsonAbi.functions.map((fn) => [fn.name, new FunctionFragment(this.jsonAbiOld, fn)])
|
31472
31752
|
);
|
31473
31753
|
this.configurables = Object.fromEntries(this.jsonAbi.configurables.map((x) => [x.name, x]));
|
31474
31754
|
}
|
@@ -31494,31 +31774,48 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
31494
31774
|
return fragment.decodeOutput(data);
|
31495
31775
|
}
|
31496
31776
|
decodeLog(data, logId) {
|
31497
|
-
const loggedType = this.
|
31777
|
+
const loggedType = this.jsonAbiOld.loggedTypes.find((type3) => type3.logId === logId);
|
31498
31778
|
if (!loggedType) {
|
31499
31779
|
throw new FuelError(
|
31500
31780
|
ErrorCode.LOG_TYPE_NOT_FOUND,
|
31501
31781
|
`Log type with logId '${logId}' doesn't exist in the ABI.`
|
31502
31782
|
);
|
31503
31783
|
}
|
31504
|
-
return AbiCoder.decode(this.
|
31784
|
+
return AbiCoder.decode(this.jsonAbiOld, loggedType.loggedType, arrayify(data), 0, {
|
31505
31785
|
encoding: this.encoding
|
31506
31786
|
});
|
31507
31787
|
}
|
31508
31788
|
encodeConfigurable(name, value) {
|
31509
|
-
const configurable = this.
|
31789
|
+
const configurable = this.jsonAbiOld.configurables.find((c) => c.name === name);
|
31510
31790
|
if (!configurable) {
|
31511
31791
|
throw new FuelError(
|
31512
31792
|
ErrorCode.CONFIGURABLE_NOT_FOUND,
|
31513
31793
|
`A configurable with the '${name}' was not found in the ABI.`
|
31514
31794
|
);
|
31515
31795
|
}
|
31516
|
-
return AbiCoder.encode(this.
|
31796
|
+
return AbiCoder.encode(this.jsonAbiOld, configurable.configurableType, value, {
|
31797
|
+
encoding: this.encoding
|
31798
|
+
});
|
31799
|
+
}
|
31800
|
+
encodeType(concreteTypeId, value) {
|
31801
|
+
const typeArg = parseConcreteType(
|
31802
|
+
this.jsonAbi,
|
31803
|
+
this.jsonAbiOld.types,
|
31804
|
+
concreteTypeId,
|
31805
|
+
""
|
31806
|
+
);
|
31807
|
+
return AbiCoder.encode(this.jsonAbiOld, typeArg, value, {
|
31517
31808
|
encoding: this.encoding
|
31518
31809
|
});
|
31519
31810
|
}
|
31520
|
-
|
31521
|
-
|
31811
|
+
decodeType(concreteTypeId, data) {
|
31812
|
+
const typeArg = parseConcreteType(
|
31813
|
+
this.jsonAbi,
|
31814
|
+
this.jsonAbiOld.types,
|
31815
|
+
concreteTypeId,
|
31816
|
+
""
|
31817
|
+
);
|
31818
|
+
return AbiCoder.decode(this.jsonAbiOld, typeArg, data, 0, { encoding: this.encoding });
|
31522
31819
|
}
|
31523
31820
|
};
|
31524
31821
|
|
@@ -32017,6 +32314,19 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
32017
32314
|
txIndex: new NumberCoder("u16", { padToWordSize: true })
|
32018
32315
|
});
|
32019
32316
|
}
|
32317
|
+
static decodeFromGqlScalar(value) {
|
32318
|
+
if (value.length !== 12) {
|
32319
|
+
throw new FuelError(
|
32320
|
+
ErrorCode.DECODE_ERROR,
|
32321
|
+
`Invalid TxPointer scalar string length ${value.length}. It must have length 12.`
|
32322
|
+
);
|
32323
|
+
}
|
32324
|
+
const [blockHeight, txIndex] = [value.substring(0, 8), value.substring(8)];
|
32325
|
+
return {
|
32326
|
+
blockHeight: parseInt(blockHeight, 16),
|
32327
|
+
txIndex: parseInt(txIndex, 16)
|
32328
|
+
};
|
32329
|
+
}
|
32020
32330
|
};
|
32021
32331
|
var InputType = /* @__PURE__ */ ((InputType2) => {
|
32022
32332
|
InputType2[InputType2["Coin"] = 0] = "Coin";
|
@@ -32850,6 +33160,7 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
32850
33160
|
TransactionType2[TransactionType2["Mint"] = 2] = "Mint";
|
32851
33161
|
TransactionType2[TransactionType2["Upgrade"] = 3] = "Upgrade";
|
32852
33162
|
TransactionType2[TransactionType2["Upload"] = 4] = "Upload";
|
33163
|
+
TransactionType2[TransactionType2["Blob"] = 5] = "Blob";
|
32853
33164
|
return TransactionType2;
|
32854
33165
|
})(TransactionType || {});
|
32855
33166
|
var TransactionScriptCoder = class extends Coder {
|
@@ -33174,6 +33485,65 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
33174
33485
|
];
|
33175
33486
|
}
|
33176
33487
|
};
|
33488
|
+
var TransactionBlobCoder = class extends Coder {
|
33489
|
+
constructor() {
|
33490
|
+
super("TransactionBlob", "struct TransactionBlob", 0);
|
33491
|
+
}
|
33492
|
+
encode(value) {
|
33493
|
+
const parts = [];
|
33494
|
+
parts.push(new B256Coder().encode(value.blobId));
|
33495
|
+
parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.witnessIndex));
|
33496
|
+
parts.push(new NumberCoder("u32", { padToWordSize: true }).encode(value.policyTypes));
|
33497
|
+
parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.inputsCount));
|
33498
|
+
parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.outputsCount));
|
33499
|
+
parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.witnessesCount));
|
33500
|
+
parts.push(new PoliciesCoder().encode(value.policies));
|
33501
|
+
parts.push(new ArrayCoder(new InputCoder(), value.inputsCount).encode(value.inputs));
|
33502
|
+
parts.push(new ArrayCoder(new OutputCoder(), value.outputsCount).encode(value.outputs));
|
33503
|
+
parts.push(new ArrayCoder(new WitnessCoder(), value.witnessesCount).encode(value.witnesses));
|
33504
|
+
return concat(parts);
|
33505
|
+
}
|
33506
|
+
decode(data, offset) {
|
33507
|
+
let decoded;
|
33508
|
+
let o = offset;
|
33509
|
+
[decoded, o] = new B256Coder().decode(data, o);
|
33510
|
+
const blobId = decoded;
|
33511
|
+
[decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
|
33512
|
+
const witnessIndex = decoded;
|
33513
|
+
[decoded, o] = new NumberCoder("u32", { padToWordSize: true }).decode(data, o);
|
33514
|
+
const policyTypes = decoded;
|
33515
|
+
[decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
|
33516
|
+
const inputsCount = decoded;
|
33517
|
+
[decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
|
33518
|
+
const outputsCount = decoded;
|
33519
|
+
[decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
|
33520
|
+
const witnessesCount = decoded;
|
33521
|
+
[decoded, o] = new PoliciesCoder().decode(data, o, policyTypes);
|
33522
|
+
const policies = decoded;
|
33523
|
+
[decoded, o] = new ArrayCoder(new InputCoder(), inputsCount).decode(data, o);
|
33524
|
+
const inputs = decoded;
|
33525
|
+
[decoded, o] = new ArrayCoder(new OutputCoder(), outputsCount).decode(data, o);
|
33526
|
+
const outputs = decoded;
|
33527
|
+
[decoded, o] = new ArrayCoder(new WitnessCoder(), witnessesCount).decode(data, o);
|
33528
|
+
const witnesses = decoded;
|
33529
|
+
return [
|
33530
|
+
{
|
33531
|
+
type: 5,
|
33532
|
+
blobId,
|
33533
|
+
witnessIndex,
|
33534
|
+
policyTypes,
|
33535
|
+
inputsCount,
|
33536
|
+
outputsCount,
|
33537
|
+
witnessesCount,
|
33538
|
+
policies,
|
33539
|
+
inputs,
|
33540
|
+
outputs,
|
33541
|
+
witnesses
|
33542
|
+
},
|
33543
|
+
o
|
33544
|
+
];
|
33545
|
+
}
|
33546
|
+
};
|
33177
33547
|
var TransactionCoder = class extends Coder {
|
33178
33548
|
constructor() {
|
33179
33549
|
super("Transaction", "struct Transaction", 0);
|
@@ -33211,6 +33581,10 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
33211
33581
|
);
|
33212
33582
|
break;
|
33213
33583
|
}
|
33584
|
+
case 5: {
|
33585
|
+
parts.push(new TransactionBlobCoder().encode(value));
|
33586
|
+
break;
|
33587
|
+
}
|
33214
33588
|
default: {
|
33215
33589
|
throw new FuelError(
|
33216
33590
|
ErrorCode.UNSUPPORTED_TRANSACTION_TYPE,
|
@@ -33246,6 +33620,10 @@ If you are attempting to transform a hex value, please make sure it is being pas
|
|
33246
33620
|
[decoded, o] = new TransactionUploadCoder().decode(data, o);
|
33247
33621
|
return [decoded, o];
|
33248
33622
|
}
|
33623
|
+
case 5: {
|
33624
|
+
[decoded, o] = new TransactionBlobCoder().decode(data, o);
|
33625
|
+
return [decoded, o];
|
33626
|
+
}
|
33249
33627
|
default: {
|
33250
33628
|
throw new FuelError(
|
33251
33629
|
ErrorCode.UNSUPPORTED_TRANSACTION_TYPE,
|
@@ -36662,14 +37040,6 @@ spurious results.`);
|
|
36662
37040
|
var lib_default2 = gql;
|
36663
37041
|
|
36664
37042
|
// src/providers/__generated__/operations.ts
|
36665
|
-
var TransactionStatusSubscriptionFragmentDoc = lib_default2`
|
36666
|
-
fragment transactionStatusSubscriptionFragment on TransactionStatus {
|
36667
|
-
type: __typename
|
36668
|
-
... on SqueezedOutStatus {
|
36669
|
-
reason
|
36670
|
-
}
|
36671
|
-
}
|
36672
|
-
`;
|
36673
37043
|
var SubmittedStatusFragmentDoc = lib_default2`
|
36674
37044
|
fragment SubmittedStatusFragment on SubmittedStatus {
|
36675
37045
|
type: __typename
|
@@ -36726,6 +37096,47 @@ spurious results.`);
|
|
36726
37096
|
totalFee
|
36727
37097
|
}
|
36728
37098
|
${ReceiptFragmentDoc}`;
|
37099
|
+
var MalleableTransactionFieldsFragmentDoc = lib_default2`
|
37100
|
+
fragment malleableTransactionFieldsFragment on Transaction {
|
37101
|
+
receiptsRoot
|
37102
|
+
inputs {
|
37103
|
+
type: __typename
|
37104
|
+
... on InputCoin {
|
37105
|
+
txPointer
|
37106
|
+
}
|
37107
|
+
... on InputContract {
|
37108
|
+
txPointer
|
37109
|
+
}
|
37110
|
+
}
|
37111
|
+
outputs {
|
37112
|
+
type: __typename
|
37113
|
+
... on CoinOutput {
|
37114
|
+
to
|
37115
|
+
amount
|
37116
|
+
assetId
|
37117
|
+
}
|
37118
|
+
... on ContractOutput {
|
37119
|
+
inputIndex
|
37120
|
+
balanceRoot
|
37121
|
+
stateRoot
|
37122
|
+
}
|
37123
|
+
... on ChangeOutput {
|
37124
|
+
to
|
37125
|
+
amount
|
37126
|
+
assetId
|
37127
|
+
}
|
37128
|
+
... on VariableOutput {
|
37129
|
+
to
|
37130
|
+
amount
|
37131
|
+
assetId
|
37132
|
+
}
|
37133
|
+
... on ContractCreated {
|
37134
|
+
contract
|
37135
|
+
stateRoot
|
37136
|
+
}
|
37137
|
+
}
|
37138
|
+
}
|
37139
|
+
`;
|
36729
37140
|
var FailureStatusFragmentDoc = lib_default2`
|
36730
37141
|
fragment FailureStatusFragment on FailureStatus {
|
36731
37142
|
type: __typename
|
@@ -36740,13 +37151,39 @@ spurious results.`);
|
|
36740
37151
|
...receiptFragment
|
36741
37152
|
}
|
36742
37153
|
}
|
36743
|
-
${ReceiptFragmentDoc}`;
|
36744
|
-
var SqueezedOutStatusFragmentDoc = lib_default2`
|
36745
|
-
fragment SqueezedOutStatusFragment on SqueezedOutStatus {
|
36746
|
-
type: __typename
|
36747
|
-
reason
|
36748
|
-
}
|
36749
|
-
`;
|
37154
|
+
${ReceiptFragmentDoc}`;
|
37155
|
+
var SqueezedOutStatusFragmentDoc = lib_default2`
|
37156
|
+
fragment SqueezedOutStatusFragment on SqueezedOutStatus {
|
37157
|
+
type: __typename
|
37158
|
+
reason
|
37159
|
+
}
|
37160
|
+
`;
|
37161
|
+
var TransactionStatusSubscriptionFragmentDoc = lib_default2`
|
37162
|
+
fragment transactionStatusSubscriptionFragment on TransactionStatus {
|
37163
|
+
... on SubmittedStatus {
|
37164
|
+
...SubmittedStatusFragment
|
37165
|
+
}
|
37166
|
+
... on SuccessStatus {
|
37167
|
+
...SuccessStatusFragment
|
37168
|
+
transaction {
|
37169
|
+
...malleableTransactionFieldsFragment
|
37170
|
+
}
|
37171
|
+
}
|
37172
|
+
... on FailureStatus {
|
37173
|
+
...FailureStatusFragment
|
37174
|
+
transaction {
|
37175
|
+
...malleableTransactionFieldsFragment
|
37176
|
+
}
|
37177
|
+
}
|
37178
|
+
... on SqueezedOutStatus {
|
37179
|
+
...SqueezedOutStatusFragment
|
37180
|
+
}
|
37181
|
+
}
|
37182
|
+
${SubmittedStatusFragmentDoc}
|
37183
|
+
${SuccessStatusFragmentDoc}
|
37184
|
+
${MalleableTransactionFieldsFragmentDoc}
|
37185
|
+
${FailureStatusFragmentDoc}
|
37186
|
+
${SqueezedOutStatusFragmentDoc}`;
|
36750
37187
|
var TransactionStatusFragmentDoc = lib_default2`
|
36751
37188
|
fragment transactionStatusFragment on TransactionStatus {
|
36752
37189
|
... on SubmittedStatus {
|
@@ -37087,6 +37524,12 @@ ${ReceiptFragmentDoc}`;
|
|
37087
37524
|
alocDependentCost {
|
37088
37525
|
...DependentCostFragment
|
37089
37526
|
}
|
37527
|
+
bldd {
|
37528
|
+
...DependentCostFragment
|
37529
|
+
}
|
37530
|
+
bsiz {
|
37531
|
+
...DependentCostFragment
|
37532
|
+
}
|
37090
37533
|
cfe {
|
37091
37534
|
...DependentCostFragment
|
37092
37535
|
}
|
@@ -37105,6 +37548,9 @@ ${ReceiptFragmentDoc}`;
|
|
37105
37548
|
csiz {
|
37106
37549
|
...DependentCostFragment
|
37107
37550
|
}
|
37551
|
+
ed19DependentCost {
|
37552
|
+
...DependentCostFragment
|
37553
|
+
}
|
37108
37554
|
k256 {
|
37109
37555
|
...DependentCostFragment
|
37110
37556
|
}
|
@@ -37634,12 +38080,11 @@ ${MessageFragmentDoc}`;
|
|
37634
38080
|
|
37635
38081
|
// src/providers/fuel-graphql-subscriber.ts
|
37636
38082
|
var _FuelGraphqlSubscriber = class {
|
37637
|
-
constructor(
|
37638
|
-
this.
|
38083
|
+
constructor(stream) {
|
38084
|
+
this.stream = stream;
|
37639
38085
|
}
|
37640
|
-
|
37641
|
-
|
37642
|
-
const { url, query, variables, fetchFn } = this.options;
|
38086
|
+
static async create(options) {
|
38087
|
+
const { url, query, variables, fetchFn } = options;
|
37643
38088
|
const response = await fetchFn(`${url}-sub`, {
|
37644
38089
|
method: "POST",
|
37645
38090
|
body: JSON.stringify({
|
@@ -37651,14 +38096,11 @@ ${MessageFragmentDoc}`;
|
|
37651
38096
|
Accept: "text/event-stream"
|
37652
38097
|
}
|
37653
38098
|
});
|
37654
|
-
|
38099
|
+
return new _FuelGraphqlSubscriber(response.body.getReader());
|
37655
38100
|
}
|
37656
38101
|
events = [];
|
37657
38102
|
parsingLeftover = "";
|
37658
38103
|
async next() {
|
37659
|
-
if (!this.stream) {
|
37660
|
-
await this.setStream();
|
37661
|
-
}
|
37662
38104
|
while (true) {
|
37663
38105
|
if (this.events.length > 0) {
|
37664
38106
|
const { data, errors } = this.events.shift();
|
@@ -37709,60 +38151,63 @@ ${MessageFragmentDoc}`;
|
|
37709
38151
|
var FuelGraphqlSubscriber = _FuelGraphqlSubscriber;
|
37710
38152
|
__publicField(FuelGraphqlSubscriber, "textDecoder", new TextDecoder());
|
37711
38153
|
|
37712
|
-
// src/providers/
|
37713
|
-
var cache =
|
37714
|
-
var
|
37715
|
-
var MemoryCache = class {
|
38154
|
+
// src/providers/resource-cache.ts
|
38155
|
+
var cache = /* @__PURE__ */ new Map();
|
38156
|
+
var ResourceCache = class {
|
37716
38157
|
ttl;
|
37717
|
-
constructor(
|
37718
|
-
this.ttl =
|
37719
|
-
if (typeof
|
38158
|
+
constructor(ttl) {
|
38159
|
+
this.ttl = ttl;
|
38160
|
+
if (typeof ttl !== "number" || this.ttl <= 0) {
|
37720
38161
|
throw new FuelError(
|
37721
38162
|
ErrorCode.INVALID_TTL,
|
37722
38163
|
`Invalid TTL: ${this.ttl}. Use a value greater than zero.`
|
37723
38164
|
);
|
37724
38165
|
}
|
37725
38166
|
}
|
37726
|
-
|
37727
|
-
|
37728
|
-
|
37729
|
-
|
37730
|
-
|
37731
|
-
|
37732
|
-
|
37733
|
-
}
|
37734
|
-
return void 0;
|
37735
|
-
}
|
37736
|
-
set(value) {
|
37737
|
-
const expiresAt = Date.now() + this.ttl;
|
37738
|
-
const key = hexlify(value);
|
37739
|
-
cache[key] = {
|
37740
|
-
expires: expiresAt,
|
37741
|
-
value
|
38167
|
+
// Add resources to the cache
|
38168
|
+
set(transactionId, resources) {
|
38169
|
+
const currentTime = Date.now();
|
38170
|
+
const existingResources = cache.get(transactionId) || {
|
38171
|
+
utxos: /* @__PURE__ */ new Set(),
|
38172
|
+
messages: /* @__PURE__ */ new Set(),
|
38173
|
+
timestamp: currentTime
|
37742
38174
|
};
|
37743
|
-
|
38175
|
+
resources.utxos.forEach((utxo) => existingResources.utxos.add(hexlify(utxo)));
|
38176
|
+
resources.messages.forEach((message) => existingResources.messages.add(hexlify(message)));
|
38177
|
+
cache.set(transactionId, existingResources);
|
37744
38178
|
}
|
37745
|
-
|
37746
|
-
|
37747
|
-
|
37748
|
-
if (data) {
|
37749
|
-
list.push(data);
|
37750
|
-
}
|
37751
|
-
return list;
|
37752
|
-
}, []);
|
38179
|
+
// Remove resources from the cache for a given transaction ID
|
38180
|
+
unset(transactionId) {
|
38181
|
+
cache.delete(transactionId);
|
37753
38182
|
}
|
38183
|
+
// Get all cached resources and remove expired ones
|
37754
38184
|
getActiveData() {
|
37755
|
-
|
37756
|
-
|
37757
|
-
|
37758
|
-
|
38185
|
+
const allResources = { utxos: [], messages: [] };
|
38186
|
+
const currentTime = Date.now();
|
38187
|
+
cache.forEach((resource, transactionId) => {
|
38188
|
+
if (currentTime - resource.timestamp < this.ttl) {
|
38189
|
+
allResources.utxos.push(...resource.utxos);
|
38190
|
+
allResources.messages.push(...resource.messages);
|
38191
|
+
} else {
|
38192
|
+
cache.delete(transactionId);
|
38193
|
+
}
|
38194
|
+
});
|
38195
|
+
return allResources;
|
38196
|
+
}
|
38197
|
+
// Check if a UTXO ID or message nonce is already cached and not expired
|
38198
|
+
isCached(key) {
|
38199
|
+
const currentTime = Date.now();
|
38200
|
+
for (const [transactionId, resourceData] of cache.entries()) {
|
38201
|
+
if (currentTime - resourceData.timestamp > this.ttl) {
|
38202
|
+
cache.delete(transactionId);
|
38203
|
+
} else if (resourceData.utxos.has(key) || resourceData.messages.has(key)) {
|
38204
|
+
return true;
|
37759
38205
|
}
|
37760
|
-
|
37761
|
-
|
38206
|
+
}
|
38207
|
+
return false;
|
37762
38208
|
}
|
37763
|
-
|
37764
|
-
|
37765
|
-
delete cache[key];
|
38209
|
+
clear() {
|
38210
|
+
cache.clear();
|
37766
38211
|
}
|
37767
38212
|
};
|
37768
38213
|
|
@@ -37953,7 +38398,18 @@ ${MessageFragmentDoc}`;
|
|
37953
38398
|
"TooManyReceipts",
|
37954
38399
|
"BalanceOverflow",
|
37955
38400
|
"InvalidBlockHeight",
|
37956
|
-
"TooManySlots"
|
38401
|
+
"TooManySlots",
|
38402
|
+
"ExpectedNestedCaller",
|
38403
|
+
"MemoryGrowthOverlap",
|
38404
|
+
"UninitalizedMemoryAccess",
|
38405
|
+
"OverridingConsensusParameters",
|
38406
|
+
"UnknownStateTransactionBytecodeRoot",
|
38407
|
+
"OverridingStateTransactionBytecode",
|
38408
|
+
"BytecodeAlreadyUploaded",
|
38409
|
+
"ThePartIsNotSequentiallyConnected",
|
38410
|
+
"BlobIdAlreadyUploaded",
|
38411
|
+
"BlobNotFound",
|
38412
|
+
"GasCostNotDefined"
|
37957
38413
|
];
|
37958
38414
|
var PANIC_DOC_URL = "https://docs.rs/fuel-asm/latest/fuel_asm/enum.PanicReason.html";
|
37959
38415
|
|
@@ -38306,6 +38762,15 @@ ${MessageFragmentDoc}`;
|
|
38306
38762
|
}) {
|
38307
38763
|
return resolveGasDependentCosts(txBytesSize, gasCosts.s256);
|
38308
38764
|
}
|
38765
|
+
function calculateMetadataGasForTxBlob({
|
38766
|
+
gasCosts,
|
38767
|
+
txBytesSize,
|
38768
|
+
witnessBytesSize
|
38769
|
+
}) {
|
38770
|
+
const txId = resolveGasDependentCosts(txBytesSize, gasCosts.s256);
|
38771
|
+
const blobLen = resolveGasDependentCosts(witnessBytesSize, gasCosts.s256);
|
38772
|
+
return txId.add(blobLen);
|
38773
|
+
}
|
38309
38774
|
var calculateGasFee = (params) => {
|
38310
38775
|
const { gas, gasPrice, priceFactor, tip } = params;
|
38311
38776
|
return gas.mul(gasPrice).div(priceFactor).add(bn(tip));
|
@@ -38865,7 +39330,7 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
38865
39330
|
* @hidden
|
38866
39331
|
*/
|
38867
39332
|
metadataGas(_gasCosts) {
|
38868
|
-
throw new
|
39333
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Not implemented");
|
38869
39334
|
}
|
38870
39335
|
/**
|
38871
39336
|
* @hidden
|
@@ -38940,6 +39405,7 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
38940
39405
|
};
|
38941
39406
|
updateAssetInput(baseAssetId, bn(1e11));
|
38942
39407
|
quantities.forEach((q) => updateAssetInput(q.assetId, q.amount));
|
39408
|
+
return this;
|
38943
39409
|
}
|
38944
39410
|
/**
|
38945
39411
|
* Retrieves an array of CoinQuantity for each coin output present in the transaction.
|
@@ -38986,6 +39452,9 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
38986
39452
|
}
|
38987
39453
|
});
|
38988
39454
|
}
|
39455
|
+
byteLength() {
|
39456
|
+
return this.toTransactionBytes().byteLength;
|
39457
|
+
}
|
38989
39458
|
};
|
38990
39459
|
|
38991
39460
|
// src/providers/transaction-request/hash-transaction.ts
|
@@ -39053,6 +39522,70 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
39053
39522
|
return sha2562(concatenatedData);
|
39054
39523
|
}
|
39055
39524
|
|
39525
|
+
// src/providers/transaction-request/blob-transaction-request.ts
|
39526
|
+
var BlobTransactionRequest = class extends BaseTransactionRequest {
|
39527
|
+
static from(obj) {
|
39528
|
+
if (obj instanceof this) {
|
39529
|
+
return obj;
|
39530
|
+
}
|
39531
|
+
return new this(obj);
|
39532
|
+
}
|
39533
|
+
/** Type of the transaction */
|
39534
|
+
type = TransactionType.Blob;
|
39535
|
+
/** Blob ID */
|
39536
|
+
blobId;
|
39537
|
+
/** Witness index of contract bytecode to create */
|
39538
|
+
witnessIndex;
|
39539
|
+
/**
|
39540
|
+
* Creates an instance `BlobTransactionRequest`.
|
39541
|
+
*
|
39542
|
+
* @param blobTransactionRequestLike - The initial values for the instance
|
39543
|
+
*/
|
39544
|
+
constructor({ witnessIndex, blobId, ...rest }) {
|
39545
|
+
super(rest);
|
39546
|
+
this.blobId = blobId;
|
39547
|
+
this.witnessIndex = witnessIndex ?? 0;
|
39548
|
+
}
|
39549
|
+
/**
|
39550
|
+
* Converts the transaction request to a `TransactionBlob`.
|
39551
|
+
*
|
39552
|
+
* @returns The transaction create object.
|
39553
|
+
*/
|
39554
|
+
toTransaction() {
|
39555
|
+
const baseTransaction = this.getBaseTransaction();
|
39556
|
+
const { witnessIndex, blobId } = this;
|
39557
|
+
return {
|
39558
|
+
type: TransactionType.Blob,
|
39559
|
+
...baseTransaction,
|
39560
|
+
blobId,
|
39561
|
+
witnessIndex
|
39562
|
+
};
|
39563
|
+
}
|
39564
|
+
/**
|
39565
|
+
* Gets the Transaction Request by hashing the transaction.
|
39566
|
+
*
|
39567
|
+
* @param chainId - The chain ID.
|
39568
|
+
*
|
39569
|
+
* @returns - A hash of the transaction, which is the transaction ID.
|
39570
|
+
*/
|
39571
|
+
getTransactionId(chainId) {
|
39572
|
+
return hashTransaction(this, chainId);
|
39573
|
+
}
|
39574
|
+
/**
|
39575
|
+
* Calculates the metadata gas cost for a blob transaction.
|
39576
|
+
*
|
39577
|
+
* @param gasCosts - gas costs passed from the chain.
|
39578
|
+
* @returns metadata gas cost for the blob transaction.
|
39579
|
+
*/
|
39580
|
+
metadataGas(gasCosts) {
|
39581
|
+
return calculateMetadataGasForTxBlob({
|
39582
|
+
gasCosts,
|
39583
|
+
txBytesSize: this.byteSize(),
|
39584
|
+
witnessBytesSize: this.witnesses[this.witnessIndex].length
|
39585
|
+
});
|
39586
|
+
}
|
39587
|
+
};
|
39588
|
+
|
39056
39589
|
// src/providers/transaction-request/storage-slot.ts
|
39057
39590
|
var getStorageValue = (value) => {
|
39058
39591
|
const v = new Uint8Array(32);
|
@@ -39372,7 +39905,7 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
39372
39905
|
|
39373
39906
|
// src/providers/transaction-request/utils.ts
|
39374
39907
|
var transactionRequestify = (obj) => {
|
39375
|
-
if (obj instanceof ScriptTransactionRequest || obj instanceof CreateTransactionRequest) {
|
39908
|
+
if (obj instanceof ScriptTransactionRequest || obj instanceof CreateTransactionRequest || obj instanceof BlobTransactionRequest) {
|
39376
39909
|
return obj;
|
39377
39910
|
}
|
39378
39911
|
const { type: type3 } = obj;
|
@@ -39383,6 +39916,9 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
39383
39916
|
case TransactionType.Create: {
|
39384
39917
|
return CreateTransactionRequest.from(obj);
|
39385
39918
|
}
|
39919
|
+
case TransactionType.Blob: {
|
39920
|
+
return BlobTransactionRequest.from(obj);
|
39921
|
+
}
|
39386
39922
|
default: {
|
39387
39923
|
throw new FuelError(
|
39388
39924
|
ErrorCode.UNSUPPORTED_TRANSACTION_TYPE,
|
@@ -39391,6 +39927,9 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
39391
39927
|
}
|
39392
39928
|
}
|
39393
39929
|
};
|
39930
|
+
var isTransactionTypeScript = (request) => request.type === TransactionType.Script;
|
39931
|
+
var isTransactionTypeCreate = (request) => request.type === TransactionType.Create;
|
39932
|
+
var isTransactionTypeBlob = (request) => request.type === TransactionType.Blob;
|
39394
39933
|
|
39395
39934
|
// src/providers/transaction-summary/calculate-tx-fee-for-summary.ts
|
39396
39935
|
var calculateTXFeeForSummary = (params) => {
|
@@ -39507,17 +40046,47 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
39507
40046
|
function getInputsCoinAndMessage(inputs) {
|
39508
40047
|
return getInputsByTypes(inputs, [InputType.Coin, InputType.Message]);
|
39509
40048
|
}
|
40049
|
+
function isInputCoin(input) {
|
40050
|
+
return input.type === InputType.Coin;
|
40051
|
+
}
|
39510
40052
|
function getInputsContract(inputs) {
|
39511
40053
|
return getInputsByType(inputs, InputType.Contract);
|
39512
40054
|
}
|
39513
|
-
function
|
40055
|
+
function findCoinInput(inputs, assetId) {
|
39514
40056
|
const coinInputs = getInputsCoin(inputs);
|
39515
|
-
|
39516
|
-
|
39517
|
-
|
39518
|
-
|
39519
|
-
)
|
39520
|
-
|
40057
|
+
return coinInputs.find((i) => i.assetId === assetId);
|
40058
|
+
}
|
40059
|
+
function aggregateInputsAmountsByAssetAndOwner(inputs, baseAssetID) {
|
40060
|
+
const aggregated = /* @__PURE__ */ new Map();
|
40061
|
+
getInputsCoinAndMessage(inputs).forEach((input) => {
|
40062
|
+
const assetId = isInputCoin(input) ? input.assetId : baseAssetID;
|
40063
|
+
const owner = isInputCoin(input) ? input.owner : input.recipient;
|
40064
|
+
let ownersMap = aggregated.get(assetId);
|
40065
|
+
if (!ownersMap) {
|
40066
|
+
ownersMap = /* @__PURE__ */ new Map();
|
40067
|
+
aggregated.set(assetId, ownersMap);
|
40068
|
+
}
|
40069
|
+
let ownerBalance = ownersMap.get(owner);
|
40070
|
+
if (!ownerBalance) {
|
40071
|
+
ownerBalance = new BN(0);
|
40072
|
+
ownersMap.set(owner, ownerBalance);
|
40073
|
+
}
|
40074
|
+
ownersMap.set(owner, ownerBalance.add(input.amount));
|
40075
|
+
});
|
40076
|
+
return aggregated;
|
40077
|
+
}
|
40078
|
+
function findMessageInput(inputs) {
|
40079
|
+
return getInputsMessage(inputs)?.[0];
|
40080
|
+
}
|
40081
|
+
function getInputFromAssetId(inputs, assetId, isBaseAsset = false) {
|
40082
|
+
const coinInput = findCoinInput(inputs, assetId);
|
40083
|
+
if (coinInput) {
|
40084
|
+
return coinInput;
|
40085
|
+
}
|
40086
|
+
if (isBaseAsset) {
|
40087
|
+
return findMessageInput(inputs);
|
40088
|
+
}
|
40089
|
+
return void 0;
|
39521
40090
|
}
|
39522
40091
|
function getInputContractFromIndex(inputs, inputIndex) {
|
39523
40092
|
if (inputIndex == null) {
|
@@ -39572,6 +40141,7 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
39572
40141
|
TransactionTypeName2["Script"] = "Script";
|
39573
40142
|
TransactionTypeName2["Upgrade"] = "Upgrade";
|
39574
40143
|
TransactionTypeName2["Upload"] = "Upload";
|
40144
|
+
TransactionTypeName2["Blob"] = "Blob";
|
39575
40145
|
return TransactionTypeName2;
|
39576
40146
|
})(TransactionTypeName || {});
|
39577
40147
|
var TransactionStatus = /* @__PURE__ */ ((TransactionStatus2) => {
|
@@ -39617,6 +40187,8 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
39617
40187
|
return "Create" /* Create */;
|
39618
40188
|
case TransactionType.Script:
|
39619
40189
|
return "Script" /* Script */;
|
40190
|
+
case TransactionType.Blob:
|
40191
|
+
return "Blob" /* Blob */;
|
39620
40192
|
default:
|
39621
40193
|
throw new FuelError(
|
39622
40194
|
ErrorCode.UNSUPPORTED_TRANSACTION_TYPE,
|
@@ -39643,6 +40215,9 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
39643
40215
|
function isTypeUpload(transactionType) {
|
39644
40216
|
return isType(transactionType, "Upload" /* Upload */);
|
39645
40217
|
}
|
40218
|
+
function isTypeBlob(transactionType) {
|
40219
|
+
return isType(transactionType, "Blob" /* Blob */);
|
40220
|
+
}
|
39646
40221
|
function hasSameAssetId(a) {
|
39647
40222
|
return (b) => a.assetId === b.assetId;
|
39648
40223
|
}
|
@@ -39652,41 +40227,51 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
39652
40227
|
function getReceiptsMessageOut(receipts) {
|
39653
40228
|
return getReceiptsByType(receipts, ReceiptType.MessageOut);
|
39654
40229
|
}
|
39655
|
-
|
40230
|
+
function mergeAssets(op1, op2) {
|
39656
40231
|
const assets1 = op1.assetsSent || [];
|
39657
40232
|
const assets2 = op2.assetsSent || [];
|
39658
|
-
const
|
39659
|
-
|
39660
|
-
|
39661
|
-
|
39662
|
-
|
39663
|
-
|
39664
|
-
|
40233
|
+
const assetMap = /* @__PURE__ */ new Map();
|
40234
|
+
assets1.forEach((asset) => {
|
40235
|
+
assetMap.set(asset.assetId, { ...asset });
|
40236
|
+
});
|
40237
|
+
assets2.forEach((asset) => {
|
40238
|
+
const existingAsset = assetMap.get(asset.assetId);
|
40239
|
+
if (existingAsset) {
|
40240
|
+
existingAsset.amount = bn(existingAsset.amount).add(asset.amount);
|
40241
|
+
} else {
|
40242
|
+
assetMap.set(asset.assetId, { ...asset });
|
39665
40243
|
}
|
39666
|
-
const mergedAmount = bn(asset1.amount).add(matchingAsset.amount);
|
39667
|
-
return { ...asset1, amount: mergedAmount };
|
39668
40244
|
});
|
39669
|
-
return
|
39670
|
-
}
|
40245
|
+
return Array.from(assetMap.values());
|
40246
|
+
}
|
39671
40247
|
function isSameOperation(a, b) {
|
39672
40248
|
return a.name === b.name && a.from?.address === b.from?.address && a.to?.address === b.to?.address && a.from?.type === b.from?.type && a.to?.type === b.to?.type;
|
39673
40249
|
}
|
40250
|
+
function mergeAssetsSent(existing, toAdd) {
|
40251
|
+
if (!toAdd.assetsSent?.length) {
|
40252
|
+
return existing.assetsSent;
|
40253
|
+
}
|
40254
|
+
return existing.assetsSent?.length ? mergeAssets(existing, toAdd) : toAdd.assetsSent;
|
40255
|
+
}
|
40256
|
+
function mergeCalls(existing, toAdd) {
|
40257
|
+
if (!toAdd.calls?.length) {
|
40258
|
+
return existing.calls;
|
40259
|
+
}
|
40260
|
+
return [...existing.calls || [], ...toAdd.calls];
|
40261
|
+
}
|
40262
|
+
function mergeOperations(existing, toAdd) {
|
40263
|
+
return {
|
40264
|
+
...existing,
|
40265
|
+
assetsSent: mergeAssetsSent(existing, toAdd),
|
40266
|
+
calls: mergeCalls(existing, toAdd)
|
40267
|
+
};
|
40268
|
+
}
|
39674
40269
|
function addOperation(operations, toAdd) {
|
39675
|
-
const
|
39676
|
-
|
39677
|
-
|
39678
|
-
const existentOperation = { ...allOperations[index] };
|
39679
|
-
if (toAdd.assetsSent?.length) {
|
39680
|
-
existentOperation.assetsSent = existentOperation.assetsSent?.length ? mergeAssets(existentOperation, toAdd) : toAdd.assetsSent;
|
39681
|
-
}
|
39682
|
-
if (toAdd.calls?.length) {
|
39683
|
-
existentOperation.calls = [...existentOperation.calls || [], ...toAdd.calls];
|
39684
|
-
}
|
39685
|
-
allOperations[index] = existentOperation;
|
39686
|
-
} else {
|
39687
|
-
allOperations.push(toAdd);
|
40270
|
+
const existingIndex = operations.findIndex((op) => isSameOperation(op, toAdd));
|
40271
|
+
if (existingIndex === -1) {
|
40272
|
+
return [...operations, toAdd];
|
39688
40273
|
}
|
39689
|
-
return
|
40274
|
+
return operations.map((op, index) => index === existingIndex ? mergeOperations(op, toAdd) : op);
|
39690
40275
|
}
|
39691
40276
|
function getReceiptsTransferOut(receipts) {
|
39692
40277
|
return getReceiptsByType(receipts, ReceiptType.TransferOut);
|
@@ -39699,7 +40284,7 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
39699
40284
|
const messageOutReceipts = getReceiptsMessageOut(receipts);
|
39700
40285
|
const withdrawFromFuelOperations = messageOutReceipts.reduce(
|
39701
40286
|
(prevWithdrawFromFuelOps, receipt) => {
|
39702
|
-
const input = getInputFromAssetId(inputs, baseAssetId);
|
40287
|
+
const input = getInputFromAssetId(inputs, baseAssetId, true);
|
39703
40288
|
if (input) {
|
39704
40289
|
const inputAddress = getInputAccountAddress(input);
|
39705
40290
|
const newWithdrawFromFuelOps = addOperation(prevWithdrawFromFuelOps, {
|
@@ -39728,65 +40313,80 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
39728
40313
|
);
|
39729
40314
|
return withdrawFromFuelOperations;
|
39730
40315
|
}
|
40316
|
+
function getContractCalls(contractInput, abiMap, receipt, rawPayload, maxInputs) {
|
40317
|
+
const abi = abiMap?.[contractInput.contractID];
|
40318
|
+
if (!abi) {
|
40319
|
+
return [];
|
40320
|
+
}
|
40321
|
+
return [
|
40322
|
+
getFunctionCall({
|
40323
|
+
abi,
|
40324
|
+
receipt,
|
40325
|
+
rawPayload,
|
40326
|
+
maxInputs
|
40327
|
+
})
|
40328
|
+
];
|
40329
|
+
}
|
40330
|
+
function getAssetsSent(receipt) {
|
40331
|
+
return receipt.amount?.isZero() ? void 0 : [
|
40332
|
+
{
|
40333
|
+
amount: receipt.amount,
|
40334
|
+
assetId: receipt.assetId
|
40335
|
+
}
|
40336
|
+
];
|
40337
|
+
}
|
40338
|
+
function processCallReceipt(receipt, contractInput, inputs, abiMap, rawPayload, maxInputs, baseAssetId) {
|
40339
|
+
const assetId = receipt.assetId === ZeroBytes32 ? baseAssetId : receipt.assetId;
|
40340
|
+
const input = getInputFromAssetId(inputs, assetId, assetId === baseAssetId);
|
40341
|
+
if (!input) {
|
40342
|
+
return [];
|
40343
|
+
}
|
40344
|
+
const inputAddress = getInputAccountAddress(input);
|
40345
|
+
const calls = getContractCalls(contractInput, abiMap, receipt, rawPayload, maxInputs);
|
40346
|
+
return [
|
40347
|
+
{
|
40348
|
+
name: "Contract call" /* contractCall */,
|
40349
|
+
from: {
|
40350
|
+
type: 1 /* account */,
|
40351
|
+
address: inputAddress
|
40352
|
+
},
|
40353
|
+
to: {
|
40354
|
+
type: 0 /* contract */,
|
40355
|
+
address: receipt.to
|
40356
|
+
},
|
40357
|
+
assetsSent: getAssetsSent(receipt),
|
40358
|
+
calls
|
40359
|
+
}
|
40360
|
+
];
|
40361
|
+
}
|
39731
40362
|
function getContractCallOperations({
|
39732
40363
|
inputs,
|
39733
40364
|
outputs,
|
39734
40365
|
receipts,
|
39735
40366
|
abiMap,
|
39736
40367
|
rawPayload,
|
39737
|
-
maxInputs
|
40368
|
+
maxInputs,
|
40369
|
+
baseAssetId
|
39738
40370
|
}) {
|
39739
40371
|
const contractCallReceipts = getReceiptsCall(receipts);
|
39740
40372
|
const contractOutputs = getOutputsContract(outputs);
|
39741
|
-
|
40373
|
+
return contractOutputs.flatMap((output3) => {
|
39742
40374
|
const contractInput = getInputContractFromIndex(inputs, output3.inputIndex);
|
39743
|
-
if (contractInput) {
|
39744
|
-
|
39745
|
-
if (receipt.to === contractInput.contractID) {
|
39746
|
-
const input = getInputFromAssetId(inputs, receipt.assetId);
|
39747
|
-
if (input) {
|
39748
|
-
const inputAddress = getInputAccountAddress(input);
|
39749
|
-
const calls = [];
|
39750
|
-
const abi = abiMap?.[contractInput.contractID];
|
39751
|
-
if (abi) {
|
39752
|
-
calls.push(
|
39753
|
-
getFunctionCall({
|
39754
|
-
abi,
|
39755
|
-
receipt,
|
39756
|
-
rawPayload,
|
39757
|
-
maxInputs
|
39758
|
-
})
|
39759
|
-
);
|
39760
|
-
}
|
39761
|
-
const newContractCallOps = addOperation(prevContractCallOps, {
|
39762
|
-
name: "Contract call" /* contractCall */,
|
39763
|
-
from: {
|
39764
|
-
type: 1 /* account */,
|
39765
|
-
address: inputAddress
|
39766
|
-
},
|
39767
|
-
to: {
|
39768
|
-
type: 0 /* contract */,
|
39769
|
-
address: receipt.to
|
39770
|
-
},
|
39771
|
-
// if no amount is forwarded to the contract, skip showing assetsSent
|
39772
|
-
assetsSent: receipt.amount?.isZero() ? void 0 : [
|
39773
|
-
{
|
39774
|
-
amount: receipt.amount,
|
39775
|
-
assetId: receipt.assetId
|
39776
|
-
}
|
39777
|
-
],
|
39778
|
-
calls
|
39779
|
-
});
|
39780
|
-
return newContractCallOps;
|
39781
|
-
}
|
39782
|
-
}
|
39783
|
-
return prevContractCallOps;
|
39784
|
-
}, prevOutputCallOps);
|
39785
|
-
return newCallOps;
|
40375
|
+
if (!contractInput) {
|
40376
|
+
return [];
|
39786
40377
|
}
|
39787
|
-
return
|
39788
|
-
|
39789
|
-
|
40378
|
+
return contractCallReceipts.filter((receipt) => receipt.to === contractInput.contractID).flatMap(
|
40379
|
+
(receipt) => processCallReceipt(
|
40380
|
+
receipt,
|
40381
|
+
contractInput,
|
40382
|
+
inputs,
|
40383
|
+
abiMap,
|
40384
|
+
rawPayload,
|
40385
|
+
maxInputs,
|
40386
|
+
baseAssetId
|
40387
|
+
)
|
40388
|
+
);
|
40389
|
+
});
|
39790
40390
|
}
|
39791
40391
|
function extractTransferOperationFromReceipt(receipt, contractInputs, changeOutputs) {
|
39792
40392
|
const { to: toAddress, assetId, amount } = receipt;
|
@@ -39818,32 +40418,40 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
39818
40418
|
function getTransferOperations({
|
39819
40419
|
inputs,
|
39820
40420
|
outputs,
|
39821
|
-
receipts
|
40421
|
+
receipts,
|
40422
|
+
baseAssetId
|
39822
40423
|
}) {
|
39823
40424
|
let operations = [];
|
39824
40425
|
const coinOutputs = getOutputsCoin(outputs);
|
39825
40426
|
const contractInputs = getInputsContract(inputs);
|
39826
40427
|
const changeOutputs = getOutputsChange(outputs);
|
39827
|
-
|
39828
|
-
|
39829
|
-
const
|
39830
|
-
|
40428
|
+
const aggregated = aggregateInputsAmountsByAssetAndOwner(inputs, baseAssetId);
|
40429
|
+
coinOutputs.forEach(({ amount, assetId, to }) => {
|
40430
|
+
const txPayers = aggregated.get(assetId) || /* @__PURE__ */ new Map();
|
40431
|
+
let selectedPayer;
|
40432
|
+
let fallbackPayer;
|
40433
|
+
for (const [address, payedAmount] of txPayers) {
|
40434
|
+
if (!fallbackPayer) {
|
40435
|
+
fallbackPayer = address;
|
40436
|
+
}
|
40437
|
+
if (payedAmount.gte(amount)) {
|
40438
|
+
selectedPayer = address;
|
40439
|
+
break;
|
40440
|
+
}
|
40441
|
+
}
|
40442
|
+
selectedPayer = selectedPayer || fallbackPayer;
|
40443
|
+
if (selectedPayer) {
|
39831
40444
|
operations = addOperation(operations, {
|
39832
40445
|
name: "Transfer asset" /* transfer */,
|
39833
40446
|
from: {
|
39834
40447
|
type: 1 /* account */,
|
39835
|
-
address:
|
40448
|
+
address: selectedPayer
|
39836
40449
|
},
|
39837
40450
|
to: {
|
39838
40451
|
type: 1 /* account */,
|
39839
40452
|
address: to
|
39840
40453
|
},
|
39841
|
-
assetsSent: [
|
39842
|
-
{
|
39843
|
-
assetId,
|
39844
|
-
amount
|
39845
|
-
}
|
39846
|
-
]
|
40454
|
+
assetsSent: [{ assetId, amount }]
|
39847
40455
|
});
|
39848
40456
|
}
|
39849
40457
|
});
|
@@ -39916,21 +40524,19 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
39916
40524
|
baseAssetId
|
39917
40525
|
}) {
|
39918
40526
|
if (isTypeCreate(transactionType)) {
|
39919
|
-
return [
|
39920
|
-
...getContractCreatedOperations({ inputs, outputs }),
|
39921
|
-
...getTransferOperations({ inputs, outputs, receipts })
|
39922
|
-
];
|
40527
|
+
return [...getContractCreatedOperations({ inputs, outputs })];
|
39923
40528
|
}
|
39924
40529
|
if (isTypeScript(transactionType)) {
|
39925
40530
|
return [
|
39926
|
-
...getTransferOperations({ inputs, outputs, receipts }),
|
40531
|
+
...getTransferOperations({ inputs, outputs, receipts, baseAssetId }),
|
39927
40532
|
...getContractCallOperations({
|
39928
40533
|
inputs,
|
39929
40534
|
outputs,
|
39930
40535
|
receipts,
|
39931
40536
|
abiMap,
|
39932
40537
|
rawPayload,
|
39933
|
-
maxInputs
|
40538
|
+
maxInputs,
|
40539
|
+
baseAssetId
|
39934
40540
|
}),
|
39935
40541
|
...getWithdrawFromFuelOperations({ inputs, receipts, baseAssetId })
|
39936
40542
|
];
|
@@ -40121,6 +40727,7 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40121
40727
|
isTypeScript: isTypeScript(transaction.type),
|
40122
40728
|
isTypeUpgrade: isTypeUpgrade(transaction.type),
|
40123
40729
|
isTypeUpload: isTypeUpload(transaction.type),
|
40730
|
+
isTypeBlob: isTypeBlob(transaction.type),
|
40124
40731
|
isStatusFailure,
|
40125
40732
|
isStatusSuccess,
|
40126
40733
|
isStatusPending,
|
@@ -40144,6 +40751,36 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40144
40751
|
}
|
40145
40752
|
|
40146
40753
|
// src/providers/transaction-response/transaction-response.ts
|
40754
|
+
function mapGqlOutputsToTxOutputs(outputs) {
|
40755
|
+
return outputs.map((o) => {
|
40756
|
+
const obj = "amount" in o ? { ...o, amount: bn(o.amount) } : o;
|
40757
|
+
switch (obj.type) {
|
40758
|
+
case "CoinOutput":
|
40759
|
+
return { ...obj, type: OutputType.Coin };
|
40760
|
+
case "ContractOutput":
|
40761
|
+
return {
|
40762
|
+
...obj,
|
40763
|
+
type: OutputType.Contract,
|
40764
|
+
inputIndex: parseInt(obj.inputIndex, 10)
|
40765
|
+
};
|
40766
|
+
case "ChangeOutput":
|
40767
|
+
return {
|
40768
|
+
...obj,
|
40769
|
+
type: OutputType.Change
|
40770
|
+
};
|
40771
|
+
case "VariableOutput":
|
40772
|
+
return { ...obj, type: OutputType.Variable };
|
40773
|
+
case "ContractCreated":
|
40774
|
+
return {
|
40775
|
+
...obj,
|
40776
|
+
type: OutputType.ContractCreated,
|
40777
|
+
contractId: obj.contract
|
40778
|
+
};
|
40779
|
+
default:
|
40780
|
+
return assertUnreachable(obj);
|
40781
|
+
}
|
40782
|
+
});
|
40783
|
+
}
|
40147
40784
|
var TransactionResponse = class {
|
40148
40785
|
/** Transaction ID */
|
40149
40786
|
id;
|
@@ -40153,17 +40790,20 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40153
40790
|
gasUsed = bn(0);
|
40154
40791
|
/** The graphql Transaction with receipts object. */
|
40155
40792
|
gqlTransaction;
|
40793
|
+
request;
|
40794
|
+
status;
|
40156
40795
|
abis;
|
40157
40796
|
/**
|
40158
40797
|
* Constructor for `TransactionResponse`.
|
40159
40798
|
*
|
40160
|
-
* @param
|
40799
|
+
* @param tx - The transaction ID or TransactionRequest.
|
40161
40800
|
* @param provider - The provider.
|
40162
40801
|
*/
|
40163
|
-
constructor(
|
40164
|
-
this.id =
|
40802
|
+
constructor(tx, provider, abis) {
|
40803
|
+
this.id = typeof tx === "string" ? tx : tx.getTransactionId(provider.getChainId());
|
40165
40804
|
this.provider = provider;
|
40166
40805
|
this.abis = abis;
|
40806
|
+
this.request = typeof tx === "string" ? void 0 : tx;
|
40167
40807
|
}
|
40168
40808
|
/**
|
40169
40809
|
* Async constructor for `TransactionResponse`. This method can be used to create
|
@@ -40178,6 +40818,54 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40178
40818
|
await response.fetch();
|
40179
40819
|
return response;
|
40180
40820
|
}
|
40821
|
+
applyMalleableSubscriptionFields(transaction) {
|
40822
|
+
const status = this.status;
|
40823
|
+
if (!status) {
|
40824
|
+
return;
|
40825
|
+
}
|
40826
|
+
const tx = transaction;
|
40827
|
+
if (status.type === "SuccessStatus" || status.type === "FailureStatus") {
|
40828
|
+
tx.inputs = tx.inputs.map((input, idx) => {
|
40829
|
+
if ("txPointer" in input) {
|
40830
|
+
const correspondingInput = status.transaction.inputs?.[idx];
|
40831
|
+
return {
|
40832
|
+
...input,
|
40833
|
+
txPointer: TxPointerCoder.decodeFromGqlScalar(correspondingInput.txPointer)
|
40834
|
+
};
|
40835
|
+
}
|
40836
|
+
return input;
|
40837
|
+
});
|
40838
|
+
tx.outputs = mapGqlOutputsToTxOutputs(status.transaction.outputs);
|
40839
|
+
if ("receiptsRoot" in status.transaction) {
|
40840
|
+
tx.receiptsRoot = status.transaction.receiptsRoot;
|
40841
|
+
}
|
40842
|
+
}
|
40843
|
+
}
|
40844
|
+
async getTransaction() {
|
40845
|
+
if (this.request) {
|
40846
|
+
const tx = this.request.toTransaction();
|
40847
|
+
this.applyMalleableSubscriptionFields(tx);
|
40848
|
+
return {
|
40849
|
+
tx,
|
40850
|
+
bytes: this.request.toTransactionBytes()
|
40851
|
+
};
|
40852
|
+
}
|
40853
|
+
const gqlTransaction = this.gqlTransaction ?? await this.fetch();
|
40854
|
+
return {
|
40855
|
+
tx: this.decodeTransaction(gqlTransaction),
|
40856
|
+
bytes: arrayify(gqlTransaction.rawPayload)
|
40857
|
+
};
|
40858
|
+
}
|
40859
|
+
getReceipts() {
|
40860
|
+
const status = this.status ?? this.gqlTransaction?.status;
|
40861
|
+
switch (status?.type) {
|
40862
|
+
case "SuccessStatus":
|
40863
|
+
case "FailureStatus":
|
40864
|
+
return status.receipts.map(processGqlReceipt);
|
40865
|
+
default:
|
40866
|
+
return [];
|
40867
|
+
}
|
40868
|
+
}
|
40181
40869
|
/**
|
40182
40870
|
* Fetch the transaction with receipts from the provider.
|
40183
40871
|
*
|
@@ -40188,11 +40876,12 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40188
40876
|
transactionId: this.id
|
40189
40877
|
});
|
40190
40878
|
if (!response.transaction) {
|
40191
|
-
const subscription = this.provider.operations.statusChange({
|
40879
|
+
const subscription = await this.provider.operations.statusChange({
|
40192
40880
|
transactionId: this.id
|
40193
40881
|
});
|
40194
40882
|
for await (const { statusChange } of subscription) {
|
40195
40883
|
if (statusChange) {
|
40884
|
+
this.status = statusChange;
|
40196
40885
|
break;
|
40197
40886
|
}
|
40198
40887
|
}
|
@@ -40221,28 +40910,17 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40221
40910
|
* @returns
|
40222
40911
|
*/
|
40223
40912
|
async getTransactionSummary(contractsAbiMap) {
|
40224
|
-
|
40225
|
-
if (!transaction) {
|
40226
|
-
transaction = await this.fetch();
|
40227
|
-
}
|
40228
|
-
const decodedTransaction = this.decodeTransaction(
|
40229
|
-
transaction
|
40230
|
-
);
|
40231
|
-
let txReceipts = [];
|
40232
|
-
if (transaction?.status && "receipts" in transaction.status) {
|
40233
|
-
txReceipts = transaction.status.receipts;
|
40234
|
-
}
|
40235
|
-
const receipts = txReceipts.map(processGqlReceipt) || [];
|
40913
|
+
const { tx: transaction, bytes: transactionBytes } = await this.getTransaction();
|
40236
40914
|
const { gasPerByte, gasPriceFactor, gasCosts, maxGasPerTx } = this.provider.getGasConfig();
|
40237
40915
|
const gasPrice = await this.provider.getLatestGasPrice();
|
40238
40916
|
const maxInputs = this.provider.getChain().consensusParameters.txParameters.maxInputs;
|
40239
40917
|
const baseAssetId = this.provider.getBaseAssetId();
|
40240
40918
|
const transactionSummary = assembleTransactionSummary({
|
40241
40919
|
id: this.id,
|
40242
|
-
receipts,
|
40243
|
-
transaction
|
40244
|
-
transactionBytes
|
40245
|
-
gqlTransactionStatus:
|
40920
|
+
receipts: this.getReceipts(),
|
40921
|
+
transaction,
|
40922
|
+
transactionBytes,
|
40923
|
+
gqlTransactionStatus: this.status ?? this.gqlTransaction?.status,
|
40246
40924
|
gasPerByte,
|
40247
40925
|
gasPriceFactor,
|
40248
40926
|
abiMap: contractsAbiMap,
|
@@ -40259,11 +40937,13 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40259
40937
|
if (status && status !== "SubmittedStatus") {
|
40260
40938
|
return;
|
40261
40939
|
}
|
40262
|
-
const subscription = this.provider.operations.statusChange({
|
40940
|
+
const subscription = await this.provider.operations.statusChange({
|
40263
40941
|
transactionId: this.id
|
40264
40942
|
});
|
40265
40943
|
for await (const { statusChange } of subscription) {
|
40944
|
+
this.status = statusChange;
|
40266
40945
|
if (statusChange.type === "SqueezedOutStatus") {
|
40946
|
+
this.unsetResourceCache();
|
40267
40947
|
throw new FuelError(
|
40268
40948
|
ErrorCode.TRANSACTION_SQUEEZED_OUT,
|
40269
40949
|
`Transaction Squeezed Out with reason: ${statusChange.reason}`
|
@@ -40273,7 +40953,6 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40273
40953
|
break;
|
40274
40954
|
}
|
40275
40955
|
}
|
40276
|
-
await this.fetch();
|
40277
40956
|
}
|
40278
40957
|
/**
|
40279
40958
|
* Assembles the result of a transaction by retrieving the transaction summary,
|
@@ -40290,7 +40969,6 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40290
40969
|
async assembleResult(contractsAbiMap) {
|
40291
40970
|
const transactionSummary = await this.getTransactionSummary(contractsAbiMap);
|
40292
40971
|
const transactionResult = {
|
40293
|
-
gqlTransaction: this.gqlTransaction,
|
40294
40972
|
...transactionSummary
|
40295
40973
|
};
|
40296
40974
|
let logs = [];
|
@@ -40302,9 +40980,11 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40302
40980
|
);
|
40303
40981
|
transactionResult.logs = logs;
|
40304
40982
|
}
|
40305
|
-
const {
|
40306
|
-
|
40307
|
-
|
40983
|
+
const { receipts } = transactionResult;
|
40984
|
+
const status = this.status ?? this.gqlTransaction?.status;
|
40985
|
+
if (status?.type === "FailureStatus") {
|
40986
|
+
this.unsetResourceCache();
|
40987
|
+
const { reason } = status;
|
40308
40988
|
throw extractTxError({
|
40309
40989
|
receipts,
|
40310
40990
|
statusReason: reason,
|
@@ -40330,6 +41010,9 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40330
41010
|
async wait(contractsAbiMap) {
|
40331
41011
|
return this.waitForResult(contractsAbiMap);
|
40332
41012
|
}
|
41013
|
+
unsetResourceCache() {
|
41014
|
+
this.provider.cache?.unset(this.id);
|
41015
|
+
}
|
40333
41016
|
};
|
40334
41017
|
|
40335
41018
|
// src/providers/utils/auto-retry-fetch.ts
|
@@ -40372,7 +41055,7 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40372
41055
|
var MAX_RETRIES = 10;
|
40373
41056
|
var RESOURCES_PAGE_SIZE_LIMIT = 512;
|
40374
41057
|
var BLOCKS_PAGE_SIZE_LIMIT = 5;
|
40375
|
-
var
|
41058
|
+
var DEFAULT_RESOURCE_CACHE_TTL = 2e4;
|
40376
41059
|
var processGqlChain = (chain) => {
|
40377
41060
|
const { name, daHeight, consensusParameters, latestBlock } = chain;
|
40378
41061
|
const {
|
@@ -40455,22 +41138,22 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40455
41138
|
__publicField(this, "cache");
|
40456
41139
|
__publicField(this, "options", {
|
40457
41140
|
timeout: void 0,
|
40458
|
-
|
41141
|
+
resourceCacheTTL: void 0,
|
40459
41142
|
fetch: void 0,
|
40460
41143
|
retryOptions: void 0
|
40461
41144
|
});
|
40462
41145
|
this.options = { ...this.options, ...options };
|
40463
41146
|
this.url = url;
|
40464
41147
|
this.operations = this.createOperations();
|
40465
|
-
const {
|
40466
|
-
if (isDefined(
|
40467
|
-
if (
|
40468
|
-
this.cache = new
|
41148
|
+
const { resourceCacheTTL } = this.options;
|
41149
|
+
if (isDefined(resourceCacheTTL)) {
|
41150
|
+
if (resourceCacheTTL !== -1) {
|
41151
|
+
this.cache = new ResourceCache(resourceCacheTTL);
|
40469
41152
|
} else {
|
40470
41153
|
this.cache = void 0;
|
40471
41154
|
}
|
40472
41155
|
} else {
|
40473
|
-
this.cache = new
|
41156
|
+
this.cache = new ResourceCache(DEFAULT_RESOURCE_CACHE_TTL);
|
40474
41157
|
}
|
40475
41158
|
}
|
40476
41159
|
/** @hidden */
|
@@ -40573,9 +41256,9 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
|
|
40573
41256
|
* @returns A promise that resolves to the Chain and NodeInfo.
|
40574
41257
|
*/
|
40575
41258
|
async fetchChainAndNodeInfo() {
|
40576
|
-
const chain = await this.fetchChain();
|
40577
41259
|
const nodeInfo = await this.fetchNode();
|
40578
41260
|
_Provider.ensureClientVersionIsSupported(nodeInfo);
|
41261
|
+
const chain = await this.fetchChain();
|
40579
41262
|
return {
|
40580
41263
|
chain,
|
40581
41264
|
nodeInfo
|
@@ -40621,7 +41304,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40621
41304
|
const opDefinition = query.definitions.find((x) => x.kind === "OperationDefinition");
|
40622
41305
|
const isSubscription = opDefinition?.operation === "subscription";
|
40623
41306
|
if (isSubscription) {
|
40624
|
-
return
|
41307
|
+
return FuelGraphqlSubscriber.create({
|
40625
41308
|
url: this.url,
|
40626
41309
|
query,
|
40627
41310
|
fetchFn: (url, requestInit) => fetchFn(url, requestInit, this.options),
|
@@ -40702,6 +41385,21 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40702
41385
|
} = this.getChain();
|
40703
41386
|
return baseAssetId;
|
40704
41387
|
}
|
41388
|
+
validateTransaction(tx, consensusParameters) {
|
41389
|
+
const { maxOutputs, maxInputs } = consensusParameters.txParameters;
|
41390
|
+
if (bn(tx.inputs.length).gt(maxInputs)) {
|
41391
|
+
throw new FuelError(
|
41392
|
+
ErrorCode.MAX_INPUTS_EXCEEDED,
|
41393
|
+
"The transaction exceeds the maximum allowed number of inputs."
|
41394
|
+
);
|
41395
|
+
}
|
41396
|
+
if (bn(tx.outputs.length).gt(maxOutputs)) {
|
41397
|
+
throw new FuelError(
|
41398
|
+
ErrorCode.MAX_OUTPUTS_EXCEEDED,
|
41399
|
+
"The transaction exceeds the maximum allowed number of outputs."
|
41400
|
+
);
|
41401
|
+
}
|
41402
|
+
}
|
40705
41403
|
/**
|
40706
41404
|
* Submits a transaction to the chain to be executed.
|
40707
41405
|
*
|
@@ -40718,16 +41416,18 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40718
41416
|
if (estimateTxDependencies) {
|
40719
41417
|
await this.estimateTxDependencies(transactionRequest);
|
40720
41418
|
}
|
41419
|
+
const { consensusParameters } = this.getChain();
|
41420
|
+
this.validateTransaction(transactionRequest, consensusParameters);
|
40721
41421
|
const encodedTransaction = hexlify(transactionRequest.toTransactionBytes());
|
40722
41422
|
let abis;
|
40723
|
-
if (transactionRequest
|
41423
|
+
if (isTransactionTypeScript(transactionRequest)) {
|
40724
41424
|
abis = transactionRequest.abis;
|
40725
41425
|
}
|
40726
41426
|
const {
|
40727
41427
|
submit: { id: transactionId }
|
40728
41428
|
} = await this.operations.submit({ encodedTransaction });
|
40729
|
-
__privateMethod(this, _cacheInputs, cacheInputs_fn).call(this, transactionRequest.inputs);
|
40730
|
-
return new TransactionResponse(
|
41429
|
+
__privateMethod(this, _cacheInputs, cacheInputs_fn).call(this, transactionRequest.inputs, transactionId);
|
41430
|
+
return new TransactionResponse(transactionRequest, this, abis);
|
40731
41431
|
}
|
40732
41432
|
/**
|
40733
41433
|
* Executes a transaction without actually submitting it to the chain.
|
@@ -40796,7 +41496,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40796
41496
|
* @returns A promise that resolves to the estimate transaction dependencies.
|
40797
41497
|
*/
|
40798
41498
|
async estimateTxDependencies(transactionRequest) {
|
40799
|
-
if (transactionRequest
|
41499
|
+
if (isTransactionTypeCreate(transactionRequest)) {
|
40800
41500
|
return {
|
40801
41501
|
receipts: [],
|
40802
41502
|
outputVariables: 0,
|
@@ -40818,7 +41518,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40818
41518
|
dryRunStatus = status;
|
40819
41519
|
const { missingOutputVariables, missingOutputContractIds } = getReceiptsWithMissingData(receipts);
|
40820
41520
|
const hasMissingOutputs = missingOutputVariables.length !== 0 || missingOutputContractIds.length !== 0;
|
40821
|
-
if (hasMissingOutputs) {
|
41521
|
+
if (hasMissingOutputs && isTransactionTypeScript(transactionRequest)) {
|
40822
41522
|
outputVariables += missingOutputVariables.length;
|
40823
41523
|
transactionRequest.addVariableOutputs(missingOutputVariables.length);
|
40824
41524
|
missingOutputContractIds.forEach(({ contractId }) => {
|
@@ -40860,7 +41560,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40860
41560
|
const allRequests = clone_default(transactionRequests);
|
40861
41561
|
const serializedTransactionsMap = /* @__PURE__ */ new Map();
|
40862
41562
|
allRequests.forEach((req, index) => {
|
40863
|
-
if (req
|
41563
|
+
if (isTransactionTypeScript(req)) {
|
40864
41564
|
serializedTransactionsMap.set(index, hexlify(req.toTransactionBytes()));
|
40865
41565
|
}
|
40866
41566
|
});
|
@@ -40886,7 +41586,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40886
41586
|
);
|
40887
41587
|
const hasMissingOutputs = missingOutputVariables.length > 0 || missingOutputContractIds.length > 0;
|
40888
41588
|
const request = allRequests[requestIdx];
|
40889
|
-
if (hasMissingOutputs && request
|
41589
|
+
if (hasMissingOutputs && isTransactionTypeScript(request)) {
|
40890
41590
|
result.outputVariables += missingOutputVariables.length;
|
40891
41591
|
request.addVariableOutputs(missingOutputVariables.length);
|
40892
41592
|
missingOutputContractIds.forEach(({ contractId }) => {
|
@@ -40950,7 +41650,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
40950
41650
|
tip: transactionRequest.tip
|
40951
41651
|
}).add(1);
|
40952
41652
|
let gasLimit = bn(0);
|
40953
|
-
if (transactionRequest
|
41653
|
+
if (isTransactionTypeScript(transactionRequest)) {
|
40954
41654
|
gasLimit = transactionRequest.gasLimit;
|
40955
41655
|
if (transactionRequest.gasLimit.eq(0)) {
|
40956
41656
|
transactionRequest.gasLimit = minGas;
|
@@ -41018,14 +41718,14 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41018
41718
|
*/
|
41019
41719
|
async getTransactionCost(transactionRequestLike, { signatureCallback } = {}) {
|
41020
41720
|
const txRequestClone = clone_default(transactionRequestify(transactionRequestLike));
|
41021
|
-
const isScriptTransaction = txRequestClone.type === TransactionType.Script;
|
41022
41721
|
const updateMaxFee = txRequestClone.maxFee.eq(0);
|
41722
|
+
const isScriptTransaction = isTransactionTypeScript(txRequestClone);
|
41023
41723
|
if (isScriptTransaction) {
|
41024
41724
|
txRequestClone.gasLimit = bn(0);
|
41025
41725
|
}
|
41026
41726
|
const signedRequest = clone_default(txRequestClone);
|
41027
41727
|
let addedSignatures = 0;
|
41028
|
-
if (signatureCallback &&
|
41728
|
+
if (signatureCallback && isTransactionTypeScript(signedRequest)) {
|
41029
41729
|
const lengthBefore = signedRequest.witnesses.length;
|
41030
41730
|
await signatureCallback(signedRequest);
|
41031
41731
|
addedSignatures = signedRequest.witnesses.length - lengthBefore;
|
@@ -41121,10 +41821,9 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41121
41821
|
utxos: excludedIds?.utxos?.map((id) => hexlify(id)) || []
|
41122
41822
|
};
|
41123
41823
|
if (this.cache) {
|
41124
|
-
const
|
41125
|
-
|
41126
|
-
);
|
41127
|
-
excludeInput.utxos = Array.from(uniqueUtxos);
|
41824
|
+
const cached = this.cache.getActiveData();
|
41825
|
+
excludeInput.messages.push(...cached.messages);
|
41826
|
+
excludeInput.utxos.push(...cached.utxos);
|
41128
41827
|
}
|
41129
41828
|
const coinsQuery = {
|
41130
41829
|
owner: ownerAddress.toB256(),
|
@@ -41609,15 +42308,22 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41609
42308
|
};
|
41610
42309
|
var Provider = _Provider;
|
41611
42310
|
_cacheInputs = new WeakSet();
|
41612
|
-
cacheInputs_fn = function(inputs) {
|
42311
|
+
cacheInputs_fn = function(inputs, transactionId) {
|
41613
42312
|
if (!this.cache) {
|
41614
42313
|
return;
|
41615
42314
|
}
|
41616
|
-
inputs.
|
41617
|
-
|
41618
|
-
|
41619
|
-
|
41620
|
-
|
42315
|
+
const inputsToCache = inputs.reduce(
|
42316
|
+
(acc, input) => {
|
42317
|
+
if (input.type === InputType.Coin) {
|
42318
|
+
acc.utxos.push(input.id);
|
42319
|
+
} else if (input.type === InputType.Message) {
|
42320
|
+
acc.messages.push(input.nonce);
|
42321
|
+
}
|
42322
|
+
return acc;
|
42323
|
+
},
|
42324
|
+
{ utxos: [], messages: [] }
|
42325
|
+
);
|
42326
|
+
this.cache.set(transactionId, inputsToCache);
|
41621
42327
|
};
|
41622
42328
|
/** @hidden */
|
41623
42329
|
__publicField(Provider, "chainInfoCache", {});
|
@@ -41670,7 +42376,6 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41670
42376
|
baseAssetId
|
41671
42377
|
});
|
41672
42378
|
return {
|
41673
|
-
gqlTransaction,
|
41674
42379
|
...transactionInfo
|
41675
42380
|
};
|
41676
42381
|
}
|
@@ -41684,6 +42389,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41684
42389
|
const gasPrice = await provider.getLatestGasPrice();
|
41685
42390
|
const baseAssetId = provider.getBaseAssetId();
|
41686
42391
|
const transactionSummary = assembleTransactionSummary({
|
42392
|
+
id: transactionRequest.getTransactionId(provider.getChainId()),
|
41687
42393
|
receipts,
|
41688
42394
|
transaction,
|
41689
42395
|
transactionBytes,
|
@@ -41736,7 +42442,6 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41736
42442
|
baseAssetId
|
41737
42443
|
});
|
41738
42444
|
const output3 = {
|
41739
|
-
gqlTransaction,
|
41740
42445
|
...transactionSummary
|
41741
42446
|
};
|
41742
42447
|
return output3;
|
@@ -41920,7 +42625,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
41920
42625
|
};
|
41921
42626
|
|
41922
42627
|
// src/account.ts
|
41923
|
-
var MAX_FUNDING_ATTEMPTS =
|
42628
|
+
var MAX_FUNDING_ATTEMPTS = 5;
|
41924
42629
|
var Account = class extends AbstractAccount {
|
41925
42630
|
/**
|
41926
42631
|
* The address associated with the account.
|
@@ -42033,7 +42738,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
42033
42738
|
* @returns A promise that resolves to the funded transaction request.
|
42034
42739
|
*/
|
42035
42740
|
async fund(request, params) {
|
42036
|
-
const { addedSignatures, estimatedPredicates, requiredQuantities, updateMaxFee } = params;
|
42741
|
+
const { addedSignatures, estimatedPredicates, requiredQuantities, updateMaxFee, gasPrice } = params;
|
42037
42742
|
const fee = request.maxFee;
|
42038
42743
|
const baseAssetId = this.provider.getBaseAssetId();
|
42039
42744
|
const requiredInBaseAsset = requiredQuantities.find((quantity) => quantity.assetId === baseAssetId)?.amount || bn(0);
|
@@ -42081,10 +42786,12 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
42081
42786
|
);
|
42082
42787
|
}
|
42083
42788
|
if (!updateMaxFee) {
|
42789
|
+
needsToBeFunded = false;
|
42084
42790
|
break;
|
42085
42791
|
}
|
42086
42792
|
const { maxFee: newFee } = await this.provider.estimateTxGasAndFee({
|
42087
|
-
transactionRequest: requestToReestimate2
|
42793
|
+
transactionRequest: requestToReestimate2,
|
42794
|
+
gasPrice
|
42088
42795
|
});
|
42089
42796
|
const totalBaseAssetOnInputs = getAssetAmountInRequestInputs(
|
42090
42797
|
request.inputs,
|
@@ -42104,6 +42811,12 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
42104
42811
|
}
|
42105
42812
|
fundingAttempts += 1;
|
42106
42813
|
}
|
42814
|
+
if (needsToBeFunded) {
|
42815
|
+
throw new FuelError(
|
42816
|
+
ErrorCode.NOT_ENOUGH_FUNDS,
|
42817
|
+
`The account ${this.address} does not have enough base asset funds to cover the transaction execution.`
|
42818
|
+
);
|
42819
|
+
}
|
42107
42820
|
request.updatePredicateGasUsed(estimatedPredicates);
|
42108
42821
|
const requestToReestimate = clone_default(request);
|
42109
42822
|
if (addedSignatures) {
|
@@ -42286,10 +42999,34 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
42286
42999
|
const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
|
42287
43000
|
const requiredQuantities = mergeQuantities(coinOutputsQuantities, quantities);
|
42288
43001
|
const transactionFeeForDryRun = [{ assetId: baseAssetId, amount: bn("100000000000000000") }];
|
42289
|
-
const
|
42290
|
-
|
43002
|
+
const findAssetInput = (assetId) => txRequestClone.inputs.find((input) => {
|
43003
|
+
if ("assetId" in input) {
|
43004
|
+
return input.assetId === assetId;
|
43005
|
+
}
|
43006
|
+
if ("recipient" in input) {
|
43007
|
+
return baseAssetId === assetId;
|
43008
|
+
}
|
43009
|
+
return false;
|
43010
|
+
});
|
43011
|
+
const updateAssetInput = (assetId, quantity) => {
|
43012
|
+
const assetInput = findAssetInput(assetId);
|
43013
|
+
const usedQuantity = quantity;
|
43014
|
+
if (assetInput && "amount" in assetInput) {
|
43015
|
+
assetInput.amount = usedQuantity;
|
43016
|
+
} else {
|
43017
|
+
txRequestClone.addResources(
|
43018
|
+
this.generateFakeResources([
|
43019
|
+
{
|
43020
|
+
amount: quantity,
|
43021
|
+
assetId
|
43022
|
+
}
|
43023
|
+
])
|
43024
|
+
);
|
43025
|
+
}
|
43026
|
+
};
|
43027
|
+
mergeQuantities(requiredQuantities, transactionFeeForDryRun).forEach(
|
43028
|
+
({ amount, assetId }) => updateAssetInput(assetId, amount)
|
42291
43029
|
);
|
42292
|
-
txRequestClone.addResources(resources);
|
42293
43030
|
const txCost = await this.provider.getTransactionCost(txRequestClone, {
|
42294
43031
|
signatureCallback
|
42295
43032
|
});
|
@@ -44211,53 +44948,6 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
44211
44948
|
}
|
44212
44949
|
};
|
44213
44950
|
|
44214
|
-
// ../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-node/stringify.js
|
44215
|
-
var byteToHex = [];
|
44216
|
-
for (let i = 0; i < 256; ++i) {
|
44217
|
-
byteToHex.push((i + 256).toString(16).slice(1));
|
44218
|
-
}
|
44219
|
-
function unsafeStringify(arr, offset = 0) {
|
44220
|
-
return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
|
44221
|
-
}
|
44222
|
-
|
44223
|
-
// ../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-node/rng.js
|
44224
|
-
var import_node_crypto = __toESM(__require("crypto"));
|
44225
|
-
var rnds8Pool = new Uint8Array(256);
|
44226
|
-
var poolPtr = rnds8Pool.length;
|
44227
|
-
function rng() {
|
44228
|
-
if (poolPtr > rnds8Pool.length - 16) {
|
44229
|
-
import_node_crypto.default.randomFillSync(rnds8Pool);
|
44230
|
-
poolPtr = 0;
|
44231
|
-
}
|
44232
|
-
return rnds8Pool.slice(poolPtr, poolPtr += 16);
|
44233
|
-
}
|
44234
|
-
|
44235
|
-
// ../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-node/native.js
|
44236
|
-
var import_node_crypto2 = __toESM(__require("crypto"));
|
44237
|
-
var native_default = {
|
44238
|
-
randomUUID: import_node_crypto2.default.randomUUID
|
44239
|
-
};
|
44240
|
-
|
44241
|
-
// ../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-node/v4.js
|
44242
|
-
function v4(options, buf, offset) {
|
44243
|
-
if (native_default.randomUUID && !buf && !options) {
|
44244
|
-
return native_default.randomUUID();
|
44245
|
-
}
|
44246
|
-
options = options || {};
|
44247
|
-
const rnds = options.random || (options.rng || rng)();
|
44248
|
-
rnds[6] = rnds[6] & 15 | 64;
|
44249
|
-
rnds[8] = rnds[8] & 63 | 128;
|
44250
|
-
if (buf) {
|
44251
|
-
offset = offset || 0;
|
44252
|
-
for (let i = 0; i < 16; ++i) {
|
44253
|
-
buf[offset + i] = rnds[i];
|
44254
|
-
}
|
44255
|
-
return buf;
|
44256
|
-
}
|
44257
|
-
return unsafeStringify(rnds);
|
44258
|
-
}
|
44259
|
-
var v4_default = v4;
|
44260
|
-
|
44261
44951
|
// src/wallet/keystore-wallet.ts
|
44262
44952
|
var DEFAULT_KDF_PARAMS_LOG_N = 13;
|
44263
44953
|
var DEFAULT_KDF_PARAMS_R = 8;
|
@@ -44288,7 +44978,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
44288
44978
|
const macHashUint8Array = keccak2562(data);
|
44289
44979
|
const mac = stringFromBuffer2(macHashUint8Array, "hex");
|
44290
44980
|
const keystore = {
|
44291
|
-
id:
|
44981
|
+
id: randomUUID2(),
|
44292
44982
|
version: 3,
|
44293
44983
|
address: removeHexPrefix(ownerAddress.toHexString()),
|
44294
44984
|
crypto: {
|
@@ -47637,14 +48327,14 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
47637
48327
|
* @param bytecode - The bytecode of the predicate.
|
47638
48328
|
* @param abi - The JSON ABI of the predicate.
|
47639
48329
|
* @param provider - The provider used to interact with the blockchain.
|
47640
|
-
* @param
|
48330
|
+
* @param data - The predicate input data (optional).
|
47641
48331
|
* @param configurableConstants - Optional configurable constants for the predicate.
|
47642
48332
|
*/
|
47643
48333
|
constructor({
|
47644
48334
|
bytecode,
|
47645
48335
|
abi,
|
47646
48336
|
provider,
|
47647
|
-
|
48337
|
+
data,
|
47648
48338
|
configurableConstants
|
47649
48339
|
}) {
|
47650
48340
|
const { predicateBytes, predicateInterface } = Predicate.processPredicateData(
|
@@ -47656,8 +48346,8 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
47656
48346
|
super(address, provider);
|
47657
48347
|
this.bytes = predicateBytes;
|
47658
48348
|
this.interface = predicateInterface;
|
47659
|
-
if (
|
47660
|
-
this.predicateData =
|
48349
|
+
if (data !== void 0 && data.length > 0) {
|
48350
|
+
this.predicateData = data;
|
47661
48351
|
}
|
47662
48352
|
}
|
47663
48353
|
/**
|
@@ -47784,16 +48474,23 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
47784
48474
|
const mutatedBytes = bytes3;
|
47785
48475
|
try {
|
47786
48476
|
if (!abiInterface) {
|
47787
|
-
throw new
|
48477
|
+
throw new FuelError(
|
48478
|
+
ErrorCode.INVALID_CONFIGURABLE_CONSTANTS,
|
47788
48479
|
"Cannot validate configurable constants because the Predicate was instantiated without a JSON ABI"
|
47789
48480
|
);
|
47790
48481
|
}
|
47791
48482
|
if (Object.keys(abiInterface.configurables).length === 0) {
|
47792
|
-
throw new
|
48483
|
+
throw new FuelError(
|
48484
|
+
ErrorCode.INVALID_CONFIGURABLE_CONSTANTS,
|
48485
|
+
"Predicate has no configurable constants to be set"
|
48486
|
+
);
|
47793
48487
|
}
|
47794
48488
|
Object.entries(configurableConstants).forEach(([key, value]) => {
|
47795
48489
|
if (!abiInterface?.configurables[key]) {
|
47796
|
-
throw new
|
48490
|
+
throw new FuelError(
|
48491
|
+
ErrorCode.CONFIGURABLE_NOT_FOUND,
|
48492
|
+
`No configurable constant named '${key}' found in the Predicate`
|
48493
|
+
);
|
47797
48494
|
}
|
47798
48495
|
const { offset } = abiInterface.configurables[key];
|
47799
48496
|
const encoded = abiInterface.encodeConfigurable(key, value);
|
@@ -47905,7 +48602,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
47905
48602
|
* @returns Always true.
|
47906
48603
|
*/
|
47907
48604
|
async ping() {
|
47908
|
-
throw new
|
48605
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
47909
48606
|
}
|
47910
48607
|
/**
|
47911
48608
|
* Should return the current version of the connector
|
@@ -47914,7 +48611,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
47914
48611
|
* @returns boolean - connection status.
|
47915
48612
|
*/
|
47916
48613
|
async version() {
|
47917
|
-
throw new
|
48614
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
47918
48615
|
}
|
47919
48616
|
/**
|
47920
48617
|
* Should return true if the connector is connected
|
@@ -47923,7 +48620,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
47923
48620
|
* @returns The connection status.
|
47924
48621
|
*/
|
47925
48622
|
async isConnected() {
|
47926
|
-
throw new
|
48623
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
47927
48624
|
}
|
47928
48625
|
/**
|
47929
48626
|
* Should return all the accounts authorized for the
|
@@ -47932,7 +48629,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
47932
48629
|
* @returns The accounts addresses strings
|
47933
48630
|
*/
|
47934
48631
|
async accounts() {
|
47935
|
-
throw new
|
48632
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
47936
48633
|
}
|
47937
48634
|
/**
|
47938
48635
|
* Should start the connection process and return
|
@@ -47944,7 +48641,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
47944
48641
|
* @returns boolean - connection status.
|
47945
48642
|
*/
|
47946
48643
|
async connect() {
|
47947
|
-
throw new
|
48644
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
47948
48645
|
}
|
47949
48646
|
/**
|
47950
48647
|
* Should disconnect the current connection and
|
@@ -47954,7 +48651,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
47954
48651
|
* @returns The connection status.
|
47955
48652
|
*/
|
47956
48653
|
async disconnect() {
|
47957
|
-
throw new
|
48654
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
47958
48655
|
}
|
47959
48656
|
/**
|
47960
48657
|
* Should start the sign message process and return
|
@@ -47966,7 +48663,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
47966
48663
|
* @returns Message signature
|
47967
48664
|
*/
|
47968
48665
|
async signMessage(_address, _message) {
|
47969
|
-
throw new
|
48666
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
47970
48667
|
}
|
47971
48668
|
/**
|
47972
48669
|
* Should start the sign transaction process and return
|
@@ -47978,7 +48675,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
47978
48675
|
* @returns Transaction signature
|
47979
48676
|
*/
|
47980
48677
|
async signTransaction(_address, _transaction) {
|
47981
|
-
throw new
|
48678
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
47982
48679
|
}
|
47983
48680
|
/**
|
47984
48681
|
* Should start the send transaction process and return
|
@@ -47994,7 +48691,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
47994
48691
|
* @returns The transaction id
|
47995
48692
|
*/
|
47996
48693
|
async sendTransaction(_address, _transaction) {
|
47997
|
-
throw new
|
48694
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
47998
48695
|
}
|
47999
48696
|
/**
|
48000
48697
|
* Should return the current account selected inside the connector, if the account
|
@@ -48005,7 +48702,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
48005
48702
|
* @returns The current account selected otherwise null.
|
48006
48703
|
*/
|
48007
48704
|
async currentAccount() {
|
48008
|
-
throw new
|
48705
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
48009
48706
|
}
|
48010
48707
|
/**
|
48011
48708
|
* Should add the assets metadata to the connector and return true if the asset
|
@@ -48019,7 +48716,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
48019
48716
|
* @returns True if the asset was added successfully
|
48020
48717
|
*/
|
48021
48718
|
async addAssets(_assets) {
|
48022
|
-
throw new
|
48719
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
48023
48720
|
}
|
48024
48721
|
/**
|
48025
48722
|
* Should add the asset metadata to the connector and return true if the asset
|
@@ -48033,7 +48730,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
48033
48730
|
* @returns True if the asset was added successfully
|
48034
48731
|
*/
|
48035
48732
|
async addAsset(_asset) {
|
48036
|
-
throw new
|
48733
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
48037
48734
|
}
|
48038
48735
|
/**
|
48039
48736
|
* Should return all the assets added to the connector. If a connection is already established.
|
@@ -48041,7 +48738,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
48041
48738
|
* @returns Array of assets metadata from the connector vinculated to the all accounts from a specific Wallet.
|
48042
48739
|
*/
|
48043
48740
|
async assets() {
|
48044
|
-
throw new
|
48741
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
48045
48742
|
}
|
48046
48743
|
/**
|
48047
48744
|
* Should start the add network process and return true if the network was added successfully.
|
@@ -48052,7 +48749,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
48052
48749
|
* @returns Return true if the network was added successfully
|
48053
48750
|
*/
|
48054
48751
|
async addNetwork(_networkUrl) {
|
48055
|
-
throw new
|
48752
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
48056
48753
|
}
|
48057
48754
|
/**
|
48058
48755
|
* Should start the select network process and return true if the network has change successfully.
|
@@ -48063,7 +48760,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
48063
48760
|
* @returns Return true if the network was added successfully
|
48064
48761
|
*/
|
48065
48762
|
async selectNetwork(_network) {
|
48066
|
-
throw new
|
48763
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
48067
48764
|
}
|
48068
48765
|
/**
|
48069
48766
|
* Should return all the networks available from the connector. If the connection is already established.
|
@@ -48071,7 +48768,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
48071
48768
|
* @returns Return all the networks added to the connector.
|
48072
48769
|
*/
|
48073
48770
|
async networks() {
|
48074
|
-
throw new
|
48771
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
48075
48772
|
}
|
48076
48773
|
/**
|
48077
48774
|
* Should return the current network selected inside the connector. Even if the connection is not established.
|
@@ -48079,7 +48776,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
48079
48776
|
* @returns Return the current network selected inside the connector.
|
48080
48777
|
*/
|
48081
48778
|
async currentNetwork() {
|
48082
|
-
throw new
|
48779
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
48083
48780
|
}
|
48084
48781
|
/**
|
48085
48782
|
* Should add the ABI to the connector and return true if the ABI was added successfully.
|
@@ -48089,7 +48786,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
48089
48786
|
* @returns Return true if the ABI was added successfully.
|
48090
48787
|
*/
|
48091
48788
|
async addABI(_contractId, _abi) {
|
48092
|
-
throw new
|
48789
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
48093
48790
|
}
|
48094
48791
|
/**
|
48095
48792
|
* Should return the ABI from the connector vinculated to the all accounts from a specific Wallet.
|
@@ -48098,7 +48795,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
48098
48795
|
* @returns The ABI if it exists, otherwise return null.
|
48099
48796
|
*/
|
48100
48797
|
async getABI(_id) {
|
48101
|
-
throw new
|
48798
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
48102
48799
|
}
|
48103
48800
|
/**
|
48104
48801
|
* Should return true if the abi exists in the connector vinculated to the all accounts from a specific Wallet.
|
@@ -48107,7 +48804,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
48107
48804
|
* @returns Returns true if the abi exists or false if not.
|
48108
48805
|
*/
|
48109
48806
|
async hasABI(_id) {
|
48110
|
-
throw new
|
48807
|
+
throw new FuelError(FuelError.CODES.NOT_IMPLEMENTED, "Method not implemented.");
|
48111
48808
|
}
|
48112
48809
|
/**
|
48113
48810
|
* Event listener for the connector.
|
@@ -48162,7 +48859,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
48162
48859
|
async function withTimeout(promise, timeout = 1050) {
|
48163
48860
|
const timeoutPromise = new Promise((resolve, reject) => {
|
48164
48861
|
setTimeout(() => {
|
48165
|
-
reject(new
|
48862
|
+
reject(new FuelError(FuelError.CODES.TIMEOUT_EXCEEDED, "Promise timed out"));
|
48166
48863
|
}, timeout);
|
48167
48864
|
});
|
48168
48865
|
return Promise.race([timeoutPromise, promise]);
|
@@ -48249,7 +48946,8 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
48249
48946
|
const hasConnector = await this.hasConnector();
|
48250
48947
|
await this.pingConnector();
|
48251
48948
|
if (!this._currentConnector || !hasConnector) {
|
48252
|
-
throw new
|
48949
|
+
throw new FuelError(
|
48950
|
+
ErrorCode.MISSING_CONNECTOR,
|
48253
48951
|
`No connector selected for calling ${method}. Use hasConnector before executing other methods.`
|
48254
48952
|
);
|
48255
48953
|
}
|
@@ -48313,7 +49011,7 @@ Supported fuel-core version: ${supportedVersion}.`
|
|
48313
49011
|
cacheTime: PING_CACHE_TIME
|
48314
49012
|
})();
|
48315
49013
|
} catch {
|
48316
|
-
throw new
|
49014
|
+
throw new FuelError(ErrorCode.INVALID_PROVIDER, "Current connector is not available.");
|
48317
49015
|
}
|
48318
49016
|
}
|
48319
49017
|
/**
|