@layerzerolabs/protocol-stellar-v2 0.2.40 → 0.2.41

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 (114) hide show
  1. package/.turbo/turbo-build.log +226 -313
  2. package/.turbo/turbo-lint.log +98 -227
  3. package/.turbo/turbo-test.log +1803 -1954
  4. package/contracts/common-macros/src/lib.rs +38 -15
  5. package/contracts/common-macros/src/lz_contract.rs +12 -21
  6. package/contracts/common-macros/src/tests/lz_contract.rs +17 -8
  7. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__lz_contract__snapshot_generated_lz_contract_code.snap +20 -0
  8. package/contracts/common-macros/src/upgradeable.rs +37 -30
  9. package/contracts/endpoint-v2/src/endpoint_v2.rs +4 -3
  10. package/contracts/endpoint-v2/src/errors.rs +2 -2
  11. package/contracts/endpoint-v2/src/messaging_channel.rs +11 -0
  12. package/contracts/endpoint-v2/src/messaging_composer.rs +1 -0
  13. package/contracts/endpoint-v2/src/tests/endpoint_v2/clear.rs +12 -25
  14. package/contracts/endpoint-v2/src/tests/endpoint_v2/initializable.rs +4 -4
  15. package/contracts/endpoint-v2/src/tests/endpoint_v2/verifiable.rs +50 -10
  16. package/contracts/endpoint-v2/src/tests/endpoint_v2/verify.rs +6 -35
  17. package/contracts/endpoint-v2/src/tests/messaging_channel/burn.rs +2 -2
  18. package/contracts/endpoint-v2/src/tests/messaging_channel/clear_payload.rs +50 -1
  19. package/contracts/endpoint-v2/src/tests/messaging_channel/inbound.rs +78 -0
  20. package/contracts/endpoint-v2/src/tests/messaging_channel/insert_and_drain_pending_nonces.rs +272 -0
  21. package/contracts/endpoint-v2/src/tests/messaging_channel/mod.rs +1 -0
  22. package/contracts/endpoint-v2/src/tests/messaging_channel/nilify.rs +10 -5
  23. package/contracts/endpoint-v2/src/tests/messaging_channel/skip.rs +30 -0
  24. package/contracts/macro-integration-tests/tests/runtime/oapp/mod.rs +22 -1
  25. package/contracts/macro-integration-tests/tests/runtime/oapp/oapp_core.rs +13 -11
  26. package/contracts/macro-integration-tests/tests/runtime/oapp/options_type3.rs +13 -10
  27. package/contracts/macro-integration-tests/tests/runtime/oapp/receiver.rs +15 -11
  28. package/contracts/macro-integration-tests/tests/runtime/oapp/sender.rs +3 -2
  29. package/contracts/macro-integration-tests/tests/runtime/ownable/two_step_transfer.rs +14 -12
  30. package/contracts/macro-integration-tests/tests/runtime/upgradeable/migrate_guard_and_state.rs +3 -9
  31. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_invalid_inner_option.stderr +24 -1
  32. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_missing_internal.stderr +3 -3
  33. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable_rbac.rs +44 -0
  34. package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_all.rs +3 -0
  35. package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_single_trait.rs +3 -0
  36. package/contracts/macro-integration-tests/tests/ui/ownable/pass/basic.rs +1 -1
  37. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/attr_args.stderr +1 -1
  38. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_auth_trait.stderr +2 -2
  39. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_upgradeable_internal.stderr +2 -2
  40. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/rbac.rs +44 -0
  41. package/contracts/oapps/counter/integration_tests/utils.rs +5 -3
  42. package/contracts/oapps/counter/src/tests/mod.rs +16 -1
  43. package/contracts/oapps/counter/src/tests/test_counter.rs +5 -2
  44. package/contracts/oapps/oapp/src/oapp_core.rs +21 -7
  45. package/contracts/oapps/oapp/src/oapp_options_type3.rs +7 -5
  46. package/contracts/oapps/oapp/src/tests/mod.rs +21 -0
  47. package/contracts/oapps/oapp/src/tests/oapp_core.rs +12 -10
  48. package/contracts/oapps/oapp/src/tests/oapp_options_type3.rs +11 -7
  49. package/contracts/oapps/oapp/src/tests/oapp_receiver.rs +4 -2
  50. package/contracts/oapps/oapp/src/tests/oapp_sender.rs +3 -2
  51. package/contracts/oapps/oapp/src/tests/test_macros.rs +15 -0
  52. package/contracts/oapps/oapp-macros/src/generators.rs +6 -0
  53. package/contracts/oapps/oapp-macros/src/tests/snapshots/oapp_macros__tests__oapp__snapshot_generate_oapp.snap +15 -0
  54. package/contracts/oapps/oft/integration-tests/setup.rs +22 -4
  55. package/contracts/oapps/oft/integration-tests/utils.rs +94 -13
  56. package/contracts/oapps/oft/src/extensions/oft_fee.rs +23 -10
  57. package/contracts/oapps/oft/src/extensions/pausable.rs +31 -10
  58. package/contracts/oapps/oft/src/extensions/rate_limiter.rs +9 -4
  59. package/contracts/oapps/oft/src/oft.rs +1 -2
  60. package/contracts/oapps/oft/src/tests/extensions/oft_fee.rs +39 -27
  61. package/contracts/oapps/oft/src/tests/extensions/pausable.rs +38 -24
  62. package/contracts/oapps/oft/src/tests/extensions/rate_limiter.rs +87 -69
  63. package/contracts/oapps/oft-core/integration-tests/setup.rs +27 -3
  64. package/contracts/oapps/oft-core/src/oft_core.rs +10 -5
  65. package/contracts/oapps/oft-core/src/tests/test_msg_inspector.rs +20 -20
  66. package/contracts/oapps/oft-core/src/tests/test_utils.rs +31 -3
  67. package/contracts/upgrader/src/lib.rs +67 -30
  68. package/contracts/upgrader/src/tests/test_data/test_upgradeable_contract3.wasm +0 -0
  69. package/contracts/upgrader/src/tests/test_data/test_upgradeable_contract4.wasm +0 -0
  70. package/contracts/upgrader/src/tests/test_upgrader.rs +50 -4
  71. package/contracts/utils/src/ownable.rs +16 -5
  72. package/contracts/utils/src/tests/ownable.rs +39 -39
  73. package/contracts/utils/src/upgradeable.rs +60 -17
  74. package/docs/oapp-guide.md +4 -4
  75. package/package.json +3 -4
  76. package/sdk/.turbo/turbo-test.log +381 -366
  77. package/sdk/dist/generated/bml.d.ts +4 -4
  78. package/sdk/dist/generated/bml.js +6 -6
  79. package/sdk/dist/generated/counter.d.ts +158 -12
  80. package/sdk/dist/generated/counter.js +32 -12
  81. package/sdk/dist/generated/dvn.d.ts +4 -6
  82. package/sdk/dist/generated/dvn.js +8 -8
  83. package/sdk/dist/generated/dvn_fee_lib.d.ts +8 -10
  84. package/sdk/dist/generated/dvn_fee_lib.js +8 -8
  85. package/sdk/dist/generated/endpoint.d.ts +9 -9
  86. package/sdk/dist/generated/endpoint.js +9 -9
  87. package/sdk/dist/generated/executor.d.ts +9 -11
  88. package/sdk/dist/generated/executor.js +11 -11
  89. package/sdk/dist/generated/executor_fee_lib.d.ts +9 -11
  90. package/sdk/dist/generated/executor_fee_lib.js +11 -11
  91. package/sdk/dist/generated/executor_helper.d.ts +4 -4
  92. package/sdk/dist/generated/executor_helper.js +6 -6
  93. package/sdk/dist/generated/layerzero_view.d.ts +9 -11
  94. package/sdk/dist/generated/layerzero_view.js +11 -11
  95. package/sdk/dist/generated/oft.d.ts +194 -27
  96. package/sdk/dist/generated/oft.js +44 -22
  97. package/sdk/dist/generated/price_feed.d.ts +8 -10
  98. package/sdk/dist/generated/price_feed.js +8 -8
  99. package/sdk/dist/generated/sac_manager.d.ts +8 -8
  100. package/sdk/dist/generated/sac_manager.js +6 -6
  101. package/sdk/dist/generated/sml.d.ts +9 -9
  102. package/sdk/dist/generated/sml.js +9 -9
  103. package/sdk/dist/generated/treasury.d.ts +9 -9
  104. package/sdk/dist/generated/treasury.js +9 -9
  105. package/sdk/dist/generated/uln302.d.ts +9 -9
  106. package/sdk/dist/generated/uln302.js +9 -9
  107. package/sdk/dist/generated/upgrader.d.ts +25 -16
  108. package/sdk/dist/generated/upgrader.js +5 -5
  109. package/sdk/package.json +1 -1
  110. package/sdk/test/counter-sml.test.ts +20 -0
  111. package/sdk/test/counter-uln.test.ts +20 -0
  112. package/sdk/test/oft-sml.test.ts +22 -0
  113. package/sdk/test/upgrader.test.ts +1 -0
  114. package/turbo.json +1 -8
@@ -5,14 +5,14 @@ export * as contract from '@stellar/stellar-sdk/contract';
5
5
  export * as rpc from '@stellar/stellar-sdk/rpc';
6
6
  /**
7
7
  * Embedded WASM bytecode (base64-encoded)
8
- * Size: 6502 bytes (6.35 KB)
8
+ * Size: 7575 bytes (7.40 KB)
9
9
  */
10
- export const WASM_BASE64 = "AGFzbQEAAAABKghgAX4BfmACfn4BfmAAAX5gA35+fgF+YAJ/fgBgA35+fgBgAABgAX8BfgIxCAFiAV8AAAFiAWoAAQF2AV8AAgFkAV8AAwFhATAAAAFiATgAAAF2AWcAAQF4ATUAAAMKCQEEBQMGBgcFBgUDAQARBiEEfwFBgIDAAAt/AEGAgMAAC38AQYqAwAALfwBBkIDAAAsHSQYGbWVtb3J5AgAHdXBncmFkZQAIE3VwZ3JhZGVfYW5kX21pZ3JhdGUACwFfAwEKX19kYXRhX2VuZAMCC19faGVhcF9iYXNlAwMK8AQJXAEBfyOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCzQBSDQAgAiABEImAgIAAIAIoAgBBAUYNACAAIAIpAwhCAhCAgICAABCKgICAACACQRBqJICAgIAAQgIPCwALQgEBfkIBIQICQCABQv8Bg0LIAFINACABEIWAgIAAQoCAgIBwg0KAgICAgARSDQAgACABNwMIQgAhAgsgACACNwMAC5ACAwF/AX4BfyOAgICAAEEQayIDJICAgIAAAkACQCAAQYCAwIAArUIghkIEhEKEgICAoAEQgYCAgAAQgoCAgAAQg4CAgAAiBEICUQ0AIARC/wGDQs0AUQ0BEIyAgIAAAAsQjYCAgAAACyAEEISAgIAAGiADIAE3AwBCAiEEQQEhBQJAA0AgBUUNASAFQX9qIQUgASEEDAALCyADIAQ3AwggAEKO1Knzza3rASADQQhqEI6AgIAAEI+AgIAAIAMgAjcDAEICIQFBASEFAkADQCAFRQ0BIAVBf2ohBSACIQEMAAsLIAMgATcDCCAAQo7UufPN9coBIANBCGoQjoCAgAAQj4CAgAAgA0EQaiSAgICAAAtiAQF/I4CAgIAAQRBrIgMkgICAgAACQCAAQv8Bg0LNAFINACADIAEQiYCAgAAgAygCAEEBRg0AIAJC/wGDQsgAUg0AIAAgAykDCCACEIqAgIAAIANBEGokgICAgABCAg8LAAsJABCQgICAAAALEQBCg4CAgOCFARCHgICAABoLFwAgAK1CIIZCBIRChICAgBAQhoCAgAALIQACQCAAIAEgAhCDgICAAEL/AYNCAlENABCMgICAAAALCwMAAAsLEwEAQYCAwAALCmF1dGhvcml6ZXIAjyoOY29udHJhY3RzcGVjdjAAAAAAAAABEVVwZ3JhZGVzIGEgdGFyZ2V0IGNvbnRyYWN0IHdpdGhvdXQgY3VzdG9tIG1pZ3JhdGlvbiBkYXRhLgoKVGhpcyBpcyBhIGNvbnZlbmllbmNlIHdyYXBwZXIgdGhhdCBjYWxscyBgdXBncmFkZV9hbmRfbWlncmF0ZWAgd2l0aCBlbXB0eSBtaWdyYXRpb24gZGF0YS4KCiMgQXJndW1lbnRzCiogYGNvbnRyYWN0X2FkZHJlc3NgIC0gVGhlIGFkZHJlc3Mgb2YgdGhlIGNvbnRyYWN0IHRvIHVwZ3JhZGUKKiBgd2FzbV9oYXNoYCAtIFRoZSBoYXNoIG9mIHRoZSBuZXcgV0FTTSBieXRlY29kZQAAAAAAAAd1cGdyYWRlAAAAAAIAAAAAAAAAEGNvbnRyYWN0X2FkZHJlc3MAAAATAAAAAAAAAAl3YXNtX2hhc2gAAAAAAAPuAAAAIAAAAAAAAAAAAAACdFVwZ3JhZGVzIGEgdGFyZ2V0IGNvbnRyYWN0IGFuZCBydW5zIGl0cyBtaWdyYXRpb24gaW4gYSBzaW5nbGUgdHJhbnNhY3Rpb24uCgpUaGUgY2FsbGVyIG11c3QgYmUgYXV0aG9yaXplZCBhcyB0aGUgYXV0aG9yaXplciBvZiB0aGUgdGFyZ2V0IGNvbnRyYWN0LgpUaGlzIGlzIGVuZm9yY2VkIGJ5IHRoZSB0YXJnZXQgY29udHJhY3QncyBgI1tvbmx5X2F1dGhdYCBjaGVjay4KCiMgQXJndW1lbnRzCiogYGNvbnRyYWN0X2FkZHJlc3NgIC0gVGhlIGFkZHJlc3Mgb2YgdGhlIGNvbnRyYWN0IHRvIHVwZ3JhZGUKKiBgd2FzbV9oYXNoYCAtIFRoZSBoYXNoIG9mIHRoZSBuZXcgV0FTTSBieXRlY29kZQoqIGBtaWdyYXRpb25fZGF0YWAgLSBYRFItZW5jb2RlZCBieXRlcyB0byBwYXNzIHRvIHRoZSBtaWdyYXRlIGZ1bmN0aW9uLgpVc2UgYHZhbHVlLnRvX3hkcigmZW52KWAgdG8gZW5jb2RlIHRoZSB0YXJnZXQgY29udHJhY3QncyBNaWdyYXRpb25EYXRhIHR5cGUuCgojIEV4YW1wbGUKYGBgaWdub3JlCmxldCBtaWdyYXRpb25fZGF0YSA9IG15X2RhdGEudG9feGRyKCZlbnYpOwp1cGdyYWRlci51cGdyYWRlX2FuZF9taWdyYXRlKCZjb250cmFjdF9hZGRyLCAmd2FzbV9oYXNoLCAmbWlncmF0aW9uX2RhdGEpOwpgYGAAAAATdXBncmFkZV9hbmRfbWlncmF0ZQAAAAADAAAAAAAAABBjb250cmFjdF9hZGRyZXNzAAAAEwAAAAAAAAAJd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAAAAAADm1pZ3JhdGlvbl9kYXRhAAAAAAAOAAAAAAAAAAQAAAAcQnVmZmVyUmVhZGVyRXJyb3I6IDEwMDAtMTAwOQAAAAAAAAARQnVmZmVyUmVhZGVyRXJyb3IAAAAAAAACAAAAAAAAAA1JbnZhbGlkTGVuZ3RoAAAAAAAD6AAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD6QAAAAQAAAAcQnVmZmVyV3JpdGVyRXJyb3I6IDEwMTAtMTAxOQAAAAAAAAARQnVmZmVyV3JpdGVyRXJyb3IAAAAAAAABAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPyAAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4AAAAEAAAAF093bmFibGVFcnJvcjogMTAzMC0xMDM5AAAAAAAAAAAMT3duYWJsZUVycm9yAAAABwAAAAAAAAARSW52YWxpZEF1dGhvcml6ZXIAAAAAAAQGAAAAAAAAABNJbnZhbGlkUGVuZGluZ093bmVyAAAABAcAAAAAAAAACkludmFsaWRUdGwAAAAABAgAAAAAAAAAEU5vUGVuZGluZ1RyYW5zZmVyAAAAAAAECQAAAAAAAAAPT3duZXJBbHJlYWR5U2V0AAAABAoAAAAAAAAAC093bmVyTm90U2V0AAAABAsAAAAAAAAAElRyYW5zZmVySW5Qcm9ncmVzcwAAAAAEDAAAAAQAAAAYQnl0ZXNFeHRFcnJvcjogMTA0MC0xMDQ5AAAAAAAAAA1CeXRlc0V4dEVycm9yAAAAAAAAAQAAAAAAAAAOTGVuZ3RoTWlzbWF0Y2gAAAAABBAAAAAEAAAAG1VwZ3JhZGVhYmxlRXJyb3I6IDEwNTAtMTA1OQAAAAAAAAAAEFVwZ3JhZGVhYmxlRXJyb3IAAAACAAAAAAAAABRJbnZhbGlkTWlncmF0aW9uRGF0YQAABBoAAAAAAAAAE01pZ3JhdGlvbk5vdEFsbG93ZWQAAAAEGwAAAAQAAAAYTXVsdGlTaWdFcnJvcjogMTA2MC0xMDY5AAAAAAAAAA1NdWx0aVNpZ0Vycm9yAAAAAAAACQAAAAAAAAASQWxyZWFkeUluaXRpYWxpemVkAAAAAAQkAAAAAAAAABFJbnZhbGlkQXV0aG9yaXplcgAAAAAABCUAAAAAAAAADUludmFsaWRTaWduZXIAAAAAAAQmAAAAAAAAAA5TaWduYXR1cmVFcnJvcgAAAAAEJwAAAAAAAAATU2lnbmVyQWxyZWFkeUV4aXN0cwAAAAQoAAAAAAAAAA5TaWduZXJOb3RGb3VuZAAAAAAEKQAAAAAAAAAdVG90YWxTaWduZXJzTGVzc1RoYW5UaHJlc2hvbGQAAAAAAAQqAAAAAAAAAA9VbnNvcnRlZFNpZ25lcnMAAAAEKwAAAAAAAAANWmVyb1RocmVzaG9sZAAAAAAABCwAAAAEAAAAFEF1dGhFcnJvcjogMTA3MC0xMDc5AAAAAAAAAAlBdXRoRXJyb3IAAAAAAAABAAAAAAAAABJBdXRob3JpemVyTm90Rm91bmQAAAAABC4AAAAEAAAAFFJiYWNFcnJvcjogMTA4MC0xMDg5AAAAAAAAAAlSYmFjRXJyb3IAAAAAAAAHAAAAAAAAABFBZG1pblJvbGVOb3RGb3VuZAAAAAAABDgAAAAAAAAAEEluZGV4T3V0T2ZCb3VuZHMAAAQ5AAAAAAAAABBNYXhSb2xlc0V4Y2VlZGVkAAAEOgAAAAAAAAALUm9sZUlzRW1wdHkAAAAEOwAAAAAAAAAMUm9sZU5vdEZvdW5kAAAEPAAAAAAAAAALUm9sZU5vdEhlbGQAAAAEPQAAAAAAAAAMVW5hdXRob3JpemVkAAAEPgAAAAUAAAAwRXZlbnQgZW1pdHRlZCB3aGVuIGEgc2lnbmVyIGlzIGFkZGVkIG9yIHJlbW92ZWQuAAAAAAAAAAlTaWduZXJTZXQAAAAAAAABAAAACnNpZ25lcl9zZXQAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAABAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAgAAAAUAAAA2RXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIGlzIGNoYW5nZWQuAAAAAAAAAAAADFRocmVzaG9sZFNldAAAAAEAAAANdGhyZXNob2xkX3NldAAAAAAAAAEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA9NdWx0aVNpZ1N0b3JhZ2UAAAAAAgAAAAAAAAAAAAAAB1NpZ25lcnMAAAAAAAAAAAAAAAAJVGhyZXNob2xkAAAAAAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAgAAAAUAAAA7RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBwcm9wb3NlZC4AAAAAAAAAABVPd25lcnNoaXBUcmFuc2ZlcnJpbmcAAAAAAAABAAAAFm93bmVyc2hpcF90cmFuc2ZlcnJpbmcAAAAAAAMAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAgAAAAUAAAA8RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBjYW5jZWxsZWQuAAAAAAAAABpPd25lcnNoaXBUcmFuc2ZlckNhbmNlbGxlZAAAAAAAAQAAABxvd25lcnNoaXBfdHJhbnNmZXJfY2FuY2VsbGVkAAAAAgAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAAAAAAAXY2FuY2VsbGVkX3BlbmRpbmdfb3duZXIAAAAAEwAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAACAAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXIAAAAFAAAAJUV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJvbGUgaXMgZ3JhbnRlZC4AAAAAAAAAAAAAC1JvbGVHcmFudGVkAAAAAAEAAAAMcm9sZV9ncmFudGVkAAAAAwAAAAAAAAAEcm9sZQAAABEAAAABAAAAAAAAAAdhY2NvdW50AAAAABMAAAABAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAAAgAAAAUAAAAlRXZlbnQgZW1pdHRlZCB3aGVuIGEgcm9sZSBpcyByZXZva2VkLgAAAAAAAAAAAAALUm9sZVJldm9rZWQAAAAAAQAAAAxyb2xlX3Jldm9rZWQAAAADAAAAAAAAAARyb2xlAAAAEQAAAAEAAAAAAAAAB2FjY291bnQAAAAAEwAAAAEAAAAAAAAABmNhbGxlcgAAAAAAEwAAAAAAAAACAAAABQAAACtFdmVudCBlbWl0dGVkIHdoZW4gYSByb2xlIGFkbWluIGlzIGNoYW5nZWQuAAAAAAAAAAAQUm9sZUFkbWluQ2hhbmdlZAAAAAEAAAAScm9sZV9hZG1pbl9jaGFuZ2VkAAAAAAADAAAAAAAAAARyb2xlAAAAEQAAAAEAAAAAAAAAE3ByZXZpb3VzX2FkbWluX3JvbGUAAAAD6AAAABEAAAAAAAAAAAAAAA5uZXdfYWRtaW5fcm9sZQAAAAAD6AAAABEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAtSYmFjU3RvcmFnZQAAAAAFAAAAAAAAAAAAAAANRXhpc3RpbmdSb2xlcwAAAAAAAAEAAAAAAAAAElJvbGVJbmRleFRvQWNjb3VudAAAAAAAAgAAABEAAAAEAAAAAQAAAAAAAAASUm9sZUFjY291bnRUb0luZGV4AAAAAAACAAAAEQAAABMAAAABAAAAAAAAABFSb2xlQWNjb3VudHNDb3VudAAAAAAAAAEAAAARAAAAAQAAAAAAAAAJUm9sZUFkbWluAAAAAAAAAQAAABEAAAABAAAASVRUTCBjb25maWd1cmF0aW9uOiB0aHJlc2hvbGQgKHdoZW4gdG8gZXh0ZW5kKSBhbmQgZXh0ZW5kX3RvICh0YXJnZXQgVFRMKS4AAAAAAAAAAAAACVR0bENvbmZpZwAAAAAAAAIAAAAoVGFyZ2V0IFRUTCBhZnRlciBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAlleHRlbmRfdG8AAAAAAAAEAAAAM1RUTCB0aHJlc2hvbGQgdGhhdCB0cmlnZ2VycyBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAUAAAAnRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBzZXQuAAAAAAAAAAANVHRsQ29uZmlnc1NldAAAAAAAAAEAAAAPdHRsX2NvbmZpZ3Nfc2V0AAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAAAAAAABBUdGxDb25maWdzRnJvemVuAAAAAQAAABJ0dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAAAAAAIAAAAAAAAAAAAAABJVcGdyYWRlYWJsZVN0b3JhZ2UAAAAAAAEAAAAAAAAAAAAAAAlNaWdyYXRpbmcAAAAAHhFjb250cmFjdGVudm1ldGF2MAAAAAAAAAAZAAAAAABvDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAVyc3ZlcgAAAAAAAAYxLjkwLjAAAAAAAAAAAAAIcnNzZGt2ZXIAAAAvMjUuMS4xIzk0YzJhM2IzYTVkZWQ2YjljZjljZWYwYzIwN2JmODgwNGYzZWIyOTQAAFMOY29udHJhY3RtZXRhdjAAAAAAAAAABmNsaXZlcgAAAAAALzI1LjAuMCNhNjQ5MjVlOTM5MWMzZDNiM2VmOGU1M2RjNjBjMjNkYjllNmE4MmU0AA==";
10
+ export const WASM_BASE64 = "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YCBmb3IgUkJBQy1iYXNlZCB0YXJnZXRzAAAAAAd1cGdyYWRlAAAAAAMAAAAAAAAAEGNvbnRyYWN0X2FkZHJlc3MAAAATAAAAAAAAAAl3YXNtX2hhc2gAAAAAAAPuAAAAIAAAAAAAAAAIb3BlcmF0b3IAAAPoAAAAEwAAAAAAAAAAAAAD8FVwZ3JhZGVzIGEgdGFyZ2V0IGNvbnRyYWN0IGFuZCBydW5zIGl0cyBtaWdyYXRpb24gaW4gYSBzaW5nbGUgdHJhbnNhY3Rpb24uCgpDaG9vc2VzIEF1dGgtYmFzZWQgb3IgUkJBQy1iYXNlZCBmbG93IGZyb20gYG9wZXJhdG9yYDoKLSAqKmBTb21lKG9wZXJhdG9yKWAqKjogUkJBQyBmbG93LiBgb3BlcmF0b3JgIG11c3Qgc2lnbiB0aGUgdHJhbnNhY3Rpb24gYW5kIG11c3QgaGF2ZQpgVVBHUkFERVJfUk9MRWAgb24gdGhlIHRhcmdldC4gVGhlIHRhcmdldCBtdXN0IGltcGxlbWVudCBbYFVwZ3JhZGVhYmxlUmJhY2BdKHV0aWxzOjp1cGdyYWRlYWJsZTo6VXBncmFkZWFibGVSYmFjKS4KLSAqKmBOb25lYCoqOiBBdXRoIGZsb3cuIFRoZSB0YXJnZXTigJlzIGF1dGhvcml6ZXIgbXVzdCBzaWduIHRoZSB0cmFuc2FjdGlvbi4gVGhlIHRhcmdldAptdXN0IGltcGxlbWVudCBbYFVwZ3JhZGVhYmxlYF0odXRpbHM6OnVwZ3JhZGVhYmxlOjpVcGdyYWRlYWJsZSkuCgojIEFyZ3VtZW50cwoqIGBjb250cmFjdF9hZGRyZXNzYCAtIEFkZHJlc3Mgb2YgdGhlIGNvbnRyYWN0IHRvIHVwZ3JhZGUuCiogYHdhc21faGFzaGAgLSBIYXNoIG9mIHRoZSBuZXcgV0FTTSBieXRlY29kZS4KKiBgbWlncmF0aW9uX2RhdGFgIC0gWERSLWVuY29kZWQgbWlncmF0aW9uIHBheWxvYWQuIFVzZSBgdmFsdWUudG9feGRyKCZlbnYpYCBmb3IgdGhlCnRhcmdldCBjb250cmFjdOKAmXMgYE1pZ3JhdGlvbkRhdGFgIHR5cGU7IHVzZSBgKCkudG9feGRyKCZlbnYpYCBmb3Igbm8gY3VzdG9tIGRhdGEuCiogYG9wZXJhdG9yYCAtIGBOb25lYCBmb3IgQXV0aC1iYXNlZCB0YXJnZXQ7IGBTb21lKG9wZXJhdG9yKWAgZm9yIFJCQUMtYmFzZWQgdGFyZ2V0LgoKIyBFeGFtcGxlCmBgYGlnbm9yZQpsZXQgbWlncmF0aW9uX2RhdGEgPSBteV9kYXRhLnRvX3hkcigmZW52KTsKdXBncmFkZXIudXBncmFkZV9hbmRfbWlncmF0ZSgmY29udHJhY3RfYWRkciwgJndhc21faGFzaCwgJm1pZ3JhdGlvbl9kYXRhLCAmTm9uZSk7CmBgYAAAABN1cGdyYWRlX2FuZF9taWdyYXRlAAAAAAQAAAAAAAAAEGNvbnRyYWN0X2FkZHJlc3MAAAATAAAAAAAAAAl3YXNtX2hhc2gAAAAAAAPuAAAAIAAAAAAAAAAObWlncmF0aW9uX2RhdGEAAAAAAA4AAAAAAAAACG9wZXJhdG9yAAAD6AAAABMAAAAAAAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPpAAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/IAAAAEAAAAH1R0bENvbmZpZ3VyYWJsZUVycm9yOiAxMDIwLTEwMjkAAAAAAAAAABRUdGxDb25maWd1cmFibGVFcnJvcgAAAAMAAAAAAAAAEEludmFsaWRUdGxDb25maWcAAAP8AAAAAAAAAA9UdGxDb25maWdGcm96ZW4AAAAD/QAAAAAAAAAWVHRsQ29uZmlnQWxyZWFkeUZyb3plbgAAAAAD/gAAAAQAAAAXT3duYWJsZUVycm9yOiAxMDMwLTEwMzkAAAAAAAAAAAxPd25hYmxlRXJyb3IAAAAHAAAAAAAAABFJbnZhbGlkQXV0aG9yaXplcgAAAAAABAYAAAAAAAAAE0ludmFsaWRQZW5kaW5nT3duZXIAAAAEBwAAAAAAAAAKSW52YWxpZFR0bAAAAAAECAAAAAAAAAARTm9QZW5kaW5nVHJhbnNmZXIAAAAAAAQJAAAAAAAAAA9Pd25lckFscmVhZHlTZXQAAAAECgAAAAAAAAALT3duZXJOb3RTZXQAAAAECwAAAAAAAAASVHJhbnNmZXJJblByb2dyZXNzAAAAAAQMAAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEAAAAAQAAAAbVXBncmFkZWFibGVFcnJvcjogMTA1MC0xMDU5AAAAAAAAAAAQVXBncmFkZWFibGVFcnJvcgAAAAIAAAAAAAAAFEludmFsaWRNaWdyYXRpb25EYXRhAAAEGgAAAAAAAAATTWlncmF0aW9uTm90QWxsb3dlZAAAAAQbAAAABAAAABhNdWx0aVNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpU2lnRXJyb3IAAAAAAAAJAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEJQAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCYAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQnAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCgAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQpAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCoAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQrAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAELAAAAAQAAAAUQXV0aEVycm9yOiAxMDcwLTEwNzkAAAAAAAAACUF1dGhFcnJvcgAAAAAAAAEAAAAAAAAAEkF1dGhvcml6ZXJOb3RGb3VuZAAAAAAELgAAAAQAAAAUUmJhY0Vycm9yOiAxMDgwLTEwODkAAAAAAAAACVJiYWNFcnJvcgAAAAAAAAcAAAAAAAAAEUFkbWluUm9sZU5vdEZvdW5kAAAAAAAEOAAAAAAAAAAQSW5kZXhPdXRPZkJvdW5kcwAABDkAAAAAAAAAEE1heFJvbGVzRXhjZWVkZWQAAAQ6AAAAAAAAAAtSb2xlSXNFbXB0eQAAAAQ7AAAAAAAAAAxSb2xlTm90Rm91bmQAAAQ8AAAAAAAAAAtSb2xlTm90SGVsZAAAAAQ9AAAAAAAAAAxVbmF1dGhvcml6ZWQAAAQ+AAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAACAAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAD011bHRpU2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAAAAAAFAAAAV0V2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgdHJhbnNmZXJyZWQgKGJvdGggc2luZ2xlLXN0ZXAgYW5kIHR3by1zdGVwIGNvbXBsZXRpb24pLgAAAAAAAAAAFE93bmVyc2hpcFRyYW5zZmVycmVkAAAAAQAAABVvd25lcnNoaXBfdHJhbnNmZXJyZWQAAAAAAAACAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAACAAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAACAAAABQAAADxFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIGNhbmNlbGxlZC4AAAAAAAAAGk93bmVyc2hpcFRyYW5zZmVyQ2FuY2VsbGVkAAAAAAABAAAAHG93bmVyc2hpcF90cmFuc2Zlcl9jYW5jZWxsZWQAAAACAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAAAAAAABdjYW5jZWxsZWRfcGVuZGluZ19vd25lcgAAAAATAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgcmVub3VuY2VkLgAAAAAAAAAAABJPd25lcnNoaXBSZW5vdW5jZWQAAAAAAAEAAAATb3duZXJzaGlwX3Jlbm91bmNlZAAAAAABAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAOT3duYWJsZVN0b3JhZ2UAAAAAAAIAAAAAAAAAAAAAAAVPd25lcgAAAAAAAAAAAAAAAAAADFBlbmRpbmdPd25lcgAAAAUAAAAlRXZlbnQgZW1pdHRlZCB3aGVuIGEgcm9sZSBpcyBncmFudGVkLgAAAAAAAAAAAAALUm9sZUdyYW50ZWQAAAAAAQAAAAxyb2xlX2dyYW50ZWQAAAADAAAAAAAAAARyb2xlAAAAEQAAAAEAAAAAAAAAB2FjY291bnQAAAAAEwAAAAEAAAAAAAAABmNhbGxlcgAAAAAAEwAAAAAAAAACAAAABQAAACVFdmVudCBlbWl0dGVkIHdoZW4gYSByb2xlIGlzIHJldm9rZWQuAAAAAAAAAAAAAAtSb2xlUmV2b2tlZAAAAAABAAAADHJvbGVfcmV2b2tlZAAAAAMAAAAAAAAABHJvbGUAAAARAAAAAQAAAAAAAAAHYWNjb3VudAAAAAATAAAAAQAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAIAAAAFAAAAK0V2ZW50IGVtaXR0ZWQgd2hlbiBhIHJvbGUgYWRtaW4gaXMgY2hhbmdlZC4AAAAAAAAAABBSb2xlQWRtaW5DaGFuZ2VkAAAAAQAAABJyb2xlX2FkbWluX2NoYW5nZWQAAAAAAAMAAAAAAAAABHJvbGUAAAARAAAAAQAAAAAAAAATcHJldmlvdXNfYWRtaW5fcm9sZQAAAAPoAAAAEQAAAAAAAAAAAAAADm5ld19hZG1pbl9yb2xlAAAAAAPoAAAAEQAAAAAAAAACAAAAAgAAAAAAAAAAAAAAC1JiYWNTdG9yYWdlAAAAAAUAAAAAAAAAAAAAAA1FeGlzdGluZ1JvbGVzAAAAAAAAAQAAAAAAAAASUm9sZUluZGV4VG9BY2NvdW50AAAAAAACAAAAEQAAAAQAAAABAAAAAAAAABJSb2xlQWNjb3VudFRvSW5kZXgAAAAAAAIAAAARAAAAEwAAAAEAAAAAAAAAEVJvbGVBY2NvdW50c0NvdW50AAAAAAAAAQAAABEAAAABAAAAAAAAAAlSb2xlQWRtaW4AAAAAAAABAAAAEQAAAAEAAABJVFRMIGNvbmZpZ3VyYXRpb246IHRocmVzaG9sZCAod2hlbiB0byBleHRlbmQpIGFuZCBleHRlbmRfdG8gKHRhcmdldCBUVEwpLgAAAAAAAAAAAAAJVHRsQ29uZmlnAAAAAAAAAgAAAChUYXJnZXQgVFRMIGFmdGVyIGV4dGVuc2lvbiAoaW4gbGVkZ2VycykuAAAACWV4dGVuZF90bwAAAAAAAAQAAAAzVFRMIHRocmVzaG9sZCB0aGF0IHRyaWdnZXJzIGV4dGVuc2lvbiAoaW4gbGVkZ2VycykuAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAABQAAACdFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIHNldC4AAAAAAAAAAA1UdGxDb25maWdzU2V0AAAAAAAAAQAAAA90dGxfY29uZmlnc19zZXQAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBmcm96ZW4uAAAAAAAAAAAAEFR0bENvbmZpZ3NGcm96ZW4AAAABAAAAEnR0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAQVHRsQ29uZmlnU3RvcmFnZQAAAAMAAAAAAAAAAAAAAAZGcm96ZW4AAAAAAAAAAAAAAAAACEluc3RhbmNlAAAAAAAAAAAAAAAKUGVyc2lzdGVudAAAAAAAAgAAAAAAAAAAAAAAElVwZ3JhZGVhYmxlU3RvcmFnZQAAAAAAAQAAAAAAAAAAAAAACU1pZ3JhdGluZwAAAAAeEWNvbnRyYWN0ZW52bWV0YXYwAAAAAAAAABkAAAAAAG8OY29udHJhY3RtZXRhdjAAAAAAAAAABXJzdmVyAAAAAAAABjEuOTAuMAAAAAAAAAAAAAhyc3Nka3ZlcgAAAC8yNS4xLjEjOTRjMmEzYjNhNWRlZDZiOWNmOWNlZjBjMjA3YmY4ODA0ZjNlYjI5NAAAUw5jb250cmFjdG1ldGF2MAAAAAAAAAAGY2xpdmVyAAAAAAAvMjUuMS4wI2EwNDhhNTdhNzU3NjI0NThiNDg3MDUyZTAwMjFlYTcwNGE5MjZiZWUA";
11
11
  /**
12
12
  * Pre-computed WASM hash (SHA-256)
13
13
  * Use this when the WASM is already uploaded on-chain
14
14
  */
15
- export const WASM_HASH = "d97a7d611b07c5c0767dd1d785faea2ba1f3b20086ff6f7ea21afa837d48345b";
15
+ export const WASM_HASH = "7796fed7be887c8f281a3c6e043203c0597969b65d23d5c1f9d767b62dfba062";
16
16
  /**
17
17
  * Get the WASM bytecode as a Buffer
18
18
  * Use this to upload the WASM to the network
@@ -106,8 +106,8 @@ export class Client extends ContractClient {
106
106
  return ContractClient.deploy(null, options);
107
107
  }
108
108
  constructor(options) {
109
- super(new ContractSpec(["AAAAAAAAARFVcGdyYWRlcyBhIHRhcmdldCBjb250cmFjdCB3aXRob3V0IGN1c3RvbSBtaWdyYXRpb24gZGF0YS4KClRoaXMgaXMgYSBjb252ZW5pZW5jZSB3cmFwcGVyIHRoYXQgY2FsbHMgYHVwZ3JhZGVfYW5kX21pZ3JhdGVgIHdpdGggZW1wdHkgbWlncmF0aW9uIGRhdGEuCgojIEFyZ3VtZW50cwoqIGBjb250cmFjdF9hZGRyZXNzYCAtIFRoZSBhZGRyZXNzIG9mIHRoZSBjb250cmFjdCB0byB1cGdyYWRlCiogYHdhc21faGFzaGAgLSBUaGUgaGFzaCBvZiB0aGUgbmV3IFdBU00gYnl0ZWNvZGUAAAAAAAAHdXBncmFkZQAAAAACAAAAAAAAABBjb250cmFjdF9hZGRyZXNzAAAAEwAAAAAAAAAJd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAA",
110
- "AAAAAAAAAnRVcGdyYWRlcyBhIHRhcmdldCBjb250cmFjdCBhbmQgcnVucyBpdHMgbWlncmF0aW9uIGluIGEgc2luZ2xlIHRyYW5zYWN0aW9uLgoKVGhlIGNhbGxlciBtdXN0IGJlIGF1dGhvcml6ZWQgYXMgdGhlIGF1dGhvcml6ZXIgb2YgdGhlIHRhcmdldCBjb250cmFjdC4KVGhpcyBpcyBlbmZvcmNlZCBieSB0aGUgdGFyZ2V0IGNvbnRyYWN0J3MgYCNbb25seV9hdXRoXWAgY2hlY2suCgojIEFyZ3VtZW50cwoqIGBjb250cmFjdF9hZGRyZXNzYCAtIFRoZSBhZGRyZXNzIG9mIHRoZSBjb250cmFjdCB0byB1cGdyYWRlCiogYHdhc21faGFzaGAgLSBUaGUgaGFzaCBvZiB0aGUgbmV3IFdBU00gYnl0ZWNvZGUKKiBgbWlncmF0aW9uX2RhdGFgIC0gWERSLWVuY29kZWQgYnl0ZXMgdG8gcGFzcyB0byB0aGUgbWlncmF0ZSBmdW5jdGlvbi4KVXNlIGB2YWx1ZS50b194ZHIoJmVudilgIHRvIGVuY29kZSB0aGUgdGFyZ2V0IGNvbnRyYWN0J3MgTWlncmF0aW9uRGF0YSB0eXBlLgoKIyBFeGFtcGxlCmBgYGlnbm9yZQpsZXQgbWlncmF0aW9uX2RhdGEgPSBteV9kYXRhLnRvX3hkcigmZW52KTsKdXBncmFkZXIudXBncmFkZV9hbmRfbWlncmF0ZSgmY29udHJhY3RfYWRkciwgJndhc21faGFzaCwgJm1pZ3JhdGlvbl9kYXRhKTsKYGBgAAAAE3VwZ3JhZGVfYW5kX21pZ3JhdGUAAAAAAwAAAAAAAAAQY29udHJhY3RfYWRkcmVzcwAAABMAAAAAAAAACXdhc21faGFzaAAAAAAAA+4AAAAgAAAAAAAAAA5taWdyYXRpb25fZGF0YQAAAAAADgAAAAA=",
109
+ super(new ContractSpec(["AAAAAAAAAd9VcGdyYWRlcyBhIHRhcmdldCBjb250cmFjdCB3aXRob3V0IGN1c3RvbSBtaWdyYXRpb24gZGF0YS4KCkNvbnZlbmllbmNlIHdyYXBwZXIgYXJvdW5kIFtgdXBncmFkZV9hbmRfbWlncmF0ZWBdKFNlbGY6OnVwZ3JhZGVfYW5kX21pZ3JhdGUpIHRoYXQKcGFzc2VzIGVtcHR5IG1pZ3JhdGlvbiBkYXRhIChYRFIgZW5jb2Rpbmcgb2YgYCgpYCkuIFVzZSBvbmx5IHdoZW4gdGhlIHRhcmdldOKAmXMKYE1pZ3JhdGlvbkRhdGFgIGlzIGAoKWAgb3IgaXQgc3VwcG9ydHMgZW1wdHkgbWlncmF0aW9uLgoKIyBBcmd1bWVudHMKKiBgY29udHJhY3RfYWRkcmVzc2AgLSBBZGRyZXNzIG9mIHRoZSBjb250cmFjdCB0byB1cGdyYWRlLgoqIGB3YXNtX2hhc2hgIC0gSGFzaCBvZiB0aGUgbmV3IFdBU00gYnl0ZWNvZGUuCiogYG9wZXJhdG9yYCAtIGBOb25lYCBmb3IgQXV0aC1iYXNlZCB0YXJnZXRzOyBgU29tZShhZGRyKWAgZm9yIFJCQUMtYmFzZWQgdGFyZ2V0cwAAAAAHdXBncmFkZQAAAAADAAAAAAAAABBjb250cmFjdF9hZGRyZXNzAAAAEwAAAAAAAAAJd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAAAAAACG9wZXJhdG9yAAAD6AAAABMAAAAA",
110
+ "AAAAAAAAA/BVcGdyYWRlcyBhIHRhcmdldCBjb250cmFjdCBhbmQgcnVucyBpdHMgbWlncmF0aW9uIGluIGEgc2luZ2xlIHRyYW5zYWN0aW9uLgoKQ2hvb3NlcyBBdXRoLWJhc2VkIG9yIFJCQUMtYmFzZWQgZmxvdyBmcm9tIGBvcGVyYXRvcmA6Ci0gKipgU29tZShvcGVyYXRvcilgKio6IFJCQUMgZmxvdy4gYG9wZXJhdG9yYCBtdXN0IHNpZ24gdGhlIHRyYW5zYWN0aW9uIGFuZCBtdXN0IGhhdmUKYFVQR1JBREVSX1JPTEVgIG9uIHRoZSB0YXJnZXQuIFRoZSB0YXJnZXQgbXVzdCBpbXBsZW1lbnQgW2BVcGdyYWRlYWJsZVJiYWNgXSh1dGlsczo6dXBncmFkZWFibGU6OlVwZ3JhZGVhYmxlUmJhYykuCi0gKipgTm9uZWAqKjogQXV0aCBmbG93LiBUaGUgdGFyZ2V04oCZcyBhdXRob3JpemVyIG11c3Qgc2lnbiB0aGUgdHJhbnNhY3Rpb24uIFRoZSB0YXJnZXQKbXVzdCBpbXBsZW1lbnQgW2BVcGdyYWRlYWJsZWBdKHV0aWxzOjp1cGdyYWRlYWJsZTo6VXBncmFkZWFibGUpLgoKIyBBcmd1bWVudHMKKiBgY29udHJhY3RfYWRkcmVzc2AgLSBBZGRyZXNzIG9mIHRoZSBjb250cmFjdCB0byB1cGdyYWRlLgoqIGB3YXNtX2hhc2hgIC0gSGFzaCBvZiB0aGUgbmV3IFdBU00gYnl0ZWNvZGUuCiogYG1pZ3JhdGlvbl9kYXRhYCAtIFhEUi1lbmNvZGVkIG1pZ3JhdGlvbiBwYXlsb2FkLiBVc2UgYHZhbHVlLnRvX3hkcigmZW52KWAgZm9yIHRoZQp0YXJnZXQgY29udHJhY3TigJlzIGBNaWdyYXRpb25EYXRhYCB0eXBlOyB1c2UgYCgpLnRvX3hkcigmZW52KWAgZm9yIG5vIGN1c3RvbSBkYXRhLgoqIGBvcGVyYXRvcmAgLSBgTm9uZWAgZm9yIEF1dGgtYmFzZWQgdGFyZ2V0OyBgU29tZShvcGVyYXRvcilgIGZvciBSQkFDLWJhc2VkIHRhcmdldC4KCiMgRXhhbXBsZQpgYGBpZ25vcmUKbGV0IG1pZ3JhdGlvbl9kYXRhID0gbXlfZGF0YS50b194ZHIoJmVudik7CnVwZ3JhZGVyLnVwZ3JhZGVfYW5kX21pZ3JhdGUoJmNvbnRyYWN0X2FkZHIsICZ3YXNtX2hhc2gsICZtaWdyYXRpb25fZGF0YSwgJk5vbmUpOwpgYGAAAAATdXBncmFkZV9hbmRfbWlncmF0ZQAAAAAEAAAAAAAAABBjb250cmFjdF9hZGRyZXNzAAAAEwAAAAAAAAAJd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAAAAAADm1pZ3JhdGlvbl9kYXRhAAAAAAAOAAAAAAAAAAhvcGVyYXRvcgAAA+gAAAATAAAAAA==",
111
111
  "AAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPp",
112
112
  "AAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/I=",
113
113
  "AAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4=",
package/sdk/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@layerzerolabs/lz-v2-stellar-sdk",
3
- "version": "0.2.40",
3
+ "version": "0.2.41",
4
4
  "private": false,
5
5
  "description": "TypeScript SDK for endpoint-v2 Stellar contract",
6
6
  "repository": {
@@ -188,12 +188,31 @@ describe('Counter Cross-Chain Testing (SML)', async () => {
188
188
  console.log('✅ Counter B receive library set to SML for EID_A');
189
189
  });
190
190
 
191
+ it('Grant OAPP_ADMIN_ROLE to DEFAULT_DEPLOYER (required for set_peer)', async () => {
192
+ const assembledTxA = await counterClientA.grant_role({
193
+ account: DEFAULT_DEPLOYER.publicKey(),
194
+ role: 'OAPP_ADMIN_ROLE',
195
+ caller: DEFAULT_DEPLOYER.publicKey(),
196
+ });
197
+ await assembledTxA.signAndSend();
198
+
199
+ const assembledTxB = await counterClientB.grant_role({
200
+ account: DEFAULT_DEPLOYER.publicKey(),
201
+ role: 'OAPP_ADMIN_ROLE',
202
+ caller: DEFAULT_DEPLOYER.publicKey(),
203
+ });
204
+ await assembledTxB.signAndSend();
205
+
206
+ console.log('✅ OAPP_ADMIN_ROLE granted to DEFAULT_DEPLOYER on both Counters');
207
+ });
208
+
191
209
  it('Set Counter A Peer to Counter B', async () => {
192
210
  const peerBBytes = StrKey.decodeContract(counterBAddress);
193
211
 
194
212
  const assembledTx = await counterClientA.set_peer({
195
213
  eid: EID_B,
196
214
  peer: Buffer.from(peerBBytes),
215
+ operator: DEFAULT_DEPLOYER.publicKey(),
197
216
  });
198
217
  await assembledTx.signAndSend();
199
218
 
@@ -210,6 +229,7 @@ describe('Counter Cross-Chain Testing (SML)', async () => {
210
229
  const assembledTx = await counterClientB.set_peer({
211
230
  eid: EID_A,
212
231
  peer: Buffer.from(peerABytes),
232
+ operator: DEFAULT_DEPLOYER.publicKey(),
213
233
  });
214
234
  await assembledTx.signAndSend();
215
235
 
@@ -121,12 +121,31 @@ describe('Counter Cross-Chain Testing (ULN302)', async () => {
121
121
  console.log('✅ Counter B deployed on Chain B:', counterBAddress);
122
122
  });
123
123
 
124
+ it('Grant OAPP_ADMIN_ROLE to DEFAULT_DEPLOYER (required for set_peer)', async () => {
125
+ const assembledTxA = await counterClientA.grant_role({
126
+ account: DEFAULT_DEPLOYER.publicKey(),
127
+ role: 'OAPP_ADMIN_ROLE',
128
+ caller: DEFAULT_DEPLOYER.publicKey(),
129
+ });
130
+ await assembledTxA.signAndSend();
131
+
132
+ const assembledTxB = await counterClientB.grant_role({
133
+ account: DEFAULT_DEPLOYER.publicKey(),
134
+ role: 'OAPP_ADMIN_ROLE',
135
+ caller: DEFAULT_DEPLOYER.publicKey(),
136
+ });
137
+ await assembledTxB.signAndSend();
138
+
139
+ console.log('✅ OAPP_ADMIN_ROLE granted to DEFAULT_DEPLOYER on both Counters');
140
+ });
141
+
124
142
  it('Set Counter A Peer to Counter B', async () => {
125
143
  const peerBBytes = StrKey.decodeContract(counterBAddress);
126
144
 
127
145
  const assembledTx = await counterClientA.set_peer({
128
146
  eid: EID_B,
129
147
  peer: Buffer.from(peerBBytes),
148
+ operator: DEFAULT_DEPLOYER.publicKey(),
130
149
  });
131
150
  await assembledTx.signAndSend();
132
151
 
@@ -143,6 +162,7 @@ describe('Counter Cross-Chain Testing (ULN302)', async () => {
143
162
  const assembledTx = await counterClientB.set_peer({
144
163
  eid: EID_A,
145
164
  peer: Buffer.from(peerABytes),
165
+ operator: DEFAULT_DEPLOYER.publicKey(),
146
166
  });
147
167
  await assembledTx.signAndSend();
148
168
 
@@ -346,12 +346,33 @@ describe('OFT Cross-Chain E2E Testing with SAC (SML)', async () => {
346
346
  console.log('✅ Mint/Burn OFT (Chain B) receive library set to SML for EID_A');
347
347
  });
348
348
 
349
+ it('Grant OAPP_ADMIN_ROLE to DEFAULT_DEPLOYER (required for set_peer)', async () => {
350
+ // OFT's `set_peer` is protected by `#[only_role(operator, OAPP_ADMIN_ROLE)]`
351
+ // so we must grant that role to the operator before wiring peers.
352
+ const assembledTxA = await lockUnlockOftClient.grant_role({
353
+ account: DEFAULT_DEPLOYER.publicKey(),
354
+ role: 'OAPP_ADMIN_ROLE',
355
+ caller: DEFAULT_DEPLOYER.publicKey(),
356
+ });
357
+ await assembledTxA.signAndSend();
358
+
359
+ const assembledTxB = await mintBurnOftClient.grant_role({
360
+ account: DEFAULT_DEPLOYER.publicKey(),
361
+ role: 'OAPP_ADMIN_ROLE',
362
+ caller: DEFAULT_DEPLOYER.publicKey(),
363
+ });
364
+ await assembledTxB.signAndSend();
365
+
366
+ console.log('✅ OAPP_ADMIN_ROLE granted to DEFAULT_DEPLOYER on both OFTs');
367
+ });
368
+
349
369
  it('Set Lock/Unlock OFT (Chain A) Peer to Mint/Burn OFT (Chain B)', async () => {
350
370
  const mintBurnPeerBytes = StrKey.decodeContract(mintBurnOftAddress);
351
371
 
352
372
  const assembledTx = await lockUnlockOftClient.set_peer({
353
373
  eid: EID_B,
354
374
  peer: Buffer.from(mintBurnPeerBytes),
375
+ operator: DEFAULT_DEPLOYER.publicKey(),
355
376
  });
356
377
  await assembledTx.signAndSend();
357
378
 
@@ -368,6 +389,7 @@ describe('OFT Cross-Chain E2E Testing with SAC (SML)', async () => {
368
389
  const assembledTx = await mintBurnOftClient.set_peer({
369
390
  eid: EID_A,
370
391
  peer: Buffer.from(lockUnlockPeerBytes),
392
+ operator: DEFAULT_DEPLOYER.publicKey(),
371
393
  });
372
394
  await assembledTx.signAndSend();
373
395
 
@@ -120,6 +120,7 @@ describe('Upgrader Contract Testing', async () => {
120
120
  contract_address: testContractAddress,
121
121
  wasm_hash: Buffer.from(newWasmHash, 'hex'),
122
122
  migration_data: xdr.ScVal.scvVoid().toXDR(),
123
+ operator: undefined,
123
124
  });
124
125
 
125
126
  await signDvnAuthEntries(
package/turbo.json CHANGED
@@ -6,14 +6,7 @@
6
6
  "sdk/src/generated/**",
7
7
  "target/wasm32v1-none/release/*.wasm",
8
8
  "target/wasm32v1-none/release/*.d"
9
- ],
10
- "dependsOn": ["setup:toolchain"]
11
- },
12
- "test": {
13
- "dependsOn": ["build", "lint", "setup:toolchain"]
14
- },
15
- "lint": {
16
- "dependsOn": ["setup:toolchain"]
9
+ ]
17
10
  }
18
11
  }
19
12
  }