ton-sdk-ruby-smc 0.0.2 → 0.0.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 91e0003227c3feec8516506fbff54aa205aaedba41e5e370651713d1e25521f3
4
- data.tar.gz: 795d6873b56886b53c25704ff9c35ac474f8b33a58475ef159be9476b03b469a
3
+ metadata.gz: a82bf4b3fed35ee532172adb4e675ac652a8647a760f5bb02662107c203db68a
4
+ data.tar.gz: 2c368795462e8d47864403730086be0dba6297c1137c5248aa9637b6db007637
5
5
  SHA512:
6
- metadata.gz: 4f1803fb89f61aaab6738d8828b472a51b5d5a5213fcf93da57b0198d80963e77aa6f34047195d19b973688e998579fb73245342ce938fd1828cb4e9507822cb
7
- data.tar.gz: e95a957cc93f3749ffbd18a8b35de2636d6f8e3177490f038152599b3cb1cb4bb3833513b160ddcb6d54ac5471f0be108e286259c57c42b8b543365fac2d1305
6
+ metadata.gz: 11ce754bd515ea33f21956410d512eb5bf1548d7ce3d2d6de1b8a5f1b94592b45915d74c32cd425963458862d72f21665948961ba8bc3c2977ac57a07344eba7
7
+ data.tar.gz: 1302b1a85e2fb678b16c99bd2c2aab28457df72c11c479a74c78e5bcaac687ffeb35118d63171622e7b79edf58e75d730825efb235e4f121cf1d2d9382e60efb
@@ -25,6 +25,8 @@ module TonSdkRubySmc
25
25
  include TonSdkRuby
26
26
 
27
27
  class Jetton
28
+ extend TonSdkRuby
29
+ extend TonSdkRubySmc
28
30
 
29
31
  =begin
30
32
  transfer#0f8a7ea5 query_id:uint64 amount:(VarUInteger 16) destination:MsgAddress
@@ -25,6 +25,9 @@ module TonSdkRubySmc
25
25
  include TonSdkRuby
26
26
 
27
27
  class MetaData
28
+ extend TonSdkRuby
29
+ extend TonSdkRubySmc
30
+
28
31
  def self.parse_token_metadata(da_slice)
29
32
  require_type('da_slice', da_slice, Slice)
30
33
  pum_purum_tag = da_slice.load_uint(8)
@@ -25,10 +25,12 @@ module TonSdkRubySmc
25
25
  include TonSdkRuby
26
26
 
27
27
  class NFT
28
-
28
+ extend TonSdkRuby
29
+ extend TonSdkRubySmc
30
+
29
31
  =begin
30
- transfer#5fcc3d14 query_id:uint64 new_owner:MsgAddress response_destination:MsgAddress
31
- custom_payload:(Maybe ^Cell) forward_amount:(VarUInteger 16)
32
+ transfer#5fcc3d14 query_id:uint64 new_owner:MsgAddress response_destination:MsgAddress
33
+ custom_payload:(Maybe ^Cell) forward_amount:(VarUInteger 16)
32
34
  forward_payload:(Either Cell ^Cell) = InternalMsgBody;
33
35
  =end
34
36
  def self.build_transfer(query_id, new_owner, response_destination, forward_amount, forward_payload, custom_payload = nil)
@@ -45,8 +47,8 @@ transfer#5fcc3d14 query_id:uint64 new_owner:MsgAddress response_destination:MsgA
45
47
  body.store_address(new_owner)
46
48
  body.store_address(response_destionation)
47
49
  body.store_maybe_ref(custom_payload)
48
- body.store_coins(forward_amount)
49
-
50
+ body.store_coins(forward_amount)
51
+
50
52
  if (body.bits.size + forward_payload.bits.size > 1023) || body.refs.size + forward_payload.refs.size > 4
51
53
  body.store_bit(1)
52
54
  body.store_ref(forward_payload)
@@ -57,4 +59,4 @@ transfer#5fcc3d14 query_id:uint64 new_owner:MsgAddress response_destination:MsgA
57
59
  body.cell
58
60
  end
59
61
  end
60
- end
62
+ end
@@ -22,5 +22,5 @@ GNU Lesser General Public License for more details.
22
22
  =end
23
23
 
24
24
  module TonSdkRubySmc
25
- VERSION = "0.0.2"
25
+ VERSION = "0.0.3"
26
26
  end
@@ -42,6 +42,9 @@ module TonSdkRubySmc
42
42
  PWV2_CODE = 'B5EE9C7241010101003D000076FF00DDD40120F90001D0D33FD30FD74CED44D0D3FFD70B0F20A4830FA90822C8CBFFCB0FC9ED5444301046BAF2A1F823BEF2A2F910F2A3F800ED552E766412'
43
43
 
44
44
  class PWV2Transfer
45
+ extend TonSdkRuby
46
+ extend TonSdkRubySmc
47
+
45
48
  attr_accessor :destination, :bounce, :value, :mode, :body, :init
46
49
 
47
50
  def initialize(destination, bounce, value, mode, body = nil, init = nil)
@@ -63,19 +66,19 @@ module TonSdkRubySmc
63
66
  @init = build_state_init
64
67
  @address = Address.new("#{wc}:#{init.cell.hash}")
65
68
  end
66
-
69
+
67
70
  def self.parse_storage(storage_slice)
68
71
  {
69
72
  pubkey: storage_slice.load_bytes(32),
70
73
  seqno: storage_slice.load_uint(16)
71
74
  }
72
75
  end
73
-
76
+
74
77
  def build_transfer(transfers, seqno, private_key, is_init = false, timeout = 60)
75
78
  raise 'Transfers must be an [PWV2Transfer]' unless transfers.size > 0 && transfers.first.is_a?(PWV2Transfer)
76
79
  raise "PWV2 can handle only 255 transfers at once" unless transfers.size <= 255
77
80
  actions = []
78
-
81
+
79
82
  transfers.each do |t|
80
83
  info = CommonMsgInfo.new(
81
84
  IntMsgInfo.new(
@@ -85,7 +88,7 @@ module TonSdkRubySmc
85
88
  value: t.value
86
89
  )
87
90
  )
88
-
91
+
89
92
  action = OutAction.new(
90
93
  ActionSendMsg.new(
91
94
  tag: 'action_send_msg',
@@ -99,34 +102,34 @@ module TonSdkRubySmc
99
102
  )
100
103
  )
101
104
  )
102
-
105
+
103
106
  actions.push(action)
104
107
  end
105
-
108
+
106
109
  outlist = OutList.new(OutListOptions.new(actions: actions))
107
-
110
+
108
111
  msg_inner = Builder.new
109
112
  # .store_uint((Time.now.to_i + timeout).to_s, 64)
110
113
  .store_uint((1000 + timeout).to_s, 64)
111
114
  .store_uint(seqno.to_s, 16)
112
115
  .store_ref(outlist.cell)
113
116
  .cell
114
-
117
+
115
118
  sign = sign_cell(msg_inner, private_key)
116
-
119
+
117
120
  msg_body = Builder.new
118
121
  .store_bytes(sign.unpack('C*'))
119
122
  .store_ref(msg_inner)
120
-
123
+
121
124
  info = CommonMsgInfo.new(
122
125
  ExtInMsgInfo.new(
123
126
  tag: 'ext_in_msg_info',
124
127
  dest: @address
125
128
  )
126
129
  )
127
-
130
+
128
131
  init_t = is_init ? init : nil
129
-
132
+
130
133
  m_cell = msg_body.cell
131
134
 
132
135
  Message.new(
@@ -141,36 +144,12 @@ module TonSdkRubySmc
141
144
  private
142
145
 
143
146
  def build_state_init()
144
- data = Builder.new()
147
+ data = Builder.new()
145
148
  data.store_bytes(hex_to_bytes(pubkey))
146
149
  data.store_uint(0, 16)
147
-
150
+
148
151
  options = StateInitOptions.new(code: code, data: data.cell)
149
152
  TonSdkRuby::StateInit.new(options)
150
153
  end
151
154
  end
152
155
  end
153
-
154
-
155
-
156
-
157
-
158
-
159
-
160
-
161
-
162
-
163
-
164
-
165
-
166
-
167
-
168
-
169
-
170
-
171
-
172
-
173
-
174
-
175
-
176
-
@@ -43,6 +43,9 @@ module TonSdkRubySmc
43
43
  SUB_WALLET_ID = 698983191
44
44
 
45
45
  class WalletV3Transfer
46
+ extend TonSdkRuby
47
+ extend TonSdkRubySmc
48
+
46
49
  attr_accessor :destination, :bounce, :value, :mode, :body, :init
47
50
 
48
51
  def initialize(destination, bounce, value, mode, body = nil, init = nil)
@@ -56,6 +59,9 @@ module TonSdkRubySmc
56
59
  end
57
60
 
58
61
  class WalletV3
62
+ extend TonSdkRuby
63
+ extend TonSdkRubySmc
64
+
59
65
  attr_accessor :code, :pubkey, :init, :address, :sub_wallet_id
60
66
 
61
67
  def initialize(pubkey, wc = 0, sub_wallet_id = SUB_WALLET_ID)
@@ -41,6 +41,9 @@ module TonSdkRubySmc
41
41
  SUB_WALLET_ID = 698983191
42
42
 
43
43
  class WalletV4Transfer
44
+ extend TonSdkRuby
45
+ extend TonSdkRubySmc
46
+
44
47
  attr_accessor :destination, :bounce, :value, :mode, :body, :init
45
48
 
46
49
  def initialize(destination, bounce, value, mode, body = nil, init = nil)
@@ -54,6 +57,8 @@ module TonSdkRubySmc
54
57
  end
55
58
 
56
59
  class WalletV4
60
+ extend TonSdkRubySmc
61
+
57
62
  attr_accessor :code, :pubkey, :init, :address, :sub_wallet_id
58
63
 
59
64
  def initialize(pubkey, wc = 0, sub_wallet_id = SUB_WALLET_ID)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ton-sdk-ruby-smc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - nerzh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-25 00:00:00.000000000 Z
11
+ date: 2023-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ton-sdk-ruby