@alephium/web3 1.4.0 → 1.5.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.
Files changed (106) hide show
  1. package/dist/alephium-web3.min.js +1 -1
  2. package/dist/alephium-web3.min.js.map +1 -1
  3. package/dist/src/address/address.js +5 -5
  4. package/dist/src/api/api-alephium.d.ts +1 -1
  5. package/dist/src/api/api-alephium.js +1 -1
  6. package/dist/src/codec/array-codec.d.ts +4 -12
  7. package/dist/src/codec/array-codec.js +15 -28
  8. package/dist/src/codec/asset-output-codec.d.ts +6 -11
  9. package/dist/src/codec/asset-output-codec.js +32 -71
  10. package/dist/src/codec/bigint-codec.d.ts +2 -1
  11. package/dist/src/codec/bigint-codec.js +14 -2
  12. package/dist/src/codec/bytestring-codec.d.ts +6 -11
  13. package/dist/src/codec/bytestring-codec.js +9 -23
  14. package/dist/src/codec/codec.d.ts +54 -5
  15. package/dist/src/codec/codec.js +112 -14
  16. package/dist/src/codec/compact-int-codec.d.ts +65 -44
  17. package/dist/src/codec/compact-int-codec.js +222 -204
  18. package/dist/src/codec/contract-codec.d.ts +5 -8
  19. package/dist/src/codec/contract-codec.js +15 -29
  20. package/dist/src/codec/contract-output-codec.d.ts +4 -10
  21. package/dist/src/codec/contract-output-codec.js +20 -40
  22. package/dist/src/codec/contract-output-ref-codec.d.ts +2 -8
  23. package/dist/src/codec/contract-output-ref-codec.js +7 -17
  24. package/dist/src/codec/either-codec.d.ts +8 -15
  25. package/dist/src/codec/either-codec.js +5 -46
  26. package/dist/src/codec/index.d.ts +4 -3
  27. package/dist/src/codec/index.js +7 -4
  28. package/dist/src/codec/input-codec.d.ts +4 -10
  29. package/dist/src/codec/input-codec.js +11 -46
  30. package/dist/src/codec/instr-codec.d.ts +633 -40
  31. package/dist/src/codec/instr-codec.js +1040 -434
  32. package/dist/src/codec/int-as-4bytes-codec.d.ts +7 -0
  33. package/dist/src/codec/{signed-int-codec.js → int-as-4bytes-codec.js} +6 -12
  34. package/dist/src/codec/lockup-script-codec.d.ts +23 -26
  35. package/dist/src/codec/lockup-script-codec.js +12 -58
  36. package/dist/src/codec/method-codec.d.ts +6 -18
  37. package/dist/src/codec/method-codec.js +20 -48
  38. package/dist/src/codec/option-codec.d.ts +8 -13
  39. package/dist/src/codec/option-codec.js +14 -32
  40. package/dist/src/codec/output-codec.d.ts +2 -2
  41. package/dist/src/codec/output-codec.js +1 -1
  42. package/dist/src/codec/reader.d.ts +8 -0
  43. package/dist/src/codec/reader.js +48 -0
  44. package/dist/src/codec/script-codec.d.ts +6 -14
  45. package/dist/src/codec/script-codec.js +6 -22
  46. package/dist/src/codec/signature-codec.d.ts +4 -12
  47. package/dist/src/codec/signature-codec.js +3 -15
  48. package/dist/src/codec/timestamp-codec.d.ts +8 -0
  49. package/dist/src/codec/timestamp-codec.js +39 -0
  50. package/dist/src/codec/token-codec.d.ts +3 -10
  51. package/dist/src/codec/token-codec.js +6 -24
  52. package/dist/src/codec/transaction-codec.d.ts +6 -11
  53. package/dist/src/codec/transaction-codec.js +24 -49
  54. package/dist/src/codec/unlock-script-codec.d.ts +25 -36
  55. package/dist/src/codec/unlock-script-codec.js +26 -147
  56. package/dist/src/codec/unsigned-tx-codec.d.ts +8 -14
  57. package/dist/src/codec/unsigned-tx-codec.js +24 -66
  58. package/dist/src/codec/val.d.ts +27 -0
  59. package/dist/src/codec/val.js +33 -0
  60. package/dist/src/contract/contract.js +6 -6
  61. package/dist/src/contract/index.d.ts +1 -0
  62. package/dist/src/contract/index.js +1 -0
  63. package/dist/src/contract/ralph.d.ts +0 -4
  64. package/dist/src/contract/ralph.js +50 -179
  65. package/dist/src/contract/script-simulator.d.ts +27 -0
  66. package/dist/src/contract/script-simulator.js +757 -0
  67. package/dist/src/exchange/exchange.js +1 -1
  68. package/package.json +3 -4
  69. package/src/address/address.ts +8 -8
  70. package/src/api/api-alephium.ts +1 -1
  71. package/src/codec/array-codec.ts +16 -34
  72. package/src/codec/asset-output-codec.ts +38 -83
  73. package/src/codec/bigint-codec.ts +16 -2
  74. package/src/codec/bytestring-codec.ts +10 -28
  75. package/src/codec/codec.ts +121 -15
  76. package/src/codec/compact-int-codec.ts +230 -207
  77. package/src/codec/contract-codec.ts +20 -33
  78. package/src/codec/contract-output-codec.ts +22 -48
  79. package/src/codec/contract-output-ref-codec.ts +6 -17
  80. package/src/codec/either-codec.ts +4 -53
  81. package/src/codec/index.ts +4 -3
  82. package/src/codec/input-codec.ts +14 -36
  83. package/src/codec/instr-codec.ts +1229 -455
  84. package/src/codec/{signed-int-codec.ts → int-as-4bytes-codec.ts} +6 -10
  85. package/src/codec/lockup-script-codec.ts +28 -76
  86. package/src/codec/method-codec.ts +23 -61
  87. package/src/codec/option-codec.ts +13 -36
  88. package/src/codec/output-codec.ts +2 -2
  89. package/src/codec/reader.ts +56 -0
  90. package/src/codec/script-codec.ts +9 -31
  91. package/src/codec/signature-codec.ts +3 -18
  92. package/src/codec/timestamp-codec.ts +42 -0
  93. package/src/codec/token-codec.ts +7 -26
  94. package/src/codec/transaction-codec.ts +29 -58
  95. package/src/codec/unlock-script-codec.ts +44 -171
  96. package/src/codec/unsigned-tx-codec.ts +34 -63
  97. package/src/codec/val.ts +40 -0
  98. package/src/contract/contract.ts +9 -13
  99. package/src/contract/index.ts +1 -0
  100. package/src/contract/ralph.ts +76 -172
  101. package/src/contract/script-simulator.ts +838 -0
  102. package/src/exchange/exchange.ts +1 -1
  103. package/dist/src/codec/long-codec.d.ts +0 -8
  104. package/dist/src/codec/long-codec.js +0 -55
  105. package/dist/src/codec/signed-int-codec.d.ts +0 -8
  106. package/src/codec/long-codec.ts +0 -58
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.U256Lt = exports.U256Neq = exports.U256Eq = exports.U256Mod = exports.U256Div = exports.U256Mul = exports.U256Sub = exports.U256Add = exports.I256Ge = exports.I256Gt = exports.I256Le = exports.I256Lt = exports.I256Neq = exports.I256Eq = exports.I256Mod = exports.I256Div = exports.I256Mul = exports.I256Sub = exports.I256Add = exports.BoolToByteVec = exports.BoolNeq = exports.BoolEq = exports.BoolOr = exports.BoolAnd = exports.BoolNot = exports.Pop = exports.StoreLocal = exports.LoadLocal = exports.AddressConst = exports.ByteConst = exports.U256Const = exports.I256Const = exports.U256Const5 = exports.U256Const4 = exports.U256Const3 = exports.U256Const2 = exports.U256Const1 = exports.U256Const0 = exports.I256ConstN1 = exports.I256Const5 = exports.I256Const4 = exports.I256Const3 = exports.I256Const2 = exports.I256Const1 = exports.I256Const0 = exports.ConstFalse = exports.ConstTrue = exports.Return = exports.CallExternal = exports.CallLocal = void 0;
4
- exports.ByteVecToAddress = exports.ByteVecSlice = exports.Log5 = exports.Log4 = exports.Log3 = exports.Log2 = exports.Log1 = exports.VerifyRelativeLocktime = exports.VerifyAbsoluteLocktime = exports.TxInputsSize = exports.TxInputAddressAt = exports.TxId = exports.BlockTarget = exports.BlockTimeStamp = exports.NetworkId = exports.VerifyED25519 = exports.VerifySecP256K1 = exports.VerifyTxSignature = exports.Sha3 = exports.Sha256 = exports.Keccak256 = exports.Blake2b = exports.Assert = exports.IfFalse = exports.IfTrue = exports.Jump = exports.IsContractAddress = exports.IsAssetAddress = exports.AddressToByteVec = exports.AddressNeq = exports.AddressEq = exports.ByteVecConcat = exports.ByteVecSize = exports.ByteVecNeq = exports.ByteVecEq = exports.U256ToByteVec = exports.U256ToI256 = exports.I256ToByteVec = exports.I256ToU256 = exports.U256SHR = exports.U256SHL = exports.U256Xor = exports.U256BitOr = exports.U256BitAnd = exports.U256ModMul = exports.U256ModSub = exports.U256ModAdd = exports.U256Ge = exports.U256Gt = exports.U256Le = void 0;
5
- exports.TransferAlphFromSelf = exports.TransferAlph = exports.IsPaying = exports.TokenRemaining = exports.AlphRemaining = exports.ApproveToken = exports.ApproveAlph = exports.StoreMutField = exports.LoadMutField = exports.GroupOfAddress = exports.BoolToString = exports.I256ToString = exports.U256ToString = exports.AddModN = exports.MulModN = exports.GetSegragatedSignature = exports.VerifyBIP340Schnorr = exports.U256ModExp = exports.U256Exp = exports.I256Exp = exports.TxGasFee = exports.TxGasAmount = exports.TxGasPrice = exports.DEBUG = exports.BlockHash = exports.Swap = exports.AssertWithErrorCode = exports.Dup = exports.StoreLocalByIndex = exports.LoadLocalByIndex = exports.ContractIdToAddress = exports.Log9 = exports.Log8 = exports.Log7 = exports.Log6 = exports.EthEcRecover = exports.U256From32Byte = exports.U256From16Byte = exports.U256From8Byte = exports.U256From4Byte = exports.U256From2Byte = exports.U256From1Byte = exports.U256To32Byte = exports.U256To16Byte = exports.U256To8Byte = exports.U256To4Byte = exports.U256To2Byte = exports.U256To1Byte = exports.Zeros = exports.Encode = void 0;
6
- exports.instrsCodec = exports.instrCodec = exports.InstrCodec = exports.CallExternalBySelector = exports.MethodSelector = exports.CreateMapEntry = exports.MinimalContractDeposit = exports.PayGasFee = exports.LoadImmFieldByIndex = exports.LoadImmField = exports.AlphTokenId = exports.SubContractIdOf = exports.SubContractId = exports.NullContractAddress = exports.CopyCreateSubContractAndTransferToken = exports.CreateSubContractAndTransferToken = exports.CopyCreateContractAndTransferToken = exports.CreateContractAndTransferToken = exports.ContractExists = exports.StoreMutFieldByIndex = exports.LoadMutFieldByIndex = exports.CopyCreateSubContractWithToken = exports.CopyCreateSubContract = exports.CreateSubContractWithToken = exports.CreateSubContract = exports.LockApprovedAssets = exports.BurnToken = exports.CopyCreateContractWithToken = exports.MigrateWithFields = exports.MigrateSimple = exports.ContractInitialCodeHash = exports.ContractInitialStateHash = exports.CallerCodeHash = exports.CallerInitialStateHash = exports.IsCallerFromTxScript = exports.CallerAddress = exports.CallerContractId = exports.SelfAddress = exports.SelfContractId = exports.DestroySelf = exports.CopyCreateContract = exports.CreateContractWithToken = exports.CreateContract = exports.TransferTokenToSelf = exports.TransferTokenFromSelf = exports.TransferToken = exports.TransferAlphToSelf = void 0;
3
+ exports.I256Add = exports.BoolToByteVec = exports.BoolNeq = exports.BoolEq = exports.BoolOr = exports.BoolAnd = exports.BoolNot = exports.Pop = exports.StoreLocal = exports.LoadLocal = exports.AddressConst = exports.BytesConst = exports.U256Const = exports.I256Const = exports.U256Const5 = exports.U256Const4 = exports.U256Const3 = exports.U256Const2 = exports.U256Const1 = exports.U256Const0 = exports.I256ConstN1 = exports.I256Const5 = exports.I256Const4 = exports.I256Const3 = exports.I256Const2 = exports.I256Const1 = exports.I256Const0 = exports.ConstFalse = exports.ConstTrue = exports.Return = exports.CallExternal = exports.CallLocal = exports.CallExternalBySelectorCode = exports.MethodSelectorCode = exports.CreateMapEntryCode = exports.LoadImmFieldCode = exports.StoreMutFieldCode = exports.LoadMutFieldCode = exports.DEBUGCode = exports.IfFalseCode = exports.IfTrueCode = exports.JumpCode = exports.StoreLocalCode = exports.LoadLocalCode = exports.AddressConstCode = exports.BytesConstCode = exports.U256ConstCode = exports.I256ConstCode = exports.CallExternalCode = exports.CallLocalCode = void 0;
4
+ exports.Sha3 = exports.Sha256 = exports.Keccak256 = exports.Blake2b = exports.Assert = exports.IfFalse = exports.IfTrue = exports.Jump = exports.IsContractAddress = exports.IsAssetAddress = exports.AddressToByteVec = exports.AddressNeq = exports.AddressEq = exports.ByteVecConcat = exports.ByteVecSize = exports.ByteVecNeq = exports.ByteVecEq = exports.U256ToByteVec = exports.U256ToI256 = exports.I256ToByteVec = exports.I256ToU256 = exports.U256SHR = exports.U256SHL = exports.U256Xor = exports.U256BitOr = exports.U256BitAnd = exports.U256ModMul = exports.U256ModSub = exports.U256ModAdd = exports.U256Ge = exports.U256Gt = exports.U256Le = exports.U256Lt = exports.U256Neq = exports.U256Eq = exports.U256Mod = exports.U256Div = exports.U256Mul = exports.U256Sub = exports.U256Add = exports.I256Ge = exports.I256Gt = exports.I256Le = exports.I256Lt = exports.I256Neq = exports.I256Eq = exports.I256Mod = exports.I256Div = exports.I256Mul = exports.I256Sub = void 0;
5
+ exports.U256Exp = exports.I256Exp = exports.TxGasFee = exports.TxGasAmount = exports.TxGasPrice = exports.DEBUG = exports.BlockHash = exports.Swap = exports.AssertWithErrorCode = exports.Dup = exports.StoreLocalByIndex = exports.LoadLocalByIndex = exports.ContractIdToAddress = exports.Log9 = exports.Log8 = exports.Log7 = exports.Log6 = exports.EthEcRecover = exports.U256From32Byte = exports.U256From16Byte = exports.U256From8Byte = exports.U256From4Byte = exports.U256From2Byte = exports.U256From1Byte = exports.U256To32Byte = exports.U256To16Byte = exports.U256To8Byte = exports.U256To4Byte = exports.U256To2Byte = exports.U256To1Byte = exports.Zeros = exports.Encode = exports.ByteVecToAddress = exports.ByteVecSlice = exports.Log5 = exports.Log4 = exports.Log3 = exports.Log2 = exports.Log1 = exports.VerifyRelativeLocktime = exports.VerifyAbsoluteLocktime = exports.TxInputsSize = exports.TxInputAddressAt = exports.TxId = exports.BlockTarget = exports.BlockTimeStamp = exports.NetworkId = exports.VerifyED25519 = exports.VerifySecP256K1 = exports.VerifyTxSignature = void 0;
6
+ exports.CreateSubContractAndTransferToken = exports.CopyCreateContractAndTransferToken = exports.CreateContractAndTransferToken = exports.ContractExists = exports.StoreMutFieldByIndex = exports.LoadMutFieldByIndex = exports.CopyCreateSubContractWithToken = exports.CopyCreateSubContract = exports.CreateSubContractWithToken = exports.CreateSubContract = exports.LockApprovedAssets = exports.BurnToken = exports.CopyCreateContractWithToken = exports.MigrateWithFields = exports.MigrateSimple = exports.ContractCodeHash = exports.ContractInitialStateHash = exports.CallerCodeHash = exports.CallerInitialStateHash = exports.IsCalledFromTxScript = exports.CallerAddress = exports.CallerContractId = exports.SelfAddress = exports.SelfContractId = exports.DestroySelf = exports.CopyCreateContract = exports.CreateContractWithToken = exports.CreateContract = exports.TransferTokenToSelf = exports.TransferTokenFromSelf = exports.TransferToken = exports.TransferAlphToSelf = exports.TransferAlphFromSelf = exports.TransferAlph = exports.IsPaying = exports.TokenRemaining = exports.AlphRemaining = exports.ApproveToken = exports.ApproveAlph = exports.StoreMutField = exports.LoadMutField = exports.GroupOfAddress = exports.BoolToString = exports.I256ToString = exports.U256ToString = exports.AddModN = exports.MulModN = exports.GetSegregatedSignature = exports.VerifyBIP340Schnorr = exports.U256ModExp = void 0;
7
+ exports.instrsCodec = exports.instrCodec = exports.InstrCodec = exports.CallExternalBySelector = exports.MethodSelector = exports.CreateMapEntry = exports.MinimalContractDeposit = exports.PayGasFee = exports.LoadImmFieldByIndex = exports.LoadImmField = exports.ALPHTokenId = exports.SubContractIdOf = exports.SubContractId = exports.NullContractAddress = exports.CopyCreateSubContractAndTransferToken = void 0;
7
8
  /*
8
9
  Copyright 2018 - 2022 The Alephium Authors
9
10
  This file is part of the alephium project.
@@ -21,464 +22,1069 @@ GNU Lesser General Public License for more details.
21
22
  You should have received a copy of the GNU Lesser General Public License
22
23
  along with the library. If not, see <http://www.gnu.org/licenses/>.
23
24
  */
24
- const binary_parser_1 = require("binary-parser");
25
+ // auto-generated, do not edit
25
26
  const array_codec_1 = require("./array-codec");
26
27
  const compact_int_codec_1 = require("./compact-int-codec");
27
28
  const bytestring_codec_1 = require("./bytestring-codec");
28
29
  const lockup_script_codec_1 = require("./lockup-script-codec");
29
- const signed_int_codec_1 = require("./signed-int-codec");
30
- const byteStringArrayCodec = new array_codec_1.ArrayCodec(bytestring_codec_1.byteStringCodec);
31
- const CallLocal = (index) => ({ code: 0x00, value: { index } });
30
+ const codec_1 = require("./codec");
31
+ const int_as_4bytes_codec_1 = require("./int-as-4bytes-codec");
32
+ exports.CallLocalCode = 0x00;
33
+ exports.CallExternalCode = 0x01;
34
+ exports.I256ConstCode = 0x12;
35
+ exports.U256ConstCode = 0x13;
36
+ exports.BytesConstCode = 0x14;
37
+ exports.AddressConstCode = 0x15;
38
+ exports.LoadLocalCode = 0x16;
39
+ exports.StoreLocalCode = 0x17;
40
+ exports.JumpCode = 0x4a;
41
+ exports.IfTrueCode = 0x4b;
42
+ exports.IfFalseCode = 0x4c;
43
+ exports.DEBUGCode = 0x7e;
44
+ exports.LoadMutFieldCode = 0xa0;
45
+ exports.StoreMutFieldCode = 0xa1;
46
+ exports.LoadImmFieldCode = 0xce;
47
+ exports.CreateMapEntryCode = 0xd2;
48
+ exports.MethodSelectorCode = 0xd3;
49
+ exports.CallExternalBySelectorCode = 0xd4;
50
+ const CallLocal = (index) => {
51
+ return { name: 'CallLocal', code: 0x00, index };
52
+ };
32
53
  exports.CallLocal = CallLocal;
33
- const CallExternal = (index) => ({ code: 0x01, value: { index } });
54
+ const CallExternal = (index) => {
55
+ return { name: 'CallExternal', code: 0x01, index };
56
+ };
34
57
  exports.CallExternal = CallExternal;
35
- exports.Return = { code: 0x02, value: {} };
36
- exports.ConstTrue = { code: 0x03, value: {} };
37
- exports.ConstFalse = { code: 0x04, value: {} };
38
- exports.I256Const0 = { code: 0x05, value: {} };
39
- exports.I256Const1 = { code: 0x06, value: {} };
40
- exports.I256Const2 = { code: 0x07, value: {} };
41
- exports.I256Const3 = { code: 0x08, value: {} };
42
- exports.I256Const4 = { code: 0x09, value: {} };
43
- exports.I256Const5 = { code: 0x0a, value: {} };
44
- exports.I256ConstN1 = { code: 0x0b, value: {} };
45
- exports.U256Const0 = { code: 0x0c, value: {} };
46
- exports.U256Const1 = { code: 0x0d, value: {} };
47
- exports.U256Const2 = { code: 0x0e, value: {} };
48
- exports.U256Const3 = { code: 0x0f, value: {} };
49
- exports.U256Const4 = { code: 0x10, value: {} };
50
- exports.U256Const5 = { code: 0x11, value: {} };
51
- const I256Const = (value) => ({ code: 0x12, value: { value } });
58
+ exports.Return = { name: 'Return', code: 0x02 };
59
+ exports.ConstTrue = { name: 'ConstTrue', code: 0x03 };
60
+ exports.ConstFalse = { name: 'ConstFalse', code: 0x04 };
61
+ exports.I256Const0 = { name: 'I256Const0', code: 0x05 };
62
+ exports.I256Const1 = { name: 'I256Const1', code: 0x06 };
63
+ exports.I256Const2 = { name: 'I256Const2', code: 0x07 };
64
+ exports.I256Const3 = { name: 'I256Const3', code: 0x08 };
65
+ exports.I256Const4 = { name: 'I256Const4', code: 0x09 };
66
+ exports.I256Const5 = { name: 'I256Const5', code: 0x0a };
67
+ exports.I256ConstN1 = { name: 'I256ConstN1', code: 0x0b };
68
+ exports.U256Const0 = { name: 'U256Const0', code: 0x0c };
69
+ exports.U256Const1 = { name: 'U256Const1', code: 0x0d };
70
+ exports.U256Const2 = { name: 'U256Const2', code: 0x0e };
71
+ exports.U256Const3 = { name: 'U256Const3', code: 0x0f };
72
+ exports.U256Const4 = { name: 'U256Const4', code: 0x10 };
73
+ exports.U256Const5 = { name: 'U256Const5', code: 0x11 };
74
+ const I256Const = (value) => {
75
+ return { name: 'I256Const', code: 0x12, value };
76
+ };
52
77
  exports.I256Const = I256Const;
53
- const U256Const = (value) => ({ code: 0x13, value: { value } });
78
+ const U256Const = (value) => {
79
+ return { name: 'U256Const', code: 0x13, value };
80
+ };
54
81
  exports.U256Const = U256Const;
55
- const ByteConst = (value) => ({ code: 0x14, value: { value } });
56
- exports.ByteConst = ByteConst;
57
- const AddressConst = (value) => ({ code: 0x15, value: { value } });
82
+ const BytesConst = (value) => {
83
+ return { name: 'BytesConst', code: 0x14, value };
84
+ };
85
+ exports.BytesConst = BytesConst;
86
+ const AddressConst = (value) => {
87
+ return { name: 'AddressConst', code: 0x15, value };
88
+ };
58
89
  exports.AddressConst = AddressConst;
59
- const LoadLocal = (index) => ({ code: 0x16, value: { index } });
90
+ const LoadLocal = (index) => {
91
+ return { name: 'LoadLocal', code: 0x16, index };
92
+ };
60
93
  exports.LoadLocal = LoadLocal;
61
- const StoreLocal = (index) => ({ code: 0x17, value: { index } });
94
+ const StoreLocal = (index) => {
95
+ return { name: 'StoreLocal', code: 0x17, index };
96
+ };
62
97
  exports.StoreLocal = StoreLocal;
63
- exports.Pop = { code: 0x18, value: {} };
64
- exports.BoolNot = { code: 0x19, value: {} };
65
- exports.BoolAnd = { code: 0x1a, value: {} };
66
- exports.BoolOr = { code: 0x1b, value: {} };
67
- exports.BoolEq = { code: 0x1c, value: {} };
68
- exports.BoolNeq = { code: 0x1d, value: {} };
69
- exports.BoolToByteVec = { code: 0x1e, value: {} };
70
- exports.I256Add = { code: 0x1f, value: {} };
71
- exports.I256Sub = { code: 0x20, value: {} };
72
- exports.I256Mul = { code: 0x21, value: {} };
73
- exports.I256Div = { code: 0x22, value: {} };
74
- exports.I256Mod = { code: 0x23, value: {} };
75
- exports.I256Eq = { code: 0x24, value: {} };
76
- exports.I256Neq = { code: 0x25, value: {} };
77
- exports.I256Lt = { code: 0x26, value: {} };
78
- exports.I256Le = { code: 0x27, value: {} };
79
- exports.I256Gt = { code: 0x28, value: {} };
80
- exports.I256Ge = { code: 0x29, value: {} };
81
- exports.U256Add = { code: 0x2a, value: {} };
82
- exports.U256Sub = { code: 0x2b, value: {} };
83
- exports.U256Mul = { code: 0x2c, value: {} };
84
- exports.U256Div = { code: 0x2d, value: {} };
85
- exports.U256Mod = { code: 0x2e, value: {} };
86
- exports.U256Eq = { code: 0x2f, value: {} };
87
- exports.U256Neq = { code: 0x30, value: {} };
88
- exports.U256Lt = { code: 0x31, value: {} };
89
- exports.U256Le = { code: 0x32, value: {} };
90
- exports.U256Gt = { code: 0x33, value: {} };
91
- exports.U256Ge = { code: 0x34, value: {} };
92
- exports.U256ModAdd = { code: 0x35, value: {} };
93
- exports.U256ModSub = { code: 0x36, value: {} };
94
- exports.U256ModMul = { code: 0x37, value: {} };
95
- exports.U256BitAnd = { code: 0x38, value: {} };
96
- exports.U256BitOr = { code: 0x39, value: {} };
97
- exports.U256Xor = { code: 0x3a, value: {} };
98
- exports.U256SHL = { code: 0x3b, value: {} };
99
- exports.U256SHR = { code: 0x3c, value: {} };
100
- exports.I256ToU256 = { code: 0x3d, value: {} };
101
- exports.I256ToByteVec = { code: 0x3e, value: {} };
102
- exports.U256ToI256 = { code: 0x3f, value: {} };
103
- exports.U256ToByteVec = { code: 0x40, value: {} };
104
- exports.ByteVecEq = { code: 0x41, value: {} };
105
- exports.ByteVecNeq = { code: 0x42, value: {} };
106
- exports.ByteVecSize = { code: 0x43, value: {} };
107
- exports.ByteVecConcat = { code: 0x44, value: {} };
108
- exports.AddressEq = { code: 0x45, value: {} };
109
- exports.AddressNeq = { code: 0x46, value: {} };
110
- exports.AddressToByteVec = { code: 0x47, value: {} };
111
- exports.IsAssetAddress = { code: 0x48, value: {} };
112
- exports.IsContractAddress = { code: 0x49, value: {} };
113
- const Jump = (value) => ({ code: 0x4a, value });
98
+ exports.Pop = { name: 'Pop', code: 0x18 };
99
+ exports.BoolNot = { name: 'BoolNot', code: 0x19 };
100
+ exports.BoolAnd = { name: 'BoolAnd', code: 0x1a };
101
+ exports.BoolOr = { name: 'BoolOr', code: 0x1b };
102
+ exports.BoolEq = { name: 'BoolEq', code: 0x1c };
103
+ exports.BoolNeq = { name: 'BoolNeq', code: 0x1d };
104
+ exports.BoolToByteVec = { name: 'BoolToByteVec', code: 0x1e };
105
+ exports.I256Add = { name: 'I256Add', code: 0x1f };
106
+ exports.I256Sub = { name: 'I256Sub', code: 0x20 };
107
+ exports.I256Mul = { name: 'I256Mul', code: 0x21 };
108
+ exports.I256Div = { name: 'I256Div', code: 0x22 };
109
+ exports.I256Mod = { name: 'I256Mod', code: 0x23 };
110
+ exports.I256Eq = { name: 'I256Eq', code: 0x24 };
111
+ exports.I256Neq = { name: 'I256Neq', code: 0x25 };
112
+ exports.I256Lt = { name: 'I256Lt', code: 0x26 };
113
+ exports.I256Le = { name: 'I256Le', code: 0x27 };
114
+ exports.I256Gt = { name: 'I256Gt', code: 0x28 };
115
+ exports.I256Ge = { name: 'I256Ge', code: 0x29 };
116
+ exports.U256Add = { name: 'U256Add', code: 0x2a };
117
+ exports.U256Sub = { name: 'U256Sub', code: 0x2b };
118
+ exports.U256Mul = { name: 'U256Mul', code: 0x2c };
119
+ exports.U256Div = { name: 'U256Div', code: 0x2d };
120
+ exports.U256Mod = { name: 'U256Mod', code: 0x2e };
121
+ exports.U256Eq = { name: 'U256Eq', code: 0x2f };
122
+ exports.U256Neq = { name: 'U256Neq', code: 0x30 };
123
+ exports.U256Lt = { name: 'U256Lt', code: 0x31 };
124
+ exports.U256Le = { name: 'U256Le', code: 0x32 };
125
+ exports.U256Gt = { name: 'U256Gt', code: 0x33 };
126
+ exports.U256Ge = { name: 'U256Ge', code: 0x34 };
127
+ exports.U256ModAdd = { name: 'U256ModAdd', code: 0x35 };
128
+ exports.U256ModSub = { name: 'U256ModSub', code: 0x36 };
129
+ exports.U256ModMul = { name: 'U256ModMul', code: 0x37 };
130
+ exports.U256BitAnd = { name: 'U256BitAnd', code: 0x38 };
131
+ exports.U256BitOr = { name: 'U256BitOr', code: 0x39 };
132
+ exports.U256Xor = { name: 'U256Xor', code: 0x3a };
133
+ exports.U256SHL = { name: 'U256SHL', code: 0x3b };
134
+ exports.U256SHR = { name: 'U256SHR', code: 0x3c };
135
+ exports.I256ToU256 = { name: 'I256ToU256', code: 0x3d };
136
+ exports.I256ToByteVec = { name: 'I256ToByteVec', code: 0x3e };
137
+ exports.U256ToI256 = { name: 'U256ToI256', code: 0x3f };
138
+ exports.U256ToByteVec = { name: 'U256ToByteVec', code: 0x40 };
139
+ exports.ByteVecEq = { name: 'ByteVecEq', code: 0x41 };
140
+ exports.ByteVecNeq = { name: 'ByteVecNeq', code: 0x42 };
141
+ exports.ByteVecSize = { name: 'ByteVecSize', code: 0x43 };
142
+ exports.ByteVecConcat = { name: 'ByteVecConcat', code: 0x44 };
143
+ exports.AddressEq = { name: 'AddressEq', code: 0x45 };
144
+ exports.AddressNeq = { name: 'AddressNeq', code: 0x46 };
145
+ exports.AddressToByteVec = { name: 'AddressToByteVec', code: 0x47 };
146
+ exports.IsAssetAddress = { name: 'IsAssetAddress', code: 0x48 };
147
+ exports.IsContractAddress = { name: 'IsContractAddress', code: 0x49 };
148
+ const Jump = (offset) => {
149
+ return { name: 'Jump', code: 0x4a, offset };
150
+ };
114
151
  exports.Jump = Jump;
115
- const IfTrue = (value) => ({ code: 0x4b, value });
152
+ const IfTrue = (offset) => {
153
+ return { name: 'IfTrue', code: 0x4b, offset };
154
+ };
116
155
  exports.IfTrue = IfTrue;
117
- const IfFalse = (value) => ({ code: 0x4c, value: { value } });
156
+ const IfFalse = (offset) => {
157
+ return { name: 'IfFalse', code: 0x4c, offset };
158
+ };
118
159
  exports.IfFalse = IfFalse;
119
- exports.Assert = { code: 0x4d, value: {} };
120
- exports.Blake2b = { code: 0x4e, value: {} };
121
- exports.Keccak256 = { code: 0x4f, value: {} };
122
- exports.Sha256 = { code: 0x50, value: {} };
123
- exports.Sha3 = { code: 0x51, value: {} };
124
- exports.VerifyTxSignature = { code: 0x52, value: {} };
125
- exports.VerifySecP256K1 = { code: 0x53, value: {} };
126
- exports.VerifyED25519 = { code: 0x54, value: {} };
127
- exports.NetworkId = { code: 0x55, value: {} };
128
- exports.BlockTimeStamp = { code: 0x56, value: {} };
129
- exports.BlockTarget = { code: 0x57, value: {} };
130
- exports.TxId = { code: 0x58, value: {} };
131
- exports.TxInputAddressAt = { code: 0x59, value: {} };
132
- exports.TxInputsSize = { code: 0x5a, value: {} };
133
- exports.VerifyAbsoluteLocktime = { code: 0x5b, value: {} };
134
- exports.VerifyRelativeLocktime = { code: 0x5c, value: {} };
135
- exports.Log1 = { code: 0x5d, value: {} };
136
- exports.Log2 = { code: 0x5e, value: {} };
137
- exports.Log3 = { code: 0x5f, value: {} };
138
- exports.Log4 = { code: 0x60, value: {} };
139
- exports.Log5 = { code: 0x61, value: {} };
140
- exports.ByteVecSlice = { code: 0x62, value: {} };
141
- exports.ByteVecToAddress = { code: 0x63, value: {} };
142
- exports.Encode = { code: 0x64, value: {} };
143
- exports.Zeros = { code: 0x65, value: {} };
144
- exports.U256To1Byte = { code: 0x66, value: {} };
145
- exports.U256To2Byte = { code: 0x67, value: {} };
146
- exports.U256To4Byte = { code: 0x68, value: {} };
147
- exports.U256To8Byte = { code: 0x69, value: {} };
148
- exports.U256To16Byte = { code: 0x6a, value: {} };
149
- exports.U256To32Byte = { code: 0x6b, value: {} };
150
- exports.U256From1Byte = { code: 0x6c, value: {} };
151
- exports.U256From2Byte = { code: 0x6d, value: {} };
152
- exports.U256From4Byte = { code: 0x6e, value: {} };
153
- exports.U256From8Byte = { code: 0x6f, value: {} };
154
- exports.U256From16Byte = { code: 0x70, value: {} };
155
- exports.U256From32Byte = { code: 0x71, value: {} };
156
- exports.EthEcRecover = { code: 0x72, value: {} };
157
- exports.Log6 = { code: 0x73, value: {} };
158
- exports.Log7 = { code: 0x74, value: {} };
159
- exports.Log8 = { code: 0x75, value: {} };
160
- exports.Log9 = { code: 0x76, value: {} };
161
- exports.ContractIdToAddress = { code: 0x77, value: {} };
162
- exports.LoadLocalByIndex = { code: 0x78, value: {} };
163
- exports.StoreLocalByIndex = { code: 0x79, value: {} };
164
- exports.Dup = { code: 0x7a, value: {} };
165
- exports.AssertWithErrorCode = { code: 0x7b, value: {} };
166
- exports.Swap = { code: 0x7c, value: {} };
167
- exports.BlockHash = { code: 0x7d, value: {} };
168
- const DEBUG = (stringParts) => ({ code: 0x7e, value: { stringParts } });
160
+ exports.Assert = { name: 'Assert', code: 0x4d };
161
+ exports.Blake2b = { name: 'Blake2b', code: 0x4e };
162
+ exports.Keccak256 = { name: 'Keccak256', code: 0x4f };
163
+ exports.Sha256 = { name: 'Sha256', code: 0x50 };
164
+ exports.Sha3 = { name: 'Sha3', code: 0x51 };
165
+ exports.VerifyTxSignature = { name: 'VerifyTxSignature', code: 0x52 };
166
+ exports.VerifySecP256K1 = { name: 'VerifySecP256K1', code: 0x53 };
167
+ exports.VerifyED25519 = { name: 'VerifyED25519', code: 0x54 };
168
+ exports.NetworkId = { name: 'NetworkId', code: 0x55 };
169
+ exports.BlockTimeStamp = { name: 'BlockTimeStamp', code: 0x56 };
170
+ exports.BlockTarget = { name: 'BlockTarget', code: 0x57 };
171
+ exports.TxId = { name: 'TxId', code: 0x58 };
172
+ exports.TxInputAddressAt = { name: 'TxInputAddressAt', code: 0x59 };
173
+ exports.TxInputsSize = { name: 'TxInputsSize', code: 0x5a };
174
+ exports.VerifyAbsoluteLocktime = { name: 'VerifyAbsoluteLocktime', code: 0x5b };
175
+ exports.VerifyRelativeLocktime = { name: 'VerifyRelativeLocktime', code: 0x5c };
176
+ exports.Log1 = { name: 'Log1', code: 0x5d };
177
+ exports.Log2 = { name: 'Log2', code: 0x5e };
178
+ exports.Log3 = { name: 'Log3', code: 0x5f };
179
+ exports.Log4 = { name: 'Log4', code: 0x60 };
180
+ exports.Log5 = { name: 'Log5', code: 0x61 };
181
+ exports.ByteVecSlice = { name: 'ByteVecSlice', code: 0x62 };
182
+ exports.ByteVecToAddress = { name: 'ByteVecToAddress', code: 0x63 };
183
+ exports.Encode = { name: 'Encode', code: 0x64 };
184
+ exports.Zeros = { name: 'Zeros', code: 0x65 };
185
+ exports.U256To1Byte = { name: 'U256To1Byte', code: 0x66 };
186
+ exports.U256To2Byte = { name: 'U256To2Byte', code: 0x67 };
187
+ exports.U256To4Byte = { name: 'U256To4Byte', code: 0x68 };
188
+ exports.U256To8Byte = { name: 'U256To8Byte', code: 0x69 };
189
+ exports.U256To16Byte = { name: 'U256To16Byte', code: 0x6a };
190
+ exports.U256To32Byte = { name: 'U256To32Byte', code: 0x6b };
191
+ exports.U256From1Byte = { name: 'U256From1Byte', code: 0x6c };
192
+ exports.U256From2Byte = { name: 'U256From2Byte', code: 0x6d };
193
+ exports.U256From4Byte = { name: 'U256From4Byte', code: 0x6e };
194
+ exports.U256From8Byte = { name: 'U256From8Byte', code: 0x6f };
195
+ exports.U256From16Byte = { name: 'U256From16Byte', code: 0x70 };
196
+ exports.U256From32Byte = { name: 'U256From32Byte', code: 0x71 };
197
+ exports.EthEcRecover = { name: 'EthEcRecover', code: 0x72 };
198
+ exports.Log6 = { name: 'Log6', code: 0x73 };
199
+ exports.Log7 = { name: 'Log7', code: 0x74 };
200
+ exports.Log8 = { name: 'Log8', code: 0x75 };
201
+ exports.Log9 = { name: 'Log9', code: 0x76 };
202
+ exports.ContractIdToAddress = { name: 'ContractIdToAddress', code: 0x77 };
203
+ exports.LoadLocalByIndex = { name: 'LoadLocalByIndex', code: 0x78 };
204
+ exports.StoreLocalByIndex = { name: 'StoreLocalByIndex', code: 0x79 };
205
+ exports.Dup = { name: 'Dup', code: 0x7a };
206
+ exports.AssertWithErrorCode = { name: 'AssertWithErrorCode', code: 0x7b };
207
+ exports.Swap = { name: 'Swap', code: 0x7c };
208
+ exports.BlockHash = { name: 'BlockHash', code: 0x7d };
209
+ const DEBUG = (stringParts) => {
210
+ return { name: 'DEBUG', code: 0x7e, stringParts };
211
+ };
169
212
  exports.DEBUG = DEBUG;
170
- exports.TxGasPrice = { code: 0x7f, value: {} };
171
- exports.TxGasAmount = { code: 0x80, value: {} };
172
- exports.TxGasFee = { code: 0x81, value: {} };
173
- exports.I256Exp = { code: 0x82, value: {} };
174
- exports.U256Exp = { code: 0x83, value: {} };
175
- exports.U256ModExp = { code: 0x84, value: {} };
176
- exports.VerifyBIP340Schnorr = { code: 0x85, value: {} };
177
- exports.GetSegragatedSignature = { code: 0x86, value: {} };
178
- exports.MulModN = { code: 0x87, value: {} };
179
- exports.AddModN = { code: 0x88, value: {} };
180
- exports.U256ToString = { code: 0x89, value: {} };
181
- exports.I256ToString = { code: 0x8a, value: {} };
182
- exports.BoolToString = { code: 0x8b, value: {} };
183
- exports.GroupOfAddress = { code: 0x8c, value: {} };
184
- const LoadMutField = (index) => ({ code: 0xa0, value: { index } });
213
+ exports.TxGasPrice = { name: 'TxGasPrice', code: 0x7f };
214
+ exports.TxGasAmount = { name: 'TxGasAmount', code: 0x80 };
215
+ exports.TxGasFee = { name: 'TxGasFee', code: 0x81 };
216
+ exports.I256Exp = { name: 'I256Exp', code: 0x82 };
217
+ exports.U256Exp = { name: 'U256Exp', code: 0x83 };
218
+ exports.U256ModExp = { name: 'U256ModExp', code: 0x84 };
219
+ exports.VerifyBIP340Schnorr = { name: 'VerifyBIP340Schnorr', code: 0x85 };
220
+ exports.GetSegregatedSignature = { name: 'GetSegregatedSignature', code: 0x86 };
221
+ exports.MulModN = { name: 'MulModN', code: 0x87 };
222
+ exports.AddModN = { name: 'AddModN', code: 0x88 };
223
+ exports.U256ToString = { name: 'U256ToString', code: 0x89 };
224
+ exports.I256ToString = { name: 'I256ToString', code: 0x8a };
225
+ exports.BoolToString = { name: 'BoolToString', code: 0x8b };
226
+ exports.GroupOfAddress = { name: 'GroupOfAddress', code: 0x8c };
227
+ const LoadMutField = (index) => {
228
+ return { name: 'LoadMutField', code: 0xa0, index };
229
+ };
185
230
  exports.LoadMutField = LoadMutField;
186
- const StoreMutField = (index) => ({ code: 0xa1, value: { index } });
231
+ const StoreMutField = (index) => {
232
+ return { name: 'StoreMutField', code: 0xa1, index };
233
+ };
187
234
  exports.StoreMutField = StoreMutField;
188
- exports.ApproveAlph = { code: 0xa2, value: {} };
189
- exports.ApproveToken = { code: 0xa3, value: {} };
190
- exports.AlphRemaining = { code: 0xa4, value: {} };
191
- exports.TokenRemaining = { code: 0xa5, value: {} };
192
- exports.IsPaying = { code: 0xa6, value: {} };
193
- exports.TransferAlph = { code: 0xa7, value: {} };
194
- exports.TransferAlphFromSelf = { code: 0xa8, value: {} };
195
- exports.TransferAlphToSelf = { code: 0xa9, value: {} };
196
- exports.TransferToken = { code: 0xaa, value: {} };
197
- exports.TransferTokenFromSelf = { code: 0xab, value: {} };
198
- exports.TransferTokenToSelf = { code: 0xac, value: {} };
199
- exports.CreateContract = { code: 0xad, value: {} };
200
- exports.CreateContractWithToken = { code: 0xae, value: {} };
201
- exports.CopyCreateContract = { code: 0xaf, value: {} };
202
- exports.DestroySelf = { code: 0xb0, value: {} };
203
- exports.SelfContractId = { code: 0xb1, value: {} };
204
- exports.SelfAddress = { code: 0xb2, value: {} };
205
- exports.CallerContractId = { code: 0xb3, value: {} };
206
- exports.CallerAddress = { code: 0xb4, value: {} };
207
- exports.IsCallerFromTxScript = { code: 0xb5, value: {} };
208
- exports.CallerInitialStateHash = { code: 0xb6, value: {} };
209
- exports.CallerCodeHash = { code: 0xb7, value: {} };
210
- exports.ContractInitialStateHash = { code: 0xb8, value: {} };
211
- exports.ContractInitialCodeHash = { code: 0xb9, value: {} };
212
- exports.MigrateSimple = { code: 0xba, value: {} };
213
- exports.MigrateWithFields = { code: 0xbb, value: {} };
214
- exports.CopyCreateContractWithToken = { code: 0xbc, value: {} };
215
- exports.BurnToken = { code: 0xbd, value: {} };
216
- exports.LockApprovedAssets = { code: 0xbe, value: {} };
217
- exports.CreateSubContract = { code: 0xbf, value: {} };
218
- exports.CreateSubContractWithToken = { code: 0xc0, value: {} };
219
- exports.CopyCreateSubContract = { code: 0xc1, value: {} };
220
- exports.CopyCreateSubContractWithToken = { code: 0xc2, value: {} };
221
- exports.LoadMutFieldByIndex = { code: 0xc3, value: {} };
222
- exports.StoreMutFieldByIndex = { code: 0xc4, value: {} };
223
- exports.ContractExists = { code: 0xc5, value: {} };
224
- exports.CreateContractAndTransferToken = { code: 0xc6, value: {} };
225
- exports.CopyCreateContractAndTransferToken = { code: 0xc7, value: {} };
226
- exports.CreateSubContractAndTransferToken = { code: 0xc8, value: {} };
227
- exports.CopyCreateSubContractAndTransferToken = { code: 0xc9, value: {} };
228
- exports.NullContractAddress = { code: 0xca, value: {} };
229
- exports.SubContractId = { code: 0xcb, value: {} };
230
- exports.SubContractIdOf = { code: 0xcc, value: {} };
231
- exports.AlphTokenId = { code: 0xcd, value: {} };
232
- const LoadImmField = (index) => ({ code: 0xce, value: { index } });
235
+ exports.ApproveAlph = { name: 'ApproveAlph', code: 0xa2 };
236
+ exports.ApproveToken = { name: 'ApproveToken', code: 0xa3 };
237
+ exports.AlphRemaining = { name: 'AlphRemaining', code: 0xa4 };
238
+ exports.TokenRemaining = { name: 'TokenRemaining', code: 0xa5 };
239
+ exports.IsPaying = { name: 'IsPaying', code: 0xa6 };
240
+ exports.TransferAlph = { name: 'TransferAlph', code: 0xa7 };
241
+ exports.TransferAlphFromSelf = { name: 'TransferAlphFromSelf', code: 0xa8 };
242
+ exports.TransferAlphToSelf = { name: 'TransferAlphToSelf', code: 0xa9 };
243
+ exports.TransferToken = { name: 'TransferToken', code: 0xaa };
244
+ exports.TransferTokenFromSelf = { name: 'TransferTokenFromSelf', code: 0xab };
245
+ exports.TransferTokenToSelf = { name: 'TransferTokenToSelf', code: 0xac };
246
+ exports.CreateContract = { name: 'CreateContract', code: 0xad };
247
+ exports.CreateContractWithToken = { name: 'CreateContractWithToken', code: 0xae };
248
+ exports.CopyCreateContract = { name: 'CopyCreateContract', code: 0xaf };
249
+ exports.DestroySelf = { name: 'DestroySelf', code: 0xb0 };
250
+ exports.SelfContractId = { name: 'SelfContractId', code: 0xb1 };
251
+ exports.SelfAddress = { name: 'SelfAddress', code: 0xb2 };
252
+ exports.CallerContractId = { name: 'CallerContractId', code: 0xb3 };
253
+ exports.CallerAddress = { name: 'CallerAddress', code: 0xb4 };
254
+ exports.IsCalledFromTxScript = { name: 'IsCalledFromTxScript', code: 0xb5 };
255
+ exports.CallerInitialStateHash = { name: 'CallerInitialStateHash', code: 0xb6 };
256
+ exports.CallerCodeHash = { name: 'CallerCodeHash', code: 0xb7 };
257
+ exports.ContractInitialStateHash = { name: 'ContractInitialStateHash', code: 0xb8 };
258
+ exports.ContractCodeHash = { name: 'ContractCodeHash', code: 0xb9 };
259
+ exports.MigrateSimple = { name: 'MigrateSimple', code: 0xba };
260
+ exports.MigrateWithFields = { name: 'MigrateWithFields', code: 0xbb };
261
+ exports.CopyCreateContractWithToken = { name: 'CopyCreateContractWithToken', code: 0xbc };
262
+ exports.BurnToken = { name: 'BurnToken', code: 0xbd };
263
+ exports.LockApprovedAssets = { name: 'LockApprovedAssets', code: 0xbe };
264
+ exports.CreateSubContract = { name: 'CreateSubContract', code: 0xbf };
265
+ exports.CreateSubContractWithToken = { name: 'CreateSubContractWithToken', code: 0xc0 };
266
+ exports.CopyCreateSubContract = { name: 'CopyCreateSubContract', code: 0xc1 };
267
+ exports.CopyCreateSubContractWithToken = { name: 'CopyCreateSubContractWithToken', code: 0xc2 };
268
+ exports.LoadMutFieldByIndex = { name: 'LoadMutFieldByIndex', code: 0xc3 };
269
+ exports.StoreMutFieldByIndex = { name: 'StoreMutFieldByIndex', code: 0xc4 };
270
+ exports.ContractExists = { name: 'ContractExists', code: 0xc5 };
271
+ exports.CreateContractAndTransferToken = { name: 'CreateContractAndTransferToken', code: 0xc6 };
272
+ exports.CopyCreateContractAndTransferToken = { name: 'CopyCreateContractAndTransferToken', code: 0xc7 };
273
+ exports.CreateSubContractAndTransferToken = { name: 'CreateSubContractAndTransferToken', code: 0xc8 };
274
+ exports.CopyCreateSubContractAndTransferToken = {
275
+ name: 'CopyCreateSubContractAndTransferToken',
276
+ code: 0xc9
277
+ };
278
+ exports.NullContractAddress = { name: 'NullContractAddress', code: 0xca };
279
+ exports.SubContractId = { name: 'SubContractId', code: 0xcb };
280
+ exports.SubContractIdOf = { name: 'SubContractIdOf', code: 0xcc };
281
+ exports.ALPHTokenId = { name: 'ALPHTokenId', code: 0xcd };
282
+ const LoadImmField = (index) => {
283
+ return { name: 'LoadImmField', code: 0xce, index };
284
+ };
233
285
  exports.LoadImmField = LoadImmField;
234
- exports.LoadImmFieldByIndex = { code: 0xcf, value: {} };
235
- exports.PayGasFee = { code: 0xd0, value: {} };
236
- exports.MinimalContractDeposit = { code: 0xd1, value: {} };
237
- const CreateMapEntry = (immFields, mutFields) => ({ code: 0xd2, value: { immFields, mutFields } });
286
+ exports.LoadImmFieldByIndex = { name: 'LoadImmFieldByIndex', code: 0xcf };
287
+ exports.PayGasFee = { name: 'PayGasFee', code: 0xd0 };
288
+ exports.MinimalContractDeposit = { name: 'MinimalContractDeposit', code: 0xd1 };
289
+ const CreateMapEntry = (immFieldsNum, mutFieldsNum) => {
290
+ return { name: 'CreateMapEntry', code: 0xd2, immFieldsNum, mutFieldsNum };
291
+ };
238
292
  exports.CreateMapEntry = CreateMapEntry;
239
293
  const MethodSelector = (selector) => {
240
- return { code: 0xd3, value: { index: selector } };
294
+ return { name: 'MethodSelector', code: 0xd3, selector };
241
295
  };
242
296
  exports.MethodSelector = MethodSelector;
243
297
  const CallExternalBySelector = (selector) => {
244
- return { code: 0xd4, value: { index: selector } };
298
+ return { name: 'CallExternalBySelector', code: 0xd4, selector };
245
299
  };
246
300
  exports.CallExternalBySelector = CallExternalBySelector;
247
- class InstrCodec {
248
- constructor() {
249
- this.parser = binary_parser_1.Parser.start()
250
- .uint8('code')
251
- .choice('value', {
252
- tag: 'code',
253
- choices: {
254
- 0x00: binary_parser_1.Parser.start().uint8('index'),
255
- 0x01: binary_parser_1.Parser.start().uint8('index'),
256
- [exports.Return.code]: binary_parser_1.Parser.start(),
257
- [exports.ConstTrue.code]: binary_parser_1.Parser.start(),
258
- [exports.ConstFalse.code]: binary_parser_1.Parser.start(),
259
- [exports.I256Const0.code]: binary_parser_1.Parser.start(),
260
- [exports.I256Const1.code]: binary_parser_1.Parser.start(),
261
- [exports.I256Const2.code]: binary_parser_1.Parser.start(),
262
- [exports.I256Const3.code]: binary_parser_1.Parser.start(),
263
- [exports.I256Const4.code]: binary_parser_1.Parser.start(),
264
- [exports.I256Const5.code]: binary_parser_1.Parser.start(),
265
- [exports.I256ConstN1.code]: binary_parser_1.Parser.start(),
266
- [exports.U256Const0.code]: binary_parser_1.Parser.start(),
267
- [exports.U256Const1.code]: binary_parser_1.Parser.start(),
268
- [exports.U256Const2.code]: binary_parser_1.Parser.start(),
269
- [exports.U256Const3.code]: binary_parser_1.Parser.start(),
270
- [exports.U256Const4.code]: binary_parser_1.Parser.start(),
271
- [exports.U256Const5.code]: binary_parser_1.Parser.start(),
272
- 0x12: binary_parser_1.Parser.start().nest('value', { type: compact_int_codec_1.compactSignedIntCodec.parser }),
273
- 0x13: binary_parser_1.Parser.start().nest('value', { type: compact_int_codec_1.compactUnsignedIntCodec.parser }),
274
- 0x14: binary_parser_1.Parser.start().nest('value', { type: bytestring_codec_1.byteStringCodec.parser }),
275
- 0x15: binary_parser_1.Parser.start().nest('value', { type: lockup_script_codec_1.lockupScriptCodec.parser }),
276
- 0x16: binary_parser_1.Parser.start().uint8('index'),
277
- 0x17: binary_parser_1.Parser.start().uint8('index'),
278
- [exports.Pop.code]: binary_parser_1.Parser.start(),
279
- [exports.BoolNot.code]: binary_parser_1.Parser.start(),
280
- [exports.BoolAnd.code]: binary_parser_1.Parser.start(),
281
- [exports.BoolOr.code]: binary_parser_1.Parser.start(),
282
- [exports.BoolEq.code]: binary_parser_1.Parser.start(),
283
- [exports.BoolNeq.code]: binary_parser_1.Parser.start(),
284
- [exports.BoolToByteVec.code]: binary_parser_1.Parser.start(),
285
- [exports.I256Add.code]: binary_parser_1.Parser.start(),
286
- [exports.I256Sub.code]: binary_parser_1.Parser.start(),
287
- [exports.I256Mul.code]: binary_parser_1.Parser.start(),
288
- [exports.I256Div.code]: binary_parser_1.Parser.start(),
289
- [exports.I256Mod.code]: binary_parser_1.Parser.start(),
290
- [exports.I256Eq.code]: binary_parser_1.Parser.start(),
291
- [exports.I256Neq.code]: binary_parser_1.Parser.start(),
292
- [exports.I256Lt.code]: binary_parser_1.Parser.start(),
293
- [exports.I256Le.code]: binary_parser_1.Parser.start(),
294
- [exports.I256Gt.code]: binary_parser_1.Parser.start(),
295
- [exports.I256Ge.code]: binary_parser_1.Parser.start(),
296
- [exports.U256Add.code]: binary_parser_1.Parser.start(),
297
- [exports.U256Sub.code]: binary_parser_1.Parser.start(),
298
- [exports.U256Mul.code]: binary_parser_1.Parser.start(),
299
- [exports.U256Div.code]: binary_parser_1.Parser.start(),
300
- [exports.U256Mod.code]: binary_parser_1.Parser.start(),
301
- [exports.U256Eq.code]: binary_parser_1.Parser.start(),
302
- [exports.U256Neq.code]: binary_parser_1.Parser.start(),
303
- [exports.U256Lt.code]: binary_parser_1.Parser.start(),
304
- [exports.U256Le.code]: binary_parser_1.Parser.start(),
305
- [exports.U256Gt.code]: binary_parser_1.Parser.start(),
306
- [exports.U256Ge.code]: binary_parser_1.Parser.start(),
307
- [exports.U256ModAdd.code]: binary_parser_1.Parser.start(),
308
- [exports.U256ModSub.code]: binary_parser_1.Parser.start(),
309
- [exports.U256ModMul.code]: binary_parser_1.Parser.start(),
310
- [exports.U256BitAnd.code]: binary_parser_1.Parser.start(),
311
- [exports.U256BitOr.code]: binary_parser_1.Parser.start(),
312
- [exports.U256Xor.code]: binary_parser_1.Parser.start(),
313
- [exports.U256SHL.code]: binary_parser_1.Parser.start(),
314
- [exports.U256SHR.code]: binary_parser_1.Parser.start(),
315
- [exports.I256ToU256.code]: binary_parser_1.Parser.start(),
316
- [exports.I256ToByteVec.code]: binary_parser_1.Parser.start(),
317
- [exports.U256ToI256.code]: binary_parser_1.Parser.start(),
318
- [exports.U256ToByteVec.code]: binary_parser_1.Parser.start(),
319
- [exports.ByteVecEq.code]: binary_parser_1.Parser.start(),
320
- [exports.ByteVecNeq.code]: binary_parser_1.Parser.start(),
321
- [exports.ByteVecSize.code]: binary_parser_1.Parser.start(),
322
- [exports.ByteVecConcat.code]: binary_parser_1.Parser.start(),
323
- [exports.AddressEq.code]: binary_parser_1.Parser.start(),
324
- [exports.AddressNeq.code]: binary_parser_1.Parser.start(),
325
- [exports.AddressToByteVec.code]: binary_parser_1.Parser.start(),
326
- [exports.IsAssetAddress.code]: binary_parser_1.Parser.start(),
327
- [exports.IsContractAddress.code]: binary_parser_1.Parser.start(),
328
- 0x4a: binary_parser_1.Parser.start().nest('value', { type: compact_int_codec_1.compactUnsignedIntCodec.parser }),
329
- 0x4b: binary_parser_1.Parser.start().nest('value', { type: compact_int_codec_1.compactUnsignedIntCodec.parser }),
330
- 0x4c: binary_parser_1.Parser.start().nest('value', { type: compact_int_codec_1.compactUnsignedIntCodec.parser }),
331
- [exports.Assert.code]: binary_parser_1.Parser.start(),
332
- [exports.Blake2b.code]: binary_parser_1.Parser.start(),
333
- [exports.Keccak256.code]: binary_parser_1.Parser.start(),
334
- [exports.Sha256.code]: binary_parser_1.Parser.start(),
335
- [exports.Sha3.code]: binary_parser_1.Parser.start(),
336
- [exports.VerifyTxSignature.code]: binary_parser_1.Parser.start(),
337
- [exports.VerifySecP256K1.code]: binary_parser_1.Parser.start(),
338
- [exports.VerifyED25519.code]: binary_parser_1.Parser.start(),
339
- [exports.NetworkId.code]: binary_parser_1.Parser.start(),
340
- [exports.BlockTimeStamp.code]: binary_parser_1.Parser.start(),
341
- [exports.BlockTarget.code]: binary_parser_1.Parser.start(),
342
- [exports.TxId.code]: binary_parser_1.Parser.start(),
343
- [exports.TxInputAddressAt.code]: binary_parser_1.Parser.start(),
344
- [exports.TxInputsSize.code]: binary_parser_1.Parser.start(),
345
- [exports.VerifyAbsoluteLocktime.code]: binary_parser_1.Parser.start(),
346
- [exports.VerifyRelativeLocktime.code]: binary_parser_1.Parser.start(),
347
- [exports.Log1.code]: binary_parser_1.Parser.start(),
348
- [exports.Log2.code]: binary_parser_1.Parser.start(),
349
- [exports.Log3.code]: binary_parser_1.Parser.start(),
350
- [exports.Log4.code]: binary_parser_1.Parser.start(),
351
- [exports.Log5.code]: binary_parser_1.Parser.start(),
352
- [exports.ByteVecSlice.code]: binary_parser_1.Parser.start(),
353
- [exports.ByteVecToAddress.code]: binary_parser_1.Parser.start(),
354
- [exports.Encode.code]: binary_parser_1.Parser.start(),
355
- [exports.Zeros.code]: binary_parser_1.Parser.start(),
356
- [exports.U256To1Byte.code]: binary_parser_1.Parser.start(),
357
- [exports.U256To2Byte.code]: binary_parser_1.Parser.start(),
358
- [exports.U256To4Byte.code]: binary_parser_1.Parser.start(),
359
- [exports.U256To8Byte.code]: binary_parser_1.Parser.start(),
360
- [exports.U256To16Byte.code]: binary_parser_1.Parser.start(),
361
- [exports.U256To32Byte.code]: binary_parser_1.Parser.start(),
362
- [exports.U256From1Byte.code]: binary_parser_1.Parser.start(),
363
- [exports.U256From2Byte.code]: binary_parser_1.Parser.start(),
364
- [exports.U256From4Byte.code]: binary_parser_1.Parser.start(),
365
- [exports.U256From8Byte.code]: binary_parser_1.Parser.start(),
366
- [exports.U256From16Byte.code]: binary_parser_1.Parser.start(),
367
- [exports.U256From32Byte.code]: binary_parser_1.Parser.start(),
368
- [exports.EthEcRecover.code]: binary_parser_1.Parser.start(),
369
- [exports.Log6.code]: binary_parser_1.Parser.start(),
370
- [exports.Log7.code]: binary_parser_1.Parser.start(),
371
- [exports.Log8.code]: binary_parser_1.Parser.start(),
372
- [exports.Log9.code]: binary_parser_1.Parser.start(),
373
- [exports.ContractIdToAddress.code]: binary_parser_1.Parser.start(),
374
- [exports.LoadLocalByIndex.code]: binary_parser_1.Parser.start(),
375
- [exports.StoreLocalByIndex.code]: binary_parser_1.Parser.start(),
376
- [exports.Dup.code]: binary_parser_1.Parser.start(),
377
- [exports.AssertWithErrorCode.code]: binary_parser_1.Parser.start(),
378
- [exports.Swap.code]: binary_parser_1.Parser.start(),
379
- [exports.BlockHash.code]: binary_parser_1.Parser.start(),
380
- 0x7e: binary_parser_1.Parser.start().nest('stringParts', { type: byteStringArrayCodec.parser }),
381
- [exports.TxGasPrice.code]: binary_parser_1.Parser.start(),
382
- [exports.TxGasAmount.code]: binary_parser_1.Parser.start(),
383
- [exports.TxGasFee.code]: binary_parser_1.Parser.start(),
384
- [exports.I256Exp.code]: binary_parser_1.Parser.start(),
385
- [exports.U256Exp.code]: binary_parser_1.Parser.start(),
386
- [exports.U256ModExp.code]: binary_parser_1.Parser.start(),
387
- [exports.VerifyBIP340Schnorr.code]: binary_parser_1.Parser.start(),
388
- [exports.GetSegragatedSignature.code]: binary_parser_1.Parser.start(),
389
- [exports.MulModN.code]: binary_parser_1.Parser.start(),
390
- [exports.AddModN.code]: binary_parser_1.Parser.start(),
391
- [exports.U256ToString.code]: binary_parser_1.Parser.start(),
392
- [exports.I256ToString.code]: binary_parser_1.Parser.start(),
393
- [exports.BoolToString.code]: binary_parser_1.Parser.start(),
394
- [exports.GroupOfAddress.code]: binary_parser_1.Parser.start(),
395
- 0xa0: binary_parser_1.Parser.start().uint8('index'),
396
- 0xa1: binary_parser_1.Parser.start().uint8('index'),
397
- [exports.ApproveAlph.code]: binary_parser_1.Parser.start(),
398
- [exports.ApproveToken.code]: binary_parser_1.Parser.start(),
399
- [exports.AlphRemaining.code]: binary_parser_1.Parser.start(),
400
- [exports.TokenRemaining.code]: binary_parser_1.Parser.start(),
401
- [exports.IsPaying.code]: binary_parser_1.Parser.start(),
402
- [exports.TransferAlph.code]: binary_parser_1.Parser.start(),
403
- [exports.TransferAlphFromSelf.code]: binary_parser_1.Parser.start(),
404
- [exports.TransferAlphToSelf.code]: binary_parser_1.Parser.start(),
405
- [exports.TransferToken.code]: binary_parser_1.Parser.start(),
406
- [exports.TransferTokenFromSelf.code]: binary_parser_1.Parser.start(),
407
- [exports.TransferTokenToSelf.code]: binary_parser_1.Parser.start(),
408
- [exports.CreateContract.code]: binary_parser_1.Parser.start(),
409
- [exports.CreateContractWithToken.code]: binary_parser_1.Parser.start(),
410
- [exports.CopyCreateContract.code]: binary_parser_1.Parser.start(),
411
- [exports.DestroySelf.code]: binary_parser_1.Parser.start(),
412
- [exports.SelfContractId.code]: binary_parser_1.Parser.start(),
413
- [exports.SelfAddress.code]: binary_parser_1.Parser.start(),
414
- [exports.CallerContractId.code]: binary_parser_1.Parser.start(),
415
- [exports.CallerAddress.code]: binary_parser_1.Parser.start(),
416
- [exports.IsCallerFromTxScript.code]: binary_parser_1.Parser.start(),
417
- [exports.CallerInitialStateHash.code]: binary_parser_1.Parser.start(),
418
- [exports.CallerCodeHash.code]: binary_parser_1.Parser.start(),
419
- [exports.ContractInitialStateHash.code]: binary_parser_1.Parser.start(),
420
- [exports.ContractInitialCodeHash.code]: binary_parser_1.Parser.start(),
421
- [exports.MigrateSimple.code]: binary_parser_1.Parser.start(),
422
- [exports.MigrateWithFields.code]: binary_parser_1.Parser.start(),
423
- [exports.CopyCreateContractWithToken.code]: binary_parser_1.Parser.start(),
424
- [exports.BurnToken.code]: binary_parser_1.Parser.start(),
425
- [exports.LockApprovedAssets.code]: binary_parser_1.Parser.start(),
426
- [exports.CreateSubContract.code]: binary_parser_1.Parser.start(),
427
- [exports.CreateSubContractWithToken.code]: binary_parser_1.Parser.start(),
428
- [exports.CopyCreateSubContract.code]: binary_parser_1.Parser.start(),
429
- [exports.CopyCreateSubContractWithToken.code]: binary_parser_1.Parser.start(),
430
- [exports.LoadMutFieldByIndex.code]: binary_parser_1.Parser.start(),
431
- [exports.StoreMutFieldByIndex.code]: binary_parser_1.Parser.start(),
432
- [exports.ContractExists.code]: binary_parser_1.Parser.start(),
433
- [exports.CreateContractAndTransferToken.code]: binary_parser_1.Parser.start(),
434
- [exports.CopyCreateContractAndTransferToken.code]: binary_parser_1.Parser.start(),
435
- [exports.CreateSubContractAndTransferToken.code]: binary_parser_1.Parser.start(),
436
- [exports.CopyCreateSubContractAndTransferToken.code]: binary_parser_1.Parser.start(),
437
- [exports.NullContractAddress.code]: binary_parser_1.Parser.start(),
438
- [exports.SubContractId.code]: binary_parser_1.Parser.start(),
439
- [exports.SubContractIdOf.code]: binary_parser_1.Parser.start(),
440
- [exports.AlphTokenId.code]: binary_parser_1.Parser.start(),
441
- 0xce: binary_parser_1.Parser.start().uint8('index'),
442
- [exports.LoadImmFieldByIndex.code]: binary_parser_1.Parser.start(),
443
- [exports.PayGasFee.code]: binary_parser_1.Parser.start(),
444
- [exports.MinimalContractDeposit.code]: binary_parser_1.Parser.start(),
445
- 0xd2: binary_parser_1.Parser.start().uint8('immFields').uint8('mutFields'),
446
- 0xd3: binary_parser_1.Parser.start().int32('index'),
447
- 0xd4: binary_parser_1.Parser.start().int32('index')
448
- }
449
- });
450
- }
301
+ class InstrCodec extends codec_1.Codec {
451
302
  encode(instr) {
452
- const instrValue = instr.value;
453
- const result = [instr.code];
454
- const instrsWithIndex = [0x00, 0x01, 0x16, 0x17, 0xa0, 0xa1, 0xce];
455
- const instrsWithCompactInt = [0x12, 0x13, 0x4a, 0x4b, 0x4c];
456
- if (instr.code === 0x14) {
457
- result.push(...bytestring_codec_1.byteStringCodec.encode(instrValue.value));
458
- }
459
- else if (instr.code === 0x15) {
460
- result.push(...lockup_script_codec_1.lockupScriptCodec.encode(instrValue.value));
303
+ switch (instr.name) {
304
+ case 'CallLocal':
305
+ return new Uint8Array([0x00, ...codec_1.byteCodec.encode(instr.index)]);
306
+ case 'CallExternal':
307
+ return new Uint8Array([0x01, ...codec_1.byteCodec.encode(instr.index)]);
308
+ case 'Return':
309
+ return new Uint8Array([0x02]);
310
+ case 'ConstTrue':
311
+ return new Uint8Array([0x03]);
312
+ case 'ConstFalse':
313
+ return new Uint8Array([0x04]);
314
+ case 'I256Const0':
315
+ return new Uint8Array([0x05]);
316
+ case 'I256Const1':
317
+ return new Uint8Array([0x06]);
318
+ case 'I256Const2':
319
+ return new Uint8Array([0x07]);
320
+ case 'I256Const3':
321
+ return new Uint8Array([0x08]);
322
+ case 'I256Const4':
323
+ return new Uint8Array([0x09]);
324
+ case 'I256Const5':
325
+ return new Uint8Array([0x0a]);
326
+ case 'I256ConstN1':
327
+ return new Uint8Array([0x0b]);
328
+ case 'U256Const0':
329
+ return new Uint8Array([0x0c]);
330
+ case 'U256Const1':
331
+ return new Uint8Array([0x0d]);
332
+ case 'U256Const2':
333
+ return new Uint8Array([0x0e]);
334
+ case 'U256Const3':
335
+ return new Uint8Array([0x0f]);
336
+ case 'U256Const4':
337
+ return new Uint8Array([0x10]);
338
+ case 'U256Const5':
339
+ return new Uint8Array([0x11]);
340
+ case 'I256Const':
341
+ return new Uint8Array([0x12, ...compact_int_codec_1.i256Codec.encode(instr.value)]);
342
+ case 'U256Const':
343
+ return new Uint8Array([0x13, ...compact_int_codec_1.u256Codec.encode(instr.value)]);
344
+ case 'BytesConst':
345
+ return new Uint8Array([0x14, ...bytestring_codec_1.byteStringCodec.encode(instr.value)]);
346
+ case 'AddressConst':
347
+ return new Uint8Array([0x15, ...lockup_script_codec_1.lockupScriptCodec.encode(instr.value)]);
348
+ case 'LoadLocal':
349
+ return new Uint8Array([0x16, ...codec_1.byteCodec.encode(instr.index)]);
350
+ case 'StoreLocal':
351
+ return new Uint8Array([0x17, ...codec_1.byteCodec.encode(instr.index)]);
352
+ case 'Pop':
353
+ return new Uint8Array([0x18]);
354
+ case 'BoolNot':
355
+ return new Uint8Array([0x19]);
356
+ case 'BoolAnd':
357
+ return new Uint8Array([0x1a]);
358
+ case 'BoolOr':
359
+ return new Uint8Array([0x1b]);
360
+ case 'BoolEq':
361
+ return new Uint8Array([0x1c]);
362
+ case 'BoolNeq':
363
+ return new Uint8Array([0x1d]);
364
+ case 'BoolToByteVec':
365
+ return new Uint8Array([0x1e]);
366
+ case 'I256Add':
367
+ return new Uint8Array([0x1f]);
368
+ case 'I256Sub':
369
+ return new Uint8Array([0x20]);
370
+ case 'I256Mul':
371
+ return new Uint8Array([0x21]);
372
+ case 'I256Div':
373
+ return new Uint8Array([0x22]);
374
+ case 'I256Mod':
375
+ return new Uint8Array([0x23]);
376
+ case 'I256Eq':
377
+ return new Uint8Array([0x24]);
378
+ case 'I256Neq':
379
+ return new Uint8Array([0x25]);
380
+ case 'I256Lt':
381
+ return new Uint8Array([0x26]);
382
+ case 'I256Le':
383
+ return new Uint8Array([0x27]);
384
+ case 'I256Gt':
385
+ return new Uint8Array([0x28]);
386
+ case 'I256Ge':
387
+ return new Uint8Array([0x29]);
388
+ case 'U256Add':
389
+ return new Uint8Array([0x2a]);
390
+ case 'U256Sub':
391
+ return new Uint8Array([0x2b]);
392
+ case 'U256Mul':
393
+ return new Uint8Array([0x2c]);
394
+ case 'U256Div':
395
+ return new Uint8Array([0x2d]);
396
+ case 'U256Mod':
397
+ return new Uint8Array([0x2e]);
398
+ case 'U256Eq':
399
+ return new Uint8Array([0x2f]);
400
+ case 'U256Neq':
401
+ return new Uint8Array([0x30]);
402
+ case 'U256Lt':
403
+ return new Uint8Array([0x31]);
404
+ case 'U256Le':
405
+ return new Uint8Array([0x32]);
406
+ case 'U256Gt':
407
+ return new Uint8Array([0x33]);
408
+ case 'U256Ge':
409
+ return new Uint8Array([0x34]);
410
+ case 'U256ModAdd':
411
+ return new Uint8Array([0x35]);
412
+ case 'U256ModSub':
413
+ return new Uint8Array([0x36]);
414
+ case 'U256ModMul':
415
+ return new Uint8Array([0x37]);
416
+ case 'U256BitAnd':
417
+ return new Uint8Array([0x38]);
418
+ case 'U256BitOr':
419
+ return new Uint8Array([0x39]);
420
+ case 'U256Xor':
421
+ return new Uint8Array([0x3a]);
422
+ case 'U256SHL':
423
+ return new Uint8Array([0x3b]);
424
+ case 'U256SHR':
425
+ return new Uint8Array([0x3c]);
426
+ case 'I256ToU256':
427
+ return new Uint8Array([0x3d]);
428
+ case 'I256ToByteVec':
429
+ return new Uint8Array([0x3e]);
430
+ case 'U256ToI256':
431
+ return new Uint8Array([0x3f]);
432
+ case 'U256ToByteVec':
433
+ return new Uint8Array([0x40]);
434
+ case 'ByteVecEq':
435
+ return new Uint8Array([0x41]);
436
+ case 'ByteVecNeq':
437
+ return new Uint8Array([0x42]);
438
+ case 'ByteVecSize':
439
+ return new Uint8Array([0x43]);
440
+ case 'ByteVecConcat':
441
+ return new Uint8Array([0x44]);
442
+ case 'AddressEq':
443
+ return new Uint8Array([0x45]);
444
+ case 'AddressNeq':
445
+ return new Uint8Array([0x46]);
446
+ case 'AddressToByteVec':
447
+ return new Uint8Array([0x47]);
448
+ case 'IsAssetAddress':
449
+ return new Uint8Array([0x48]);
450
+ case 'IsContractAddress':
451
+ return new Uint8Array([0x49]);
452
+ case 'Jump':
453
+ return new Uint8Array([0x4a, ...compact_int_codec_1.i32Codec.encode(instr.offset)]);
454
+ case 'IfTrue':
455
+ return new Uint8Array([0x4b, ...compact_int_codec_1.i32Codec.encode(instr.offset)]);
456
+ case 'IfFalse':
457
+ return new Uint8Array([0x4c, ...compact_int_codec_1.i32Codec.encode(instr.offset)]);
458
+ case 'Assert':
459
+ return new Uint8Array([0x4d]);
460
+ case 'Blake2b':
461
+ return new Uint8Array([0x4e]);
462
+ case 'Keccak256':
463
+ return new Uint8Array([0x4f]);
464
+ case 'Sha256':
465
+ return new Uint8Array([0x50]);
466
+ case 'Sha3':
467
+ return new Uint8Array([0x51]);
468
+ case 'VerifyTxSignature':
469
+ return new Uint8Array([0x52]);
470
+ case 'VerifySecP256K1':
471
+ return new Uint8Array([0x53]);
472
+ case 'VerifyED25519':
473
+ return new Uint8Array([0x54]);
474
+ case 'NetworkId':
475
+ return new Uint8Array([0x55]);
476
+ case 'BlockTimeStamp':
477
+ return new Uint8Array([0x56]);
478
+ case 'BlockTarget':
479
+ return new Uint8Array([0x57]);
480
+ case 'TxId':
481
+ return new Uint8Array([0x58]);
482
+ case 'TxInputAddressAt':
483
+ return new Uint8Array([0x59]);
484
+ case 'TxInputsSize':
485
+ return new Uint8Array([0x5a]);
486
+ case 'VerifyAbsoluteLocktime':
487
+ return new Uint8Array([0x5b]);
488
+ case 'VerifyRelativeLocktime':
489
+ return new Uint8Array([0x5c]);
490
+ case 'Log1':
491
+ return new Uint8Array([0x5d]);
492
+ case 'Log2':
493
+ return new Uint8Array([0x5e]);
494
+ case 'Log3':
495
+ return new Uint8Array([0x5f]);
496
+ case 'Log4':
497
+ return new Uint8Array([0x60]);
498
+ case 'Log5':
499
+ return new Uint8Array([0x61]);
500
+ case 'ByteVecSlice':
501
+ return new Uint8Array([0x62]);
502
+ case 'ByteVecToAddress':
503
+ return new Uint8Array([0x63]);
504
+ case 'Encode':
505
+ return new Uint8Array([0x64]);
506
+ case 'Zeros':
507
+ return new Uint8Array([0x65]);
508
+ case 'U256To1Byte':
509
+ return new Uint8Array([0x66]);
510
+ case 'U256To2Byte':
511
+ return new Uint8Array([0x67]);
512
+ case 'U256To4Byte':
513
+ return new Uint8Array([0x68]);
514
+ case 'U256To8Byte':
515
+ return new Uint8Array([0x69]);
516
+ case 'U256To16Byte':
517
+ return new Uint8Array([0x6a]);
518
+ case 'U256To32Byte':
519
+ return new Uint8Array([0x6b]);
520
+ case 'U256From1Byte':
521
+ return new Uint8Array([0x6c]);
522
+ case 'U256From2Byte':
523
+ return new Uint8Array([0x6d]);
524
+ case 'U256From4Byte':
525
+ return new Uint8Array([0x6e]);
526
+ case 'U256From8Byte':
527
+ return new Uint8Array([0x6f]);
528
+ case 'U256From16Byte':
529
+ return new Uint8Array([0x70]);
530
+ case 'U256From32Byte':
531
+ return new Uint8Array([0x71]);
532
+ case 'EthEcRecover':
533
+ return new Uint8Array([0x72]);
534
+ case 'Log6':
535
+ return new Uint8Array([0x73]);
536
+ case 'Log7':
537
+ return new Uint8Array([0x74]);
538
+ case 'Log8':
539
+ return new Uint8Array([0x75]);
540
+ case 'Log9':
541
+ return new Uint8Array([0x76]);
542
+ case 'ContractIdToAddress':
543
+ return new Uint8Array([0x77]);
544
+ case 'LoadLocalByIndex':
545
+ return new Uint8Array([0x78]);
546
+ case 'StoreLocalByIndex':
547
+ return new Uint8Array([0x79]);
548
+ case 'Dup':
549
+ return new Uint8Array([0x7a]);
550
+ case 'AssertWithErrorCode':
551
+ return new Uint8Array([0x7b]);
552
+ case 'Swap':
553
+ return new Uint8Array([0x7c]);
554
+ case 'BlockHash':
555
+ return new Uint8Array([0x7d]);
556
+ case 'DEBUG':
557
+ return new Uint8Array([0x7e, ...bytestring_codec_1.byteStringsCodec.encode(instr.stringParts)]);
558
+ case 'TxGasPrice':
559
+ return new Uint8Array([0x7f]);
560
+ case 'TxGasAmount':
561
+ return new Uint8Array([0x80]);
562
+ case 'TxGasFee':
563
+ return new Uint8Array([0x81]);
564
+ case 'I256Exp':
565
+ return new Uint8Array([0x82]);
566
+ case 'U256Exp':
567
+ return new Uint8Array([0x83]);
568
+ case 'U256ModExp':
569
+ return new Uint8Array([0x84]);
570
+ case 'VerifyBIP340Schnorr':
571
+ return new Uint8Array([0x85]);
572
+ case 'GetSegregatedSignature':
573
+ return new Uint8Array([0x86]);
574
+ case 'MulModN':
575
+ return new Uint8Array([0x87]);
576
+ case 'AddModN':
577
+ return new Uint8Array([0x88]);
578
+ case 'U256ToString':
579
+ return new Uint8Array([0x89]);
580
+ case 'I256ToString':
581
+ return new Uint8Array([0x8a]);
582
+ case 'BoolToString':
583
+ return new Uint8Array([0x8b]);
584
+ case 'GroupOfAddress':
585
+ return new Uint8Array([0x8c]);
586
+ case 'LoadMutField':
587
+ return new Uint8Array([0xa0, ...codec_1.byteCodec.encode(instr.index)]);
588
+ case 'StoreMutField':
589
+ return new Uint8Array([0xa1, ...codec_1.byteCodec.encode(instr.index)]);
590
+ case 'ApproveAlph':
591
+ return new Uint8Array([0xa2]);
592
+ case 'ApproveToken':
593
+ return new Uint8Array([0xa3]);
594
+ case 'AlphRemaining':
595
+ return new Uint8Array([0xa4]);
596
+ case 'TokenRemaining':
597
+ return new Uint8Array([0xa5]);
598
+ case 'IsPaying':
599
+ return new Uint8Array([0xa6]);
600
+ case 'TransferAlph':
601
+ return new Uint8Array([0xa7]);
602
+ case 'TransferAlphFromSelf':
603
+ return new Uint8Array([0xa8]);
604
+ case 'TransferAlphToSelf':
605
+ return new Uint8Array([0xa9]);
606
+ case 'TransferToken':
607
+ return new Uint8Array([0xaa]);
608
+ case 'TransferTokenFromSelf':
609
+ return new Uint8Array([0xab]);
610
+ case 'TransferTokenToSelf':
611
+ return new Uint8Array([0xac]);
612
+ case 'CreateContract':
613
+ return new Uint8Array([0xad]);
614
+ case 'CreateContractWithToken':
615
+ return new Uint8Array([0xae]);
616
+ case 'CopyCreateContract':
617
+ return new Uint8Array([0xaf]);
618
+ case 'DestroySelf':
619
+ return new Uint8Array([0xb0]);
620
+ case 'SelfContractId':
621
+ return new Uint8Array([0xb1]);
622
+ case 'SelfAddress':
623
+ return new Uint8Array([0xb2]);
624
+ case 'CallerContractId':
625
+ return new Uint8Array([0xb3]);
626
+ case 'CallerAddress':
627
+ return new Uint8Array([0xb4]);
628
+ case 'IsCalledFromTxScript':
629
+ return new Uint8Array([0xb5]);
630
+ case 'CallerInitialStateHash':
631
+ return new Uint8Array([0xb6]);
632
+ case 'CallerCodeHash':
633
+ return new Uint8Array([0xb7]);
634
+ case 'ContractInitialStateHash':
635
+ return new Uint8Array([0xb8]);
636
+ case 'ContractCodeHash':
637
+ return new Uint8Array([0xb9]);
638
+ case 'MigrateSimple':
639
+ return new Uint8Array([0xba]);
640
+ case 'MigrateWithFields':
641
+ return new Uint8Array([0xbb]);
642
+ case 'CopyCreateContractWithToken':
643
+ return new Uint8Array([0xbc]);
644
+ case 'BurnToken':
645
+ return new Uint8Array([0xbd]);
646
+ case 'LockApprovedAssets':
647
+ return new Uint8Array([0xbe]);
648
+ case 'CreateSubContract':
649
+ return new Uint8Array([0xbf]);
650
+ case 'CreateSubContractWithToken':
651
+ return new Uint8Array([0xc0]);
652
+ case 'CopyCreateSubContract':
653
+ return new Uint8Array([0xc1]);
654
+ case 'CopyCreateSubContractWithToken':
655
+ return new Uint8Array([0xc2]);
656
+ case 'LoadMutFieldByIndex':
657
+ return new Uint8Array([0xc3]);
658
+ case 'StoreMutFieldByIndex':
659
+ return new Uint8Array([0xc4]);
660
+ case 'ContractExists':
661
+ return new Uint8Array([0xc5]);
662
+ case 'CreateContractAndTransferToken':
663
+ return new Uint8Array([0xc6]);
664
+ case 'CopyCreateContractAndTransferToken':
665
+ return new Uint8Array([0xc7]);
666
+ case 'CreateSubContractAndTransferToken':
667
+ return new Uint8Array([0xc8]);
668
+ case 'CopyCreateSubContractAndTransferToken':
669
+ return new Uint8Array([0xc9]);
670
+ case 'NullContractAddress':
671
+ return new Uint8Array([0xca]);
672
+ case 'SubContractId':
673
+ return new Uint8Array([0xcb]);
674
+ case 'SubContractIdOf':
675
+ return new Uint8Array([0xcc]);
676
+ case 'ALPHTokenId':
677
+ return new Uint8Array([0xcd]);
678
+ case 'LoadImmField':
679
+ return new Uint8Array([0xce, ...codec_1.byteCodec.encode(instr.index)]);
680
+ case 'LoadImmFieldByIndex':
681
+ return new Uint8Array([0xcf]);
682
+ case 'PayGasFee':
683
+ return new Uint8Array([0xd0]);
684
+ case 'MinimalContractDeposit':
685
+ return new Uint8Array([0xd1]);
686
+ case 'CreateMapEntry':
687
+ return new Uint8Array([0xd2, ...codec_1.byteCodec.encode(instr.immFieldsNum), ...codec_1.byteCodec.encode(instr.mutFieldsNum)]);
688
+ case 'MethodSelector':
689
+ return new Uint8Array([0xd3, ...int_as_4bytes_codec_1.intAs4BytesCodec.encode(instr.selector)]);
690
+ case 'CallExternalBySelector':
691
+ return new Uint8Array([0xd4, ...int_as_4bytes_codec_1.intAs4BytesCodec.encode(instr.selector)]);
461
692
  }
462
- else if (instr.code === 0x7e) {
463
- result.push(...byteStringArrayCodec.encode(instrValue.stringParts.value));
464
- }
465
- else if (instrsWithCompactInt.includes(instr.code)) {
466
- result.push(...compact_int_codec_1.compactUnsignedIntCodec.encode(instrValue.value));
467
- }
468
- else if (instrsWithIndex.includes(instr.code)) {
469
- result.push(instrValue.index);
470
- }
471
- else if (instr.code === 0xd2) {
472
- const value = instrValue;
473
- result.push(value.immFields, value.mutFields);
474
- }
475
- else if (instr.code === 0xd3 || instr.code === 0xd4) {
476
- result.push(...signed_int_codec_1.signedIntCodec.encode(instrValue.index));
477
- }
478
- return new Uint8Array(result);
479
693
  }
480
- decode(input) {
481
- return this.parser.parse(input);
694
+ _decode(input) {
695
+ const code = input.consumeByte();
696
+ switch (code) {
697
+ case 0x00:
698
+ return (0, exports.CallLocal)(codec_1.byteCodec._decode(input));
699
+ case 0x01:
700
+ return (0, exports.CallExternal)(codec_1.byteCodec._decode(input));
701
+ case 0x02:
702
+ return exports.Return;
703
+ case 0x03:
704
+ return exports.ConstTrue;
705
+ case 0x04:
706
+ return exports.ConstFalse;
707
+ case 0x05:
708
+ return exports.I256Const0;
709
+ case 0x06:
710
+ return exports.I256Const1;
711
+ case 0x07:
712
+ return exports.I256Const2;
713
+ case 0x08:
714
+ return exports.I256Const3;
715
+ case 0x09:
716
+ return exports.I256Const4;
717
+ case 0x0a:
718
+ return exports.I256Const5;
719
+ case 0x0b:
720
+ return exports.I256ConstN1;
721
+ case 0x0c:
722
+ return exports.U256Const0;
723
+ case 0x0d:
724
+ return exports.U256Const1;
725
+ case 0x0e:
726
+ return exports.U256Const2;
727
+ case 0x0f:
728
+ return exports.U256Const3;
729
+ case 0x10:
730
+ return exports.U256Const4;
731
+ case 0x11:
732
+ return exports.U256Const5;
733
+ case 0x12:
734
+ return (0, exports.I256Const)(compact_int_codec_1.i256Codec._decode(input));
735
+ case 0x13:
736
+ return (0, exports.U256Const)(compact_int_codec_1.u256Codec._decode(input));
737
+ case 0x14:
738
+ return (0, exports.BytesConst)(bytestring_codec_1.byteStringCodec._decode(input));
739
+ case 0x15:
740
+ return (0, exports.AddressConst)(lockup_script_codec_1.lockupScriptCodec._decode(input));
741
+ case 0x16:
742
+ return (0, exports.LoadLocal)(codec_1.byteCodec._decode(input));
743
+ case 0x17:
744
+ return (0, exports.StoreLocal)(codec_1.byteCodec._decode(input));
745
+ case 0x18:
746
+ return exports.Pop;
747
+ case 0x19:
748
+ return exports.BoolNot;
749
+ case 0x1a:
750
+ return exports.BoolAnd;
751
+ case 0x1b:
752
+ return exports.BoolOr;
753
+ case 0x1c:
754
+ return exports.BoolEq;
755
+ case 0x1d:
756
+ return exports.BoolNeq;
757
+ case 0x1e:
758
+ return exports.BoolToByteVec;
759
+ case 0x1f:
760
+ return exports.I256Add;
761
+ case 0x20:
762
+ return exports.I256Sub;
763
+ case 0x21:
764
+ return exports.I256Mul;
765
+ case 0x22:
766
+ return exports.I256Div;
767
+ case 0x23:
768
+ return exports.I256Mod;
769
+ case 0x24:
770
+ return exports.I256Eq;
771
+ case 0x25:
772
+ return exports.I256Neq;
773
+ case 0x26:
774
+ return exports.I256Lt;
775
+ case 0x27:
776
+ return exports.I256Le;
777
+ case 0x28:
778
+ return exports.I256Gt;
779
+ case 0x29:
780
+ return exports.I256Ge;
781
+ case 0x2a:
782
+ return exports.U256Add;
783
+ case 0x2b:
784
+ return exports.U256Sub;
785
+ case 0x2c:
786
+ return exports.U256Mul;
787
+ case 0x2d:
788
+ return exports.U256Div;
789
+ case 0x2e:
790
+ return exports.U256Mod;
791
+ case 0x2f:
792
+ return exports.U256Eq;
793
+ case 0x30:
794
+ return exports.U256Neq;
795
+ case 0x31:
796
+ return exports.U256Lt;
797
+ case 0x32:
798
+ return exports.U256Le;
799
+ case 0x33:
800
+ return exports.U256Gt;
801
+ case 0x34:
802
+ return exports.U256Ge;
803
+ case 0x35:
804
+ return exports.U256ModAdd;
805
+ case 0x36:
806
+ return exports.U256ModSub;
807
+ case 0x37:
808
+ return exports.U256ModMul;
809
+ case 0x38:
810
+ return exports.U256BitAnd;
811
+ case 0x39:
812
+ return exports.U256BitOr;
813
+ case 0x3a:
814
+ return exports.U256Xor;
815
+ case 0x3b:
816
+ return exports.U256SHL;
817
+ case 0x3c:
818
+ return exports.U256SHR;
819
+ case 0x3d:
820
+ return exports.I256ToU256;
821
+ case 0x3e:
822
+ return exports.I256ToByteVec;
823
+ case 0x3f:
824
+ return exports.U256ToI256;
825
+ case 0x40:
826
+ return exports.U256ToByteVec;
827
+ case 0x41:
828
+ return exports.ByteVecEq;
829
+ case 0x42:
830
+ return exports.ByteVecNeq;
831
+ case 0x43:
832
+ return exports.ByteVecSize;
833
+ case 0x44:
834
+ return exports.ByteVecConcat;
835
+ case 0x45:
836
+ return exports.AddressEq;
837
+ case 0x46:
838
+ return exports.AddressNeq;
839
+ case 0x47:
840
+ return exports.AddressToByteVec;
841
+ case 0x48:
842
+ return exports.IsAssetAddress;
843
+ case 0x49:
844
+ return exports.IsContractAddress;
845
+ case 0x4a:
846
+ return (0, exports.Jump)(compact_int_codec_1.i32Codec._decode(input));
847
+ case 0x4b:
848
+ return (0, exports.IfTrue)(compact_int_codec_1.i32Codec._decode(input));
849
+ case 0x4c:
850
+ return (0, exports.IfFalse)(compact_int_codec_1.i32Codec._decode(input));
851
+ case 0x4d:
852
+ return exports.Assert;
853
+ case 0x4e:
854
+ return exports.Blake2b;
855
+ case 0x4f:
856
+ return exports.Keccak256;
857
+ case 0x50:
858
+ return exports.Sha256;
859
+ case 0x51:
860
+ return exports.Sha3;
861
+ case 0x52:
862
+ return exports.VerifyTxSignature;
863
+ case 0x53:
864
+ return exports.VerifySecP256K1;
865
+ case 0x54:
866
+ return exports.VerifyED25519;
867
+ case 0x55:
868
+ return exports.NetworkId;
869
+ case 0x56:
870
+ return exports.BlockTimeStamp;
871
+ case 0x57:
872
+ return exports.BlockTarget;
873
+ case 0x58:
874
+ return exports.TxId;
875
+ case 0x59:
876
+ return exports.TxInputAddressAt;
877
+ case 0x5a:
878
+ return exports.TxInputsSize;
879
+ case 0x5b:
880
+ return exports.VerifyAbsoluteLocktime;
881
+ case 0x5c:
882
+ return exports.VerifyRelativeLocktime;
883
+ case 0x5d:
884
+ return exports.Log1;
885
+ case 0x5e:
886
+ return exports.Log2;
887
+ case 0x5f:
888
+ return exports.Log3;
889
+ case 0x60:
890
+ return exports.Log4;
891
+ case 0x61:
892
+ return exports.Log5;
893
+ case 0x62:
894
+ return exports.ByteVecSlice;
895
+ case 0x63:
896
+ return exports.ByteVecToAddress;
897
+ case 0x64:
898
+ return exports.Encode;
899
+ case 0x65:
900
+ return exports.Zeros;
901
+ case 0x66:
902
+ return exports.U256To1Byte;
903
+ case 0x67:
904
+ return exports.U256To2Byte;
905
+ case 0x68:
906
+ return exports.U256To4Byte;
907
+ case 0x69:
908
+ return exports.U256To8Byte;
909
+ case 0x6a:
910
+ return exports.U256To16Byte;
911
+ case 0x6b:
912
+ return exports.U256To32Byte;
913
+ case 0x6c:
914
+ return exports.U256From1Byte;
915
+ case 0x6d:
916
+ return exports.U256From2Byte;
917
+ case 0x6e:
918
+ return exports.U256From4Byte;
919
+ case 0x6f:
920
+ return exports.U256From8Byte;
921
+ case 0x70:
922
+ return exports.U256From16Byte;
923
+ case 0x71:
924
+ return exports.U256From32Byte;
925
+ case 0x72:
926
+ return exports.EthEcRecover;
927
+ case 0x73:
928
+ return exports.Log6;
929
+ case 0x74:
930
+ return exports.Log7;
931
+ case 0x75:
932
+ return exports.Log8;
933
+ case 0x76:
934
+ return exports.Log9;
935
+ case 0x77:
936
+ return exports.ContractIdToAddress;
937
+ case 0x78:
938
+ return exports.LoadLocalByIndex;
939
+ case 0x79:
940
+ return exports.StoreLocalByIndex;
941
+ case 0x7a:
942
+ return exports.Dup;
943
+ case 0x7b:
944
+ return exports.AssertWithErrorCode;
945
+ case 0x7c:
946
+ return exports.Swap;
947
+ case 0x7d:
948
+ return exports.BlockHash;
949
+ case 0x7e:
950
+ return (0, exports.DEBUG)(bytestring_codec_1.byteStringsCodec._decode(input));
951
+ case 0x7f:
952
+ return exports.TxGasPrice;
953
+ case 0x80:
954
+ return exports.TxGasAmount;
955
+ case 0x81:
956
+ return exports.TxGasFee;
957
+ case 0x82:
958
+ return exports.I256Exp;
959
+ case 0x83:
960
+ return exports.U256Exp;
961
+ case 0x84:
962
+ return exports.U256ModExp;
963
+ case 0x85:
964
+ return exports.VerifyBIP340Schnorr;
965
+ case 0x86:
966
+ return exports.GetSegregatedSignature;
967
+ case 0x87:
968
+ return exports.MulModN;
969
+ case 0x88:
970
+ return exports.AddModN;
971
+ case 0x89:
972
+ return exports.U256ToString;
973
+ case 0x8a:
974
+ return exports.I256ToString;
975
+ case 0x8b:
976
+ return exports.BoolToString;
977
+ case 0x8c:
978
+ return exports.GroupOfAddress;
979
+ case 0xa0:
980
+ return (0, exports.LoadMutField)(codec_1.byteCodec._decode(input));
981
+ case 0xa1:
982
+ return (0, exports.StoreMutField)(codec_1.byteCodec._decode(input));
983
+ case 0xa2:
984
+ return exports.ApproveAlph;
985
+ case 0xa3:
986
+ return exports.ApproveToken;
987
+ case 0xa4:
988
+ return exports.AlphRemaining;
989
+ case 0xa5:
990
+ return exports.TokenRemaining;
991
+ case 0xa6:
992
+ return exports.IsPaying;
993
+ case 0xa7:
994
+ return exports.TransferAlph;
995
+ case 0xa8:
996
+ return exports.TransferAlphFromSelf;
997
+ case 0xa9:
998
+ return exports.TransferAlphToSelf;
999
+ case 0xaa:
1000
+ return exports.TransferToken;
1001
+ case 0xab:
1002
+ return exports.TransferTokenFromSelf;
1003
+ case 0xac:
1004
+ return exports.TransferTokenToSelf;
1005
+ case 0xad:
1006
+ return exports.CreateContract;
1007
+ case 0xae:
1008
+ return exports.CreateContractWithToken;
1009
+ case 0xaf:
1010
+ return exports.CopyCreateContract;
1011
+ case 0xb0:
1012
+ return exports.DestroySelf;
1013
+ case 0xb1:
1014
+ return exports.SelfContractId;
1015
+ case 0xb2:
1016
+ return exports.SelfAddress;
1017
+ case 0xb3:
1018
+ return exports.CallerContractId;
1019
+ case 0xb4:
1020
+ return exports.CallerAddress;
1021
+ case 0xb5:
1022
+ return exports.IsCalledFromTxScript;
1023
+ case 0xb6:
1024
+ return exports.CallerInitialStateHash;
1025
+ case 0xb7:
1026
+ return exports.CallerCodeHash;
1027
+ case 0xb8:
1028
+ return exports.ContractInitialStateHash;
1029
+ case 0xb9:
1030
+ return exports.ContractCodeHash;
1031
+ case 0xba:
1032
+ return exports.MigrateSimple;
1033
+ case 0xbb:
1034
+ return exports.MigrateWithFields;
1035
+ case 0xbc:
1036
+ return exports.CopyCreateContractWithToken;
1037
+ case 0xbd:
1038
+ return exports.BurnToken;
1039
+ case 0xbe:
1040
+ return exports.LockApprovedAssets;
1041
+ case 0xbf:
1042
+ return exports.CreateSubContract;
1043
+ case 0xc0:
1044
+ return exports.CreateSubContractWithToken;
1045
+ case 0xc1:
1046
+ return exports.CopyCreateSubContract;
1047
+ case 0xc2:
1048
+ return exports.CopyCreateSubContractWithToken;
1049
+ case 0xc3:
1050
+ return exports.LoadMutFieldByIndex;
1051
+ case 0xc4:
1052
+ return exports.StoreMutFieldByIndex;
1053
+ case 0xc5:
1054
+ return exports.ContractExists;
1055
+ case 0xc6:
1056
+ return exports.CreateContractAndTransferToken;
1057
+ case 0xc7:
1058
+ return exports.CopyCreateContractAndTransferToken;
1059
+ case 0xc8:
1060
+ return exports.CreateSubContractAndTransferToken;
1061
+ case 0xc9:
1062
+ return exports.CopyCreateSubContractAndTransferToken;
1063
+ case 0xca:
1064
+ return exports.NullContractAddress;
1065
+ case 0xcb:
1066
+ return exports.SubContractId;
1067
+ case 0xcc:
1068
+ return exports.SubContractIdOf;
1069
+ case 0xcd:
1070
+ return exports.ALPHTokenId;
1071
+ case 0xce:
1072
+ return (0, exports.LoadImmField)(codec_1.byteCodec._decode(input));
1073
+ case 0xcf:
1074
+ return exports.LoadImmFieldByIndex;
1075
+ case 0xd0:
1076
+ return exports.PayGasFee;
1077
+ case 0xd1:
1078
+ return exports.MinimalContractDeposit;
1079
+ case 0xd2:
1080
+ return (0, exports.CreateMapEntry)(codec_1.byteCodec._decode(input), codec_1.byteCodec._decode(input));
1081
+ case 0xd3:
1082
+ return (0, exports.MethodSelector)(int_as_4bytes_codec_1.intAs4BytesCodec._decode(input));
1083
+ case 0xd4:
1084
+ return (0, exports.CallExternalBySelector)(int_as_4bytes_codec_1.intAs4BytesCodec._decode(input));
1085
+ default:
1086
+ throw new Error(`Unknown instr code: ${code}`);
1087
+ }
482
1088
  }
483
1089
  }
484
1090
  exports.InstrCodec = InstrCodec;